Author

Edsger Dijkstra

📖 Overview

Edsger Dijkstra (1930-2002) was a Dutch computer scientist and pioneer in the field of computer programming who made fundamental contributions to software engineering, distributed computing, and algorithm design. His work laid crucial foundations for modern programming methodology and computer science theory. Dijkstra developed the algorithm for finding shortest paths in graphs, now known as "Dijkstra's algorithm," which remains widely used in networking and transportation applications. He also made influential contributions to concurrent programming through his work on semaphores and the concepts of mutual exclusion and deadlock prevention. As an educator and thought leader, Dijkstra promoted structured programming and fought against the use of GOTO statements, publishing his famous paper "Go To Statement Considered Harmful." His emphasis on mathematical rigor and program correctness influenced generations of computer scientists and software developers. Dijkstra received numerous honors including the 1972 Turing Award, considered computing's highest distinction. His collection of handwritten manuscripts, known as EWDs, contains over 1300 papers addressing various aspects of computing science and continues to influence researchers and practitioners in the field.

👀 Reviews

Readers praise Dijkstra's clear, direct writing style and his ability to distill complex concepts into understandable principles. Many cite his EWD manuscripts as transformative for their understanding of programming methodology and algorithm design. Liked: - Mathematical precision and logical reasoning - Focus on program correctness and formal verification - Sharp wit and uncompromising stance on quality - Handwritten notes that feel personal and authentic Disliked: - Writing can come across as arrogant and dismissive - Some arguments seen as too idealistic/impractical - Harsh criticism of popular programming languages - Papers require strong mathematical background On Goodreads, his collected works "Selected Writings on Computing" averages 4.3/5 stars from 89 ratings. Individual EWD manuscripts shared online receive consistent praise from computer science students and professionals, though some criticize his combative tone. One reader notes: "Brilliant insights wrapped in brutal honesty - not for the thin-skinned." Many programming forums reference and debate his ideas, particularly around structured programming and the GOTO controversy, showing his lasting influence on software development discussions.

📚 Books by Edsger Dijkstra

A Discipline of Programming (1976) A systematic approach to program construction using predicate transformers and formal reasoning methods.

Selected Writings on Computing: A Personal Perspective (1982) A collection of essays, lectures, and notes covering programming methodology, computer science education, and mathematical reasoning.

A Method of Programming (1988) A textbook presenting systematic program development methods using calculational techniques and formal derivation.

Predicate Calculus and Program Semantics (1990) A mathematical treatment of program semantics using predicate calculus and weakest precondition transformers.

EWD manuscripts (1959-2002) A numbered series of over 1300 papers, memos, and notes covering computing science, mathematics, and academic life, distributed among colleagues.

Making a Fair Choice (1993) A mathematical analysis of distributed computing problems focusing on fairness in concurrent programming.

A Tutorial on the Split Binary Semaphore (1979) A detailed explanation of concurrent programming concepts using binary semaphores as the primary example.

👥 Similar authors

Donald Knuth created fundamental texts on computer science algorithms and mathematical programming. He shares Dijkstra's focus on precise, formal approaches and wrote extensively about the relationship between mathematics and programming.

Tony Hoare developed key concepts in programming language theory and formal verification methods. His work on program correctness and structured programming aligns with Dijkstra's emphasis on program proving and systematic design.

David Gries wrote extensively on programming methodology and formal program development. His work on program derivation builds directly on Dijkstra's methods and extends them into practical teaching approaches.

Niklaus Wirth created several programming languages and wrote about systematic program construction. His focus on simplicity and mathematical rigor in programming mirrors Dijkstra's philosophical approach.

Leslie Lamport developed foundational work in distributed systems and formal specification methods. His writings combine mathematical precision with practical system design, similar to Dijkstra's integration of theory and practice.