Epoch ReadingVisual one-pagerProgramming classics

Dijkstra, “Go To Statement Considered Harmful”

CACM, March 1968 — two pages that started structured programming. Sized to its source: a short letter gets a short page.
Edsger W. Dijkstra · letter to the editor Comm. of the ACM, March 1968 · pp. 147–148 "Started 08/09/26 @ 8:20 A.M." → "Done 08/09/26 @ 9:05 A.M." · both pages inked
◆ His closing note — labeled "1 sentence summary/lingering(?) question"
"If telling a program in a next step/program to 'go to' unsettled information is an issue, would the solution be installing a 'wait for check' of sorts before moving on(?)"
The reader's own exit from the letter — and it is, in substance, the answer 1968 landed on: replace the unbridled jump with structures that guarantee the state you arrive at is settled. The question reinvents structured programming from the primary source, forty minutes in.
01The letter's one idea

The program is not the process

Dijkstra's argument, as the margins tracked it: a program is static text; the process it produces spreads out in time — and human brains are bad at the second thing. The margin at the handoff problem: "Hard for programmers to visualize scale of that operation at times post handoff / even while building." Unbridled go to destroys the coordinates you'd need to say where the process even is — the margin's phrase for it: "Moving target of linear action statuses."

PROGRAM (static text) PROCESS (spread out in time) go to — the jump that loses the place
Margin — first contact with the jump Does 'go to' = 'loop' (?) for a CPU(?) — so could mean something that happens later vs what [is] setup to occur. Working out the primitive from the 1968 text alone, no CS course in between — and landing on exactly the later-vs-setup split the letter turns on.
Margin — procedure-call coordinates I imagine the indexes get very longggg. At the textual-index machinery. Then, at values living outside the programmer's control: "Is this essentially an uncontrollable loop that points at one initial action then [calls] out(?)" — the failure mode sketched before Dijkstra names it.
02Same morning, same idea

The accidental double feature

This letter opened five minutes after the Bitcoin whitepaper's Done stamp — and the margins treat them as one subject. Satoshi: don't accept a payment until the chain proves the state. Dijkstra: don't jump a program into state you can't prove you've reached. His closing wait-for-check question is the same guard rail both papers reach for, inked by a reader who noticed the rhyme in real time. At the references, Böhm and Jacopini — the men who proved go-to unnecessary — get the morning's lightest ink: "Old Italian dude(?)" and a "LoL."

03The stamp

Forty-five minutes, both pages inked, and the structured-programming answer arrived as a question in the margin before history confirmed it.

"Done 08/09/26 @ 9:05 A.M." — second finish of the morning. Licklider's "Man-Computer Symbiosis" carries a start stamp nineteen minutes later.