Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

What's your favourite quote about programming?

One quote per answer, and please check for duplicates before posting!

share

locked by Yannis Sep 14 '12 at 17:07

This question exists because it has historical significance, but it is not considered a good, on-topic question for this site, so please do not use it as evidence that you can ask similar questions here. This question and its answers are frozen and cannot be changed. More info: help center.

closed as not constructive by Walter, ChrisF Feb 7 '11 at 13:10

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

166 Answers 166

There are 10 kinds of people in the world — those who understand binary and those who don't.

share
12  
and those who confuse it with ternary – eds Sep 4 '10 at 1:30
51  
Every base is base 10. – Larry Wang Sep 4 '10 at 3:10
4  
10 in what base? – MIA Sep 21 '10 at 22:37
2  
@Malfist: Click. – g.f Sep 28 '10 at 21:55
2  
all your base 10 are belong to us – Sean Patrick Floyd Nov 12 '10 at 10:08

Keep it simple, stupid!

The KISS principle

share
1  
Is that specifically a programming quote? – Peter Coulton Sep 10 '10 at 19:22
5  
No, it's a generally-applicable engineering principle. – Mason Wheeler Sep 13 '10 at 0:01

Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
  — Stan Kelly-Bootle

share

A clever person solves a problem. A wise person avoids it.
  — Albert Einstein

share
5  
Programming quote? – Jonas Sep 2 '10 at 9:06
22  
This quote is very relevant to programming – finnw Sep 6 '10 at 3:16

Being a good software engineer is 3% talent, 97% not being distracted by the internet.

— Unknown, appropriated

share
5  
That's not true at -- d'oh! – Steve Melnikoff Oct 26 '10 at 15:25
4  
...and 1% avoiding fence post errors. – Roger Pate Oct 28 '10 at 2:35

A computer is a stupid machine with the ability to do incredibly smart things, while computer programmers are smart people with the ability to do incredibly stupid things. They are, in short, a perfect match.
  — Bill Bryson

share

If you want to set off and go develop some grand new thing, you don't need millions of dollars of capitalization. You need enough pizza and Diet Coke to stick in your refrigerator, a cheap PC to work on and the dedication to go through with it.
  — John Carmack

share
    
Yep greatest quote I think so far, especially since Carmack showed multiple times (Commander Keen, Wolfenstein, Doom, Quake, etc) how to do it :) – Nils Jan 20 '11 at 10:03
    
@nils, one word: Daikatana :ducks: – Rice Flour Cookies Jun 20 '11 at 14:02

All problems in computer science can be solved by another level of indirection... Except for the problem of too many layers of indirection.

— David Wheeler

share

What's the simplest thing that could possibly work?

— Ward Cunningham

share
    
I was once at a programming competition, and time was almost up, and we couldn't get our last program to compile. So, in desperation, we deleted the bits that wouldn't compile, and ran the program. And it worked. Perfectly. To this day I have no explanation for how this could be the case because, by our measure, the part that we deleted was the part that was supposed to be doing the work. – Satanicpuppy Jun 20 '11 at 21:25

Testing can only prove the presence of bugs, not their absence.

— Edsger W. Dijkstra

share
    
... so let’s not bother! :) – Timwi Dec 26 '10 at 12:58

There are two major products that come out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence.

Jeremy S. Anderson

share
3  
This quote is wrong. Just wrong. See web.morons.org/feature/rants/bsdlsd.jsp – imgx64 Sep 22 '10 at 3:00
3  
That's a shame because it's a great phrase. – Neil Aitken Sep 29 '10 at 11:26
2  
@Neil: "If 'accurate' isn't a requirement, I could write an arbitrarily great phrase," to paraphrase another quote. :) – Roger Pate Oct 11 '10 at 16:08
2  
What exactly is LSD? – hasen Nov 12 '10 at 10:19
2  
@hasen j, Traditionally, pounds, shillings, and pence, but nowadays a hallucinogen. – TRiG Dec 1 '10 at 18:45

I don't care if it works on your machine! We are not shipping your machine!

-- Vidiu Platon (whoever that is)

share
    
First see programmers.stackexchange.com/questions/39/… – Bert F Sep 8 '10 at 23:42
    
Yeah, I've put this badge on at least one project: codinghorror.typepad.com/.a/… – J.T. Grimes Oct 13 '10 at 23:49

When all you have is a hammer, everything starts to look like a nail

share
1  
Attributed to Abraham Maslow (en.wiktionary.org/wiki/…) – Bill Karwin Sep 9 '10 at 18:05
    
This quote is true, but many times the converse is also true: until you have a hammer, nails are an unsolvable problem. – Dan Rosenstark Dec 26 '10 at 7:35
1  
@Yar Turn your pliers sideways. – Mark C Mar 2 '11 at 21:19
    
Thanks @Mark C that worked, but now the program quits with no stacktrace... – Dan Rosenstark Mar 5 '11 at 8:13
    
@Yar If enough of the nail is sticking out, you can pull it out with your pliers. Not all hammers have a notched end, and some nails can't be pulled out like that (so you need a nail pull). – Mark C Mar 5 '11 at 16:22
Good code is its own best documentation. As you're about to add a comment, ask yourself, 'How can I improve the code so that this comment isn't needed?' Improve the code and then document it to make it even clearer.

-Steve McConnell

share

There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies.

— C.A.R. Hoare

share
up vote 20 down vote
+100

A computer lets you make more mistakes faster than any invention in human history—with the possible exceptions of handguns and tequila.
  — Mitch Ratcliffe

share
1  
I had a specific answer in mind for my bounty originally, but I discovered you can't apply them instantly! So I let it runs its course, and even though there's about a day left, this is my favorite answer from the past week. One I'd heard before, but never knew who said it. Thanks! – Roger Pate Oct 14 '10 at 0:42
    
@RogerP: What was your specific answer? Is it in the big thread? – Mark C Oct 21 '10 at 5:44
    
@Mark: tinyurl.com/knuth-premature – Roger Pate Oct 21 '10 at 5:56
    
@RogerP: You are too easy, trying to give bounties for answers you already know! – Mark C Oct 21 '10 at 6:29

A programmer is a device for turning caffeine into code.

(Not original to me, but associated with me through appearances on DotNetRocks etc. Lifted from a Usenet sig, I long ago forgot whose, which was no doubt inspired by Paul Erdos.)

share
    
Erdõs -- indeed! My grandfather (who knew him!) was fond of the one about mathematicians and coffee. – khedron Sep 23 '10 at 17:54
    
@khedron: Ahem. It’s Erdős, not Erdõs. – Timwi Dec 26 '10 at 12:59
    
@Timwi: My apologies! – khedron Jan 26 '11 at 16:35

There, it should work now.

— All programmers

share

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

Martin Fowler (in his book Refactoring)

share

Beware of bugs in the above code; I have only proved it correct, not tried it.
  — Donald Knuth

share

You wanted a banana but what you got was a gorilla holding the banana and the entire jungle.
  — Joe Armstrong on object-oriented programming

share
2  
Still laughing... |) – AareP Dec 16 '10 at 19:00
    
wouldn't that be more true of VMs ? – Martin Beckett Dec 26 '10 at 2:24
    
The term 'OO' was invented by Smalltalkers, and Smalltalk runs on a VM and is often deployed as a VM image. – 9000 Dec 26 '10 at 19:20

A programmer started to cuss
Because getting to sleep was a fuss
As he lay there in bed
Looping 'round in his head
was: while(!asleep()) sheep++;

Not quite a quote as such, but I little limerick I've always liked.

Source piercings - bash.org/?845468

share
    
quite brilliant! – NickAldwin Sep 8 '10 at 23:54
    
Limerick fans should also check out poetry.about.com/od/poetryplay/l/blwakawaka.htm – MatrixFrog Jul 7 '11 at 17:35

My old answer from SO:

If the code and the comments disagree, then both are probably wrong.

Another good website: "Quotes about Tech Writing"

share
    
So you need code, comments, and something else? en.wikipedia.org/wiki/Triple_modular_redundancy – Rei Miyasaka Dec 28 '10 at 1:42

Any sufficiently advanced technology is indistinguishable from magic.

-- Arthur C. Clarke

share
4  
"Any sufficiently advanced magic is indistinguishable from technology" — Larry Niven. – Joe D Oct 24 '10 at 16:26
2  
"Any technology which is distinguishable from magic is insufficiently advanced." (Can't remember.) – TRiG Dec 1 '10 at 18:53
    
"Any sufficiently advanced being can distinguish technology from magic." – Timwi Dec 26 '10 at 13:03
    
Any sufficiently advanced being cannot tell magic from technology. – Antsan Jan 20 '11 at 20:41
2  
Sufficiently advanced incompetence is indistinguishable from malice. – Glen Solsberry Jan 27 '11 at 21:56

To understand recursion, you first need to understand recursion

share

Software is like sex: it's better when it's free.

— Linus Torvalds

share
9  
Can you split this in two different answers so that they can be voted independently? – Wizard79 Sep 2 '10 at 7:36
8  
The real question is, how did Linus come to find this out? – Kezzer Sep 29 '10 at 14:49
    
[citation needed] :-) – Stefano Palazzo Oct 24 '10 at 20:28
    
@Stefano Palazzo: Read his autobiography "Just For Fun". Oh, and in case you meant the "sex is better when it's free"-part...ahm...that's OT here. ;) – Bobby Oct 29 '10 at 8:51
4  
Software is like sex because it's never really free. – Darel Jan 20 '11 at 19:39

"For a successful technology, reality must take precedence over public relations, for nature cannot be fooled."

-Richard Feynman (Rogers' Commission Report into the Challenger Crash, Appendix F - Personal Observations on Reliability of Shuttle)

More succinctly:

"You can't lie to the compiler."

-Andrew Stevenson

share
    
...or at least if you do lie to the compiler, it will get its revenge. – Jerry Coffin Sep 12 '10 at 22:40
5  
That story still galls me. Imagine that, Dr. Richard Feynman, according to the book I read, had to threaten to withhold his signature unless his account of the accident was included in the official report. It was included as an appendix, so as to say, "The official investigation is over, and now here is some speculation from this eccentric." – Mark C Sep 28 '10 at 12:59

On the seventh day, God said, "Ship it! We'll release patches later."
  — Josh Flachsbart

share

The real question is not whether machines think but whether men do.

— B. F. Skinner

Related more to AI than to simple programming, but I still like it.

share

The difficulty of a bug can be measured as the distance, in lines of code, from the cause of a bug to the visible symptom of a bug.

The Klophaus Equation of Bug Difficulty

share
    
The problem is that you don't know how difficult a bug is until you find it. – Mark C Mar 2 '11 at 21:39

Not the answer you're looking for? Browse other questions tagged or ask your own question.