Edsger W. Dijkstra

The Dutch computer scientist who insisted that programming was a mathematical discipline and that clarity of thought was the only acceptable substitute for a proof.
Edsger Dijkstra believed that programming was too important to be left to programmers who did not think rigorously. In a career spanning five decades — from the first Dutch computer to the University of Texas at Austin — he produced foundational algorithms, coined the concept of the semaphore, and argued so effectively for structured programming that the field largely reorganised itself around his convictions.
Formation in Rotterdam
Dijkstra was born on 11 May 1930 in Rotterdam. He intended to study law before a summer course in programming in Cambridge in 1951 convinced him that computing was the more urgent discipline. He joined the Mathematical Centre in Amsterdam, where he wrote the first compiler for the ALGOL 60 language and worked on the first Dutch computer, the ARRA.
He received his PhD from the University of Amsterdam in 1959 under Adriaan van Wijngaarden, with a thesis on communication between processes — a problem that would occupy him for much of his career. In 1962 he became professor of mathematics at the Eindhoven University of Technology, where he remained until 1984.
The shortest path and the semaphore
In 1956, working at the Mathematical Centre, Dijkstra solved a problem a colleague had posed informally: find the shortest path between two cities on a map. He designed an algorithm — now universally called Dijkstra's algorithm — in roughly twenty minutes at a café, without pencil and paper. He published it in 1959. It remains one of the most widely used algorithms in graph theory, underlying routing protocols in computer networks and navigation systems worldwide.
Equally consequential was his 1965 paper introducing the semaphore — a synchronisation primitive allowing concurrent processes to coordinate access to shared resources without producing race conditions or deadlock. The semaphore became a cornerstone of operating systems design. His formulation of the dining philosophers problem — five philosophers alternating between eating and thinking, sharing chopsticks — became the canonical illustration of the hazards of concurrent resource allocation.
Structured programming and the GOTO controversy
Dijkstra's 1968 letter to the Communications of the ACM, titled "Go To Statement Considered Harmful," argued that the unrestricted GOTO instruction made programs impossible to verify by inspection or proof, and should be eliminated from high-level languages. The letter ignited a debate that ran for years but ultimately prevailed: modern structured languages (C, Pascal, Java, Python) do not need GOTO.
Testing shows the presence, not the absence, of bugs.
His deeper argument was that program correctness should be established by mathematical proof, not by testing. With colleagues he developed the formal method of predicate transformers and weakest preconditions for reasoning about program behaviour before it runs. These ideas were codified in his 1976 monograph A Discipline of Programming.
The EWD manuscripts
From the mid-1960s onward, Dijkstra composed a long series of private manuscripts — numbered EWD 001 through EWD 1318 — covering mathematics, computing, and academic culture. Written by hand and distributed by post to colleagues worldwide, they mixed technical results with trenchant opinions on how the field was (and was not) thinking. After his death, the University of Texas digitised the complete collection.
In 1984 he moved to Austin as the Schlumberger Centennial Chair in Computer Sciences, a post he held until his retirement in 1999. He received the ACM Turing Award in 1972.




