Edsger W. Dijkstra (1930–2002) was a Dutch computer scientist whose work helped define modern programming, algorithms, and operating systems.
Key technical contributions
- Dijkstra’s algorithm: A shortest‑path algorithm for weighted graphs, devised in the 1950s and published in 1959, still foundational in routing, navigation, and networking.
- Structured programming: He was a leading advocate of structured programming and a critic of unrestrained GOTO, famously arguing against it in a 1968 letter often titled “Go To Statement Considered Harmful.”
- Concurrency primitives: Introduced semaphores and worked on mutual exclusion, which underpin synchronization in modern operating systems and concurrent programming.
- Operating systems: Designed the layered “THE” operating system, a classic example of OS structuring using layers and virtual memory.
- Other algorithms and concepts: Developed the shunting-yard algorithm (expression parsing), the Banker’s algorithm (deadlock avoidance), contributed to minimum spanning tree work for wiring layouts, and introduced the notion of self‑stabilizing distributed systems.
Recognition and influence
He received the ACM A.M. Turing Award in 1972 for fundamental contributions to programming as a rigorous intellectual discipline. His collected manuscripts (EWDs) and essays strongly influenced how computer scientists think about correctness, abstraction, and elegance in program design. He often summarized his view of the field with the line: “Computer science is no more about computers than astronomy is about telescopes.”