Hall of FameEdsger W. Dijkstra19687 min readintermediate
Go To Statement Considered Harmful
Summary
Edsger Dijkstra argues that the `go to` statement should be abolished from higher-level programming languages due to its detrimental effect on program quality and readability. He posits that `go to` makes it difficult to reason about program state and progress, unlike structured control flow which provides clear, manageable execution coordinates.
- The density of `go to` statements correlates inversely with program quality.
- Unconstrained `go to` statements make it hard to find meaningful coordinates to describe program progress.
- Structured control flow (conditionals, loops, procedures) allows for a clear, programmer-independent way to track execution.
- Human intellect is better suited to mastering static program relations than visualizing dynamic processes.
This foundational paper significantly influenced the shift towards structured programming, impacting language design and software engineering practices for decades.
9/10
