CONCEPT
Structured Programming
Dijkstra's disciplined alternative to arbitrary
go to control flow — programs composed from
sequences, selections, and iterations, each with single entry and single exit, so the logic can be reasoned about hierarchically.
Structured programming is the discipline Dijkstra proposed in the late 1960s to rescue programs from the unanalyzable tangle that unrestricted control transfer produced. It replaced the arbitrary jump with a small set of composable control structures — sequence, selection, iteration — each of which has a single entry point and a single
exit point. The constraint looked like a limitation, but it was in fact an enabler: by giving up the freedom to branch anywhere, programmers gained the ability to reason about each block independently and compose the verifications into a proof of the whole. Structured programming is the engineering realization of Dijkstra's deeper conviction that program structure and human understanding are not independent variables but two names for the same thing.
In The You On AI Field Guide
The immediate trigger for structured programming was Dijkstra's 1968 letter, but the argument had been forming for nearly two decades. Programs written with unrestricted go to statements could be perfectly correct