| In OP's post, Dijkstra explicitly points out that APL aficionados don't seem to be able to write programs without an implementation (i.e. computer+special characters keyboard) while according to him Programming is about humans manipulating symbols and hence should be doable with pencil and paper. The reason why is what EWD1036 elaborates beautifully. My second comment with excerpts here https://news.ycombinator.com/item?id=47985605 follows on the previous (which talked about Programs) with Dijkstra's views on Programming Language. This is what should have been discussed in this thread since it shows quite clearly the reasons for Dijkstra's uncompromising stand in the note. Roger Hui then argues that Dijkstra may have been hasty in his conclusion since Ken Iverson clearly invented APL explicitly as a notation for mathematical communication (his famous paper "Notation as a Tool of Thought") and therefore Dijkstra's insistence on writing a program formally (i.e. with proof) should be natural in APL. He then demonstrates it with a couple of examples making it a nice teaching lesson. But "adregan" focused on some trivial phrase that Dijkstra had employed, imagined a silly slight in his head and labelled Dijkstra a "miserable ass" without having understood anything in the note (his comment has no relevance to the post). Apparently Dijkstra has not demonstrated any "positive attitude" in any of his voluminous writings! The ignorance was so breathtaking that i could not resist throwing a wall of excerpts from EWD1036 for his (and others) edification. > I personally don't think that being right ever excuses the method of delivery; there's always a way to be just as right and convincing without being an asshole ... This is more nuanced then you seem to think. One can be aphoristic/pithy/sharp/biting/assertive/etc. all without being an asshole. When it comes to communication, particularly of difficult scientific/mathematical abstract concepts/ideas one needs to be precise/specific so that the listener's attention is focused on the essence and not on the frills. Dijkstra did this masterfully and that is why people love to read his EWDs. When he makes a sharp observation or gives a biting opinion, it grabs your attention and you immediately start asking why/what-does-he-mean which more often than not leads to great insights. I also pointed to the influence of time and context on Dijkstra's writings. Programming was at its infancy with Computers/OSes/Compilers/Languages/Tools all being unreliable since there was no unifying scientific principles underlying them. His knowledge of Mathematics gave him the one solid foundation on which he could build the "Science of Programming" which he did with masterful finesse and uncompromising attitude. Lastly, Dijkstra was Dutch and culturally their society is known for their "straightforwardness" i.e. "say it as it is" way of communication - https://www.bbc.com/travel/article/20180131-where-dutch-dire... |
The only thing that I feel bears repeating is that I also compared Dijkstra to Ken Iverson—a mathematician who worked in the same time period and also taught in North America—who didn’t (as far as I have seen) muddy the waters of his writings/teachings with superfluous insults.
Note that Roger Hui here foregrounds the fact that
> Ken Iverson invented his notation as a means of communications among people
(Emphasis mine) and I think that it is important that this fact of APL is conflated against one’s desire to prove a program. A fact which Hui says has little to do with the correctness of the result.
One aspect of the original which I believe you are eliding over, but which I focused on and tacitly referenced (wouldn’t be an APL discussion without a little tacit programming reference), is that in conveying one’s ideas or proofs, one can distract from their point by introducing unrelated jabs or insults. I believe this fact is present in Roger Hui’s writing.