Software reasoning · 1968 · Edsger W. Dijkstra
Go To Statement Considered Harmful
Structure control flow so a human can map source position to meaningful execution state and make correctness tractable.
The central move
Structure control flow so a human can map source position to meaningful execution state and make correctness tractable.
Why it had to exist
Growing programs used unrestricted jumps that produced execution paths humans could not name or reason through locally. The problem was cognitive state space, not syntactic taste.
Where it leads
Structured control → compositional reasoning → functions and types → maintainable software systems.