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.

Study the guided reading in Bits →