In March 1968 the Communications of the ACM published a short letter by Edsger W. Dijkstra under the title “Go To Statement Considered Harmful.” It became one of the most cited and most argued-over short pieces in the history of programming.
Dijkstra’s point was that the go to statement, which lets control jump to any labeled point in a program, makes it hard to relate the running program to its written text. Without that link, he argued, a programmer cannot easily reason about what the program is doing at any moment. His sharpest line states that “the quality of programmers is a decreasing function of the density of go to statements in the programs they produce.”
The manuscript behind the letter survives in the E. W. Dijkstra Archive at the University of Texas as EWD215, where it carries Dijkstra’s own chosen title, “A Case against the GO TO Statement.” The more famous “considered harmful” wording was supplied by the journal’s editor when the letter was published.
The letter pushed the wider move toward structured programming, in which programs are built from a few well-behaved control structures rather than arbitrary jumps. The debate it started ran for years, but its core advice, to favor clear control flow over unrestricted jumps, became standard practice.