Our Favorite Computer Science Quotations


An ever growing list of quotations about computer science, with an emphasis on software maintenance. Started by Ken, updated by him and the SciTools staff. Feel free to share your favorite quote – [email protected]


‘Sometimes, the elegant implementation is a function. Not a method. Not a class. Not a framework. Just a function.’ — John Carmack

“Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all.”

-Drunk Programmer (Reddit)

‘The cheapest, fastest and most reliable components of a computer system are those that aren’t there.’

– Gordon Bell

Software is always the slave of its own history, its own legacy.”
– Jaron Lanier

“The thing I like the most is deleting code.”

–Jason “Hack” Haslam, Senior Engineer, Scitools

“We build our computer(systems) the way we build our cities: over time, without a plan, on top of ruins.”

– Ellen Ullman

“The realization came over me with full force that a good part of my life was going to be spent in finding errors in my own programs.”

— Maurice Wilkes, Memoirs of a Computer Pioneer

‘A successful software tool is one that was used to do something undreamed of by its author.’

— Stephen Johnson

(note from Ken: We see examples of this almost every day with Understand).

Bad Documentation is worse than no documentation.”

— Unknown source

“premature optimization is the root of all evil.”

— Donald Knuth

‘One of my most productive days was throwing away 1000 lines of code.’

— Ken Thompson

Computer science is no more about computers than astronomy is about telescopes.
— Edsger Dijkstra*

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

— Martin Fowler

If debugging is the process of removing software bugs, then programming must be the process of putting them in.

— Edsger Dijkstra

The purpose of software engineering is to control complexity, not to create it.

Pamela Zave

Before software can be reusable, it has first to be usable.

Ralph Johnson

Optimization of clear code is easy. Clarification of optimized code is hard.

–Michael Feathers

All problems in CS can be solved by another level of indirection, except for the problem of too many layers of indirection.

–David Wheeler

Strive to add function by deleting code.

–Jon Bentley

No matter how slow you are writing clean code, you will always be slower if you make a mess.

–@UncleBobMartin (Twitter)

About 1,000 instructions is a reasonable upper limit for the complexity of problems now envisioned.

–John von Neumann (1946)

Hardware eventually fails. Software eventually works.

–Michael Hartung

Inside every large program is a small program trying to get out.

–Tony Hoare

Programming is a Dark Art, and it always will be. The programmer is fighting against the two most destructive forces in the universe: entropy and human stupidity. These are not things you can overcome with a “methodology” or on a schedule.

–Damian Conway

Debugging is like being the detective in a crime movie where you are also the murderer.

–Filipe Fortes

Code is like poetry; most of it shouldn’t have been written.

–David Jacobs