March 1968

Dijkstra: Go To considered harmful

Dijkstra's letter to the Communications of the ACM editor — titled "GoA language from Google — simple syntax, fast compilation, and built-in concurrency via goroutines. To Statement Considered Harmful" — attacks unstructured jumps in code.

Quote

For a number of years I have been familiar with the observed development that program code containing go to statements cancels out the advantages of structured programming.

What it was for

Edsger W. DijkstraThe title became a meme decades before Twitter. FortranFormula Translation — one of the first high-level languages, dominant in science and engineering. and BASICBeginner's All-purpose Symbolic Instruction Code — an early programming language designed for ease of learning. programmers had lived on GOTO; Dijkstra argued that structured control flow made programs easier to reason about. The debate still echoes whenever someone reaches for a quick escape hatch.

People

  • Edsger Dijkstraresearcher

Why it's here

One of the earliest flame wars in software engineering, dressed as a one-page letter.

Why it mattered

It helped mainstream structured programming and later influenced language design.

What it solved

Spaghetti code from arbitrary jumps was hard to verify and maintain.

Media

  • Edsger W. Dijkstra
    ImageEdsger W. Dijkstra

    Hamilton Richards, CC BY-SA 3.0, via Wikimedia Commons

Related