Top
Best
New

Posted by nathan-barry 11/9/2025

The Manuscripts of Edsger W. Dijkstra(www.cs.utexas.edu)
268 points | 125 commentspage 2
bobsh 11/9/2025|
This is a treasure (it’s been around quite a while). For those youngers out there: still completely relevant. Still ahead of the game, imho.
fallat 11/9/2025|
I've read them all. While they are fun to read as their commentary come from a place of logic, there is a lot of emotion baked in and little room for being open minded about potential alternatives that could find their ways to reality. Dijkstra was very smart but you can tell thinking is a little closed, which is not objectively bad, but it happens a little too much for my taste.
linguae 11/9/2025||
I love Dijkstra’s writings, but, yes, he had very strong opinions that at times were abrasive. Alan Kay said it best when he said, “arrogance in computer science is measured in nano-Dijkstras.”

Some famous Dijkstra quotes: “It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration.”

“Object-oriented programming is an exceptionally bad idea which could only have originated in California.”

As a UC Santa Cruz masters alum, my favorite Dijkstra quotes come from notes from his visit to UCSC in the 1970s (https://www.cs.utexas.edu/~EWD/transcriptions/EWD07xx/EWD714...):

“I found the UCSC campus not an inspiring place, and the longer I stayed there, the more depressing it became. The place seemed most successful in hiding all the usual symptoms of a seat of learning. In the four-person apartment we occupied, only one of the four desks had a reading lamp, and the chairs in front of the desks were so low that writing at the desks was not comfortable. Probably it doesn't matter. Can UCSC students write? Do they need to? The notice boards showed ads from typing services "Grammar and spelling corrected.". (One of these ads itself contained a spelling error!)”

shagie 11/10/2025|||
> I love Dijkstra’s writings, but, yes, he had very strong opinions that at times were abrasive. Alan Kay said it best when he said, “arrogance in computer science is measured in nano-Dijkstras.”

https://news.ycombinator.com/item?id=11796926

    alankay on May 30, 2016 | next [–]

    This quote keeps on showing up out of context. Edsger and I got along quite well. He loved to be the way he was and pushed it. ...
(and yes, I left that out of context so that people would go read the whole thing)
wara23arish 11/9/2025||
I was taught at UT. Apparently Djikstra would make his students take exams with pens instead of pencils.

Less likely to make mistakes if you can’t erase

4b11b4 11/9/2025||
I really enjoyed the this one:

Some meditations on Advanced Programming

https://www.cs.utexas.edu/~EWD/transcriptions/EWD00xx/EWD32....

As I'm currently in a Functional Programming course in Haskell... This resonated.

I know that we'll always need to write programs which directly interface with memory.

However, when we don't need to do that... Maybe we shouldn't write programs in this style (i.e. imperative). Maybe we shouldn't even use an imperative language (I know, that's a stretch, many languages have incorporated functional aspects and we can utilize them instead of trying to avoid the language entirely).

---

Dijkstra ends EWB 32 with:

"Smoothly we have arrived at the third component of our tool, viz. the language: also the language should be a reliable one. In other words it should assist the programmer as much as possible in the most difficult aspect of his task, viz. to convince himself —and those others who are really interested— that the program he has written down defines indeed the process he wanted to define."

"As my very last remark I should like to stress that the tool as a whole should have still another quality. It is a much more subtle one; whether we appreciate it or not depends much more on our personal taste and education and I shall not even try to define it. The tool should be charming, it should be elegant, it should be worthy of our love. This is no joke, I am terribly serious about this. In this respect the programmer does not differ from any other craftsman: unless he loves his tools it is highly improbable that he will ever create something of superior quality."

At the same time these considerations tell us the greatest virtues a program can show: Elegance and Beauty."

---

Functional languages... help us achieve these aims.

commandersaki 11/10/2025||
You should read the correspondence between Dijkstra and John Backus and contrast that with your view of Functional Programming.

https://medium.com/@acidflask/this-guys-arrogance-takes-your...

bdamm 11/9/2025||
Alas, I live an a world where efficiency does actually matter, and elegance to me includes efficiency. I live in a world of embedded software, portability, and reliability. In this regard, almost every single functional language is an utter failure, because they require runtimes and big fat common libraries. Even golang is borderline. Haskell has little chance.

Generally I think this does answer the question about why functional languages don't dominate more than they do - although you could make an argument that JavaScript is a functional language, and it certainly is enjoying a lot of dominance these days. JS environments aren't known for being particularly efficient, though. To me, efficient use of resources is elegant, and a language needs to be able to do that.

linguae 11/9/2025|||
You brought up something interesting. I believe academic computer science originated from at least three cultures: pure mathematics (Church, Turing, Kleene, Dijkstra), electrical engineering, and psychology (Licklieder). I say “at least” since there may be other cultures I’ve overlooked. These three cultures have different views on programming: the EE-based culture emphasizes taking full advantage of the underlying hardware, the math-based culture emphasizes proof, and the psychology-based culture emphasizes human factors.

The challenge is reconciling these three views of programming: the holy grail is a programming language that is ergonomic and expressive, yet is also amenable to mathematical reasoning and can be implemented efficiently. I wonder if there is a programming language theory version of the CAP theory in distributed systems, where one compares performance, ease of mathematical reasoning about code, and human factors?

mrkeen 11/9/2025|||
Your environment is probably not more constrained than this: https://github.com/Copilot-Language/copilot
bdamm 11/15/2025||
That is really quite cool, and unlike any functional language I've seen.
kace91 11/9/2025||
Completely silly fact: knowing 0 about the guy except that he gave his name to the famous algorithm, I had somehow assumed he was Indian. Weird to see a white Dutchman in the picture.
wowczarek 11/9/2025||
All comes down to some degree of "linguistic intuition", that one acquires from not necessarily speaking foreign languages, but some exposure and proximity to them. My bet is that most Europeans, faced with "Edsger Dijkstra" would have instinctively pointed towards the general direction of Holland and upwards.
kace91 11/10/2025||
Funnily enough, I’m western European, have visited the Netherlands several times and I’m friends with some Dutch people.

No idea how this slipped by for so long.

porridgeraisin 11/9/2025|||
(Curious) How did Edsger Dijkstra sound like an indian name to you?
kace91 11/9/2025||
I knew an Indian woman named Divya, perhaps my mind thought it looked similar in print?

I don’t think it was ever a conscious decision. It’s similar to how I always pictured Jane Austen as a sarcastic woman in her forties while reading her books, but she wrote her most famous works being borderline a teenager. Your mind just fills things up I guess.

Scarblac 11/10/2025||
Dutch is the only language I know that uses the "ij" digraph, where other languages write "ei", "ay", maybe "y".
capestart 11/10/2025||
Always fascinating how Dijkstra’s writings feel just as relevant today. His clarity of thought on simplicity and structure in code still sets a standard we rarely reach.
kwa32 11/9/2025||
[dead]
webdevver 11/9/2025|
the only meaningful contribution this guy made was his prose. certainly a talented constructor of sentences, i could never write as precisely as him.

but as far as meaningful technical contributions, i struggle to find anything. his path search algorithm, no offence, is self-evident.

for all the disdain he appears to have had for (what we now call) the 'move fast and break things' style of engineering/science, they were the ones that gave us everything today. you innovate by running experiments, not philosophising and writing proofs.

in retrospect he probably should have stayed on his initial discipline, theoretical physics.

rramadass 11/10/2025|
The most charitable thing i can say about your comment is;

who had a fashion of calling every thing "odd" that was beyond his comprehension, and thus lived amid an absolute legion of "oddities." -- from "The Purloined Letter" by Edgar Allan Poe.

To dismiss you/your comment;

“Mediocrity knows nothing higher than Itself; but Talent instantly recognizes Genius.” -- from "The Valley of Fear" by Arthur Conan Doyle.

To deflate your claim of Dijkstra's Algorithm being "self-evident";

Students Struggle with Concepts in Dijkstra's Algorithm -- https://dl.acm.org/doi/fullHtml/10.1145/3632620.3671096

Edsger Dijkstra contributed to;

  1) Algol60 language/compiler 
  2) THE Operating System 
  3) Graph Algorithms (shortest-path etc.) 
  4) Concurrent Algorithms (semaphores, CSP etc.) 
  5) Distributed Algorithms (dining philosophers etc.)
  6) Fault-Tolerant Computing (which he called "Self-Stabilizing Systems") 
  7) Programming Language Design (GCL etc.) 
  8) Structured Programming Techniques. 
  9) Program Correctness Methodologies based on Predicate Calculus to derive Programs (weakest-precondition etc.)
  10) Essays giving insights into "How to Think and Reason Systematically" using commonsense and mathematical Tools.