"There are two ways to write error-free programs; only the third one works"
About this Quote
The subtext is a warning about engineering culture. People crave certainty, especially in domains where systems are opaque and failures are humiliating. Perlis punctures that craving by treating "error-free" as a category error, not a realistic target. His joke is also an argument about scale: the moment a program becomes interesting enough to matter, its state space explodes beyond what any human can fully anticipate. Bugs aren't moral lapses; they're statistical inevitabilities.
Context matters here. Perlis wrote during the rise of high-level languages and increasingly ambitious systems, when computing was shifting from controlled lab conditions to sprawling, real-world infrastructure. The quote reads like an early antidote to techno-optimism: progress in software isn't the elimination of mistakes, it's building practices and tools that make mistakes survivable.
Quote Details
| Topic | Coding & Programming |
|---|---|
| Source | Verified source: Epigrams on Programming (Alan Perlis, 1982)
Evidence:
There are two ways to write error-free programs; only the third one works. (Epigram #40 (article spans pp. 7–13)). This line appears as epigram #40 in Alan J. Perlis’s set of epigrams. The primary publication is cited as ACM SIGPLAN Notices, Vol. 17, No. 9 (September 1982), pp. 7–13 (often referenced with DOI 10.1145/947955.1083808). The Yale CS page reproduces the epigrams and explicitly attributes them to the ACM SIGPLAN publication (September 1982). ([cs.yale.edu](https://cs.yale.edu/homes/perlis-alan/quotes.html)) |
| Cite |
Citation Formats
APA Style (7th ed.)
Perlis, Alan. (2026, February 8). There are two ways to write error-free programs; only the third one works. FixQuotes. https://fixquotes.com/quotes/there-are-two-ways-to-write-error-free-programs-96923/
Chicago Style
Perlis, Alan. "There are two ways to write error-free programs; only the third one works." FixQuotes. February 8, 2026. https://fixquotes.com/quotes/there-are-two-ways-to-write-error-free-programs-96923/.
MLA Style (9th ed.)
"There are two ways to write error-free programs; only the third one works." FixQuotes, 8 Feb. 2026, https://fixquotes.com/quotes/there-are-two-ways-to-write-error-free-programs-96923/. Accessed 12 Feb. 2026.







