Skip to main content

Art & Creativity Quote by Alan Perlis

"There are two ways to write error-free programs; only the third one works"

About this Quote

Perlis lands the punchline with a programmer's deadpan: yes, there are "two ways" to write bug-free code, and no, you don't get to use either. The line is structured like a tidy little theorem, then it detonates itself. That self-canceling logic is the point. It mocks the fantasy that software can be made spotless through purity, discipline, or some magic methodology. You can almost hear the implied options: write a trivial program, or never run it. Both produce perfection; both are useless. The only method that "works" is the messy, third way: ship imperfect code, observe failure, iterate, and keep paying the tax of complexity.

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

TopicCoding & Programming
Source
Verified source: Epigrams on Programming (Alan Perlis, 1982)
Text match: 100.00%   Provider: Cross-Reference
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.

More Quotes by Alan Add to List
Two Ways to Write Error-Free Programs - The Third Works
Click to enlarge Portrait | Landscape

About the Author

Alan Perlis

Alan Perlis (April 1, 1922 - February 7, 1990) was a Scientist from USA.

26 more quotes available

View Profile

Similar Quotes

Wietse Venema, Scientist
Henri Poincare, Mathematician
Henri Poincare