Luminary abuse


From:     Norman Ramsey
Date: 22 Oct 1993
["chunk"] is perhaps the kind of word (like 'memory' and 'flavor') bound to meet with the disapproval of Edsger Dijkstra

What stronger endorsement could anyone ask for?


From:     Dave Mason
Date: 24 Oct 1993
["chunk"] is perhaps the kind of word (like 'memory' and 'flavor') bound to meet with the disapproval of Edsger Dijkstra

Norman Ramsey writes: What stronger endorsement could anyone ask for?

Wow, one week Preston says that Knuth doesn't write readable webs, and the next week Norman implies that any putative anti-endorsement by Dijkstra is good enough for him! What can we say bad about Tony Hoare, Nicholas Wirth, Alan Kaye, Al Aho or Ken Thompson next week? (apologies to any luminaries I forgot to nominate for abuse)

I am no-one to talk, but I tend to agree with Preston. (Knuth is brilliant, but I believe TeX-the-Program and Metafont-the-Program are significant dis-incentives to the spread of literate programming. Virtually anyone I have tried to interest in literate programming who has seen TtP uses it as a counter to my arguments. This may be an argument that TtP is outside the domain of program sizes for which web works well -- maybe hypertext web would be better. I am not sure the programs Knuth wrote for Jon Bentley's column are completely convincing either -- I think they are perhaps too clever and didactic.)

While Dijkstra has many extreme ideas, I think anybody dismisses him at their intellectual peril. My experience is that ideas like literate programming mesh very well with Dijkstra's ideas on program development. (I am not implying that Norman was dismissing him.) In general I think ritual luminary abuse is probably not very constructive.


From:     Matthias Neeracher
Date: 24 Oct 1993
Dave Mason writes: Wow, one week Preston says that Knuth doesn't write readable webs, and the next week Norman implies that any putative anti-endorsement by Dijkstra is good enough for him! What can we say bad about Tony Hoare, Nicholas Wirth, Alan Kaye, Al Aho or Ken Thompson next week?

This is a little off-topic, but how about Alan Perlis et al. abusing Tony Hoare? "C.A.R. Hoare has been quoted as saying, `In many applications, algorithm plays almost no role and certainly presents almost no problems.' (We wish we could report that he thereupon threw up his hands and abandoned verification, but no such luck.)" -- DeMillo, Lipton, and Perlis, "Social Processes and Proofs of Theorems and Programs"

I am no-one to talk, but I tend to agree with Preston. (Knuth is brilliant, but I believe TeX-the-Program and Metafont-the-Program are significant dis-incentives to the spread of literate programming.

I disagree. While they might profit from some more global documentation (maybe a diagram of where the various parts fit in), I still believe that they are excellent examples of literate programming.

While Dijkstra has many extreme ideas, I think anybody dismisses him at their intellectual peril.

My problem with Dijkstra is that he pontificates about topics that he appears to have less and less experience with. Does anybody here happen to know when Dijkstra last wrote himself a program of any substantial size? I would assume that he has not done so for at least 15 years. Dijkstra is bound to generate resentment with people actually working with computers when he declares that advanced debuggers are unnecessary and harmful, and some system designers actually take him seriously, or when he declares that he does not have time to use word processors and writes everything with a fountain pen (As he did in a CACM article; I don't remember him having made any mention of his Secretary in that article).

My experience is that ideas like literate programming mesh very well with Dijkstra's ideas on program development.

This is probably true, as literate programming is very well suited to stepwise refinement and having comments typeset is very advantageous if you want to do formal reasoning on the program.

In general I think ritual luminary abuse is probably not very constructive.

I am not so sure of that. Dijkstra himself seems to have built a considerable part of his reputation on polemics (I mean, who would remember him without "goto statement considered harmful") and has never stopped short of abusing his colleagues (Dijkstras "Selected Writings on Computing: A Personal Perspective" contains a few remarks so nasty that the names of the targets had to be removed out of legal concerns).


From:     Steve Avery
Date: 25 Oct 1993
Dave Mason says: Knuth is brilliant, but I believe TeX-the-Program and Metafont-the-Program are significant dis-incentives to the spread of literate programming.

Sure, but you must admit that the original Web for Pascal was a bit primitive (as probably was the version of Pascal that was used). In all fairness, I think it would be wise to wait for Knuth's next book (the precursor to Volume 4) which apparently has literate programs in it, hopefully using CWEB. p.s. And you can't cite CWEB as an example of Knuth's poor programming, as most of it isn't his (and I don't think its that bad an example of programming either).


From:     Norman Ramsey
Date: 25 Oct 1993
Wow, one week Preston says that Knuth doesn't write readable webs, and the next week Norman implies that any putative anti-endorsement by Dijkstra is good enough for him!

Actually I have the greatest respect for Dijkstra's work on program correctness and the calculus of guarded commands. I also, however, have the greatest amusement for his handwriting fetish and other eccentricities. Doubtless I will never make a formalist.

What can we say bad about Tony Hoare, Nicholas Wirth, Alan Kaye, Al Aho or Ken Thompson next week? (apologies to any luminaries I forgot to nominate for abuse)

Now wait a minute! Tony Hoare is my hero.

I am no-one to talk, but I tend to agree with Preston.

Me too (all kidding aside). The details of character translation are much less interesting than the line-breaking and other algorithms.

I am not sure the programs Knuth wrote for Jon Bentley's column are completely convincing either -- I think they are perhaps too clever and didactic.)

I find them completely convincing for what they are --- I think MacIlroy used the phrase "industrial-strength Faberg\'e egg." Impressive and repays careful study. I am eagerly looking forward to the upcoming book.

While Dijkstra has many extreme ideas, I think anybody dismisses him at their intellectual peril. My experience is that ideas like literate programming mesh very well with Dijkstra's ideas on program development. (I am not implying that Norman was dismissing him.)

The disappointing thing about those ideas is that a) they haven't been advanced, changed, or enriched in 15 years b) they are tremendously difficult to apply beyond toy examples In my travels I have met one programmer who uses Dijkstra's methods to write serious software---and this is a guy who is brilliant and has made original contributions to program correctness as well as other areas. This is not to say Dijkstra's methods are useless to mere mortals---I use them every time I write a loop---but to say that they have never delivered on their grand promises.

In general I think ritual luminary abuse is probably not very constructive.

But I am having such fun! OK, so we're far afield from literate programming. I promise to keep my lip buttoned from here on.


From:     Joachim Schrod
Date: 25 Oct 1993
Matthias Neeracher writes: Dijkstra himself seems to have built a considerable part of his reputation on polemics (I mean, who would remember him without "goto statement considered harmful")

At least, I would. For his work on structured programming, his work on multi-processing, his work on compiler construction, on the formal definition of programming languages, on the essence of control structures, on non-determinism, and, and, and. In addition, I can't find polemics in his CACM letter. It was a well reasoned statement about the consequences of the (ab)use of certain control structures. Go ahead and read it again! The discussion afterwards was heated and filled with polemics, but not the letter.

Yes, he's a very arrogant person and he seems not to be in touch with reality often enough -- but he's brilliant, too. Concerning Literate Programming and Dijkstra: Knuth himself acknowledges the influence of the paradigms of Dijkstra on his ideas of programming style.


From:     Mike Yoder
Date: 25 Oct 1993
Matthias Neeracher writes: Dijkstra himself seems to have built a considerable part of his reputation on polemics (I mean, who would remember him without "goto statement considered harmful")

A fact which may be relevant in this context: Dijkstra did not choose this title; it was placed over what had been simply a letter to the editor, as it were, by the publisher. I have read the letter and don't remember its contents as being particularly polemical; perhaps that is because I have seen the claims about the potential harm of gotos borne out both in professional and in academic contexts. Others may disagree, but in my judgment saying that X is harmful isn't polemical when X is, in fact, harmful; nor is it usually polemical even when X isn't harmful. The speaker may, after all, be mistaken.


From:     Lee Wittenberg
Date: 25 Oct 1993
Dave Mason writes: Wow, one week Preston says that Knuth doesn't write readable webs, and the next week Norman implies that any putative anti-endorsement by Dijkstra is good enough for him! What can we say bad about Tony Hoare, Nicholas Wirth, Alan Kaye, Al Aho or Ken Thompson next week? (apologies to any luminaries I forgot to nominate for abuse)

I have to admit that I thought about making the same kind of crack about Dijkstra, myself; I am glad Norman beat me to it. Seriously though, Dijkstra does tend to take extreme positions. I like to believe that he does it primarily to start discussion, rather than because he actualy advocates the extremes, but I tend to think the best of people.

I am no-one to talk, but I tend to agree with Preston. (Knuth is brilliant, but I believe TeX-the-Program and Metafont-the-Program are significant dis-incentives to the spread of literate programming. Virtually anyone I have tried to interest in literate programming who has seen TtP uses it as a counter to my arguments. This may be an argument that TtP is outside the domain of program sizes for which web works well -- maybe hypertext web would be better. I am not sure the programs Knuth wrote for Jon Bentley's column are completely convincing either -- I think they are perhaps too clever and didactic.)

I agree with Preston and Dave on this one, but let us not forget that TeX the Program was Knuth's first literate program. Remember your own early attempts at literate programming, and look at how far you've come since then. I am sure that if Knuth were to write TeX now, the exposition and layout would be totally different. Of course, Knuth does have a Turing-like streak that occasionally substitutes cleverness for clarity, but perhaps that is one of the marks of greatness.

In general I think ritual luminary abuse is probably not very constructive.

Agreed, but it is fun.


From:     Chris Gray
Date: 26 Oct 1993
Matthias Neeracher writes: Dijkstra is bound to generate resentment with people actually working with computers when he declares that advanced debuggers are unnecessary and harmful, and some system designers actually take him seriously,

Hear hear hear hear hear. The system on which I have spent half of my working life started out with that kind of thinking---no need for online debugging, everything will be ``finite message machines'' individually tested beforehand,... several years later, the debugging stuff was all there, but not until the project had soaked up enough unbudgeted man- power to bring one of the world's great multinationals to its knees.