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
More Quotes by Alan Add to List
There are two ways to write error-free programs only the third one works
Click to enlarge Portrait | Landscape

About the Author

USA Flag

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