ProgrammersWhat's your favourite quote about programming?
[+110] [166] Gelatin
[2010-09-01 19:57:19]
[ quotations ]
[ ]

What's your favourite quote about programming?

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

[+232] [2010-09-01 20:15:18] Fishtoaster

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

— Brian W. Kernighan

Everytime I'm writing some clever bit of code, I remind myself of this rule and look back over it to see if I can't do things in a simpler way that will be easier to maintain later, or at least add some more comments. - CodexArcanum
(6) A corolloary of an otherwise true maxim: Don't forget that a diagram can increase your brain power. You can swap out "remember structure of big thing" to nonvolatile paper. - Tim Williscroft
(1) I love the quote but the implication is that we should at most put 50% of our effort into coding in the first place. - Jon Hopkins
(4) I think the implication is that you should avoid that programmer's urge to use the 'clever' way to do something when the slightly longer, more obvious way of doing something works just fine. - Fishtoaster
(2) But what if it's "perfect" code? There's no way to "debug" that. - Mateen Ulhaq
[+184] [2010-09-01 20:09:31] Tobiasopdenbrouw

Walking on water and developing software from a specification are easy if both are frozen.

— Edward V Berard

(4) +1. Printed that one out for the office notice board - billy.bob
(1) +1 This one is now our departmental motto. - Reallyethical
Quote of the year, I'm gonna use this one - Gortron
I hate this one. It's never the case, so who cares? - JP Alioto
[+138] [2010-09-01 20:40:17] nivlam

It always takes longer than you expect, even when you take into account Hofstadter's Law.
  — Hofstadter's Law [1]


(72) Brain stack overflow. - Nathan Taylor
(3) @Joe D: I'm curious how you'd rewrite a recursive English sentence into a single non-recursive sentence. - Jon Purdy
(4) It may converge for sufficient small values of "longer" - mouviciel
(3) +1 - I'm proud to count myself among the top billion programmers along with Douglas Hofstadter. - Peter Turner
@g.f: When it's transformed into defining the source afterwards (with a dash), the leading introduction isn't warranted ("A: Blah." -> "Blah. -- A"). This isn't removing part of the quote. - Roger Pate
@Roger: In this case it takes away part of the intent for me: "A: Even if A". - g.f
@g.f: If you want to edit it that way without the redundancy (e.g. not "A: Blah. -- A", but "A: Blah."), I wouldn't revert it, but I think it's fine like this too. - Roger Pate
[+126] [2010-09-04 10:57:01] Wil

Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.

— Rick Osborne

(12) it seems I keep ending up maintaining code that I wish I knew where the creator lived, but its probably a good thing I don't. - WalterJ89
+1 I love this one and use it as a mantra. - Talvi Watia
Brings new meaning to the term "killer app." I seem to always end up maintaining the psychopath's code after he's incarcerated. - webbiedave
(8) @webbiedave You work on ReiserFS? :) - Neil Aitken
The company must really hate you if the killer got your job. - Mateen Ulhaq
[+119] [2010-09-04 01:12:25] Chinmay Kanchi

You can have the project:

  • Done On Time
  • Done On Budget
  • Done Properly

Pick two.

— Unknown

(5) Reminds me of a similar triangle, but with women. "You can have a girlfriend that: Is smart, is attractive, has a good personality." - Maxpm
Don't forget that exceptions do exist, though they're rare - don't count on it. - Mircea Chirea
Faster, Better, Cheaper - Pick 2. If you are very lucky ! - Martin Beckett
(5) @Maxpm: The version I heard was "The 4 S's: Smart, Sexy, Sane, Single. Pick 3." - Mason Wheeler
(1) So, when there are no constraints on time and budget you cannot do it properly. Good to know. - Antsan
@Antsan You mean,when there ARE constraints on time and budget,you can't do it properly - abhiii5459
@Antsan: This can be true, since you'd always want to polish your baby "that little bit more". Look at Duke Nukem Forever. - Chinmay Kanchi
[+112] [2010-09-01 21:33:06] Noah Goodrich

Some people, when confronted with a problem, think "I know, I'll use regular expressions."
Now they have two problems.

— Jamie Zawinski

(5) A timeless classic - Factor Mystic
(5) Some people, when confronted with a problem, think "I know, I'll use <some problem solving implementation>." Now they have two problems. - Callum Rogers
(40) Some people when confronted with a problem don't think, they just post on StackOverflow - Matt Ellen
That is my personal all time favorite. - Nick Hodges
(5) Some people don't understand regular expressions, and hate them because others do. - Orbling
@Orbling, I've understood regular expressions deeply at different points, and I manage to get them to bend to my will (which doesn't will much). But beyond the macho idea that, "if you're not an expert, you should shut up," can't we begin to admit that regular expressions are horribly obtuse and that the densely packed syntax is pointless? - Dan Rosenstark
(3) @Yar - I've never found the syntax obtuse personally, and the density is a good thing. Why express something like a pattern match in a more verbose format? Where clarity is required for something complicated, the extended mode can be used with comments. - Orbling
(1) @Matt Now two people have the same problem. - Rei Miyasaka
[+112] [2010-09-06 16:05:21] Walter

In theory, there is no difference between theory and practice. But, in practice, there is.

— Jan L. A. van de Snepscheut

(27) I've also heard "The difference between theory and practice is smaller in theory than in practice." - Roger Pate
+1 Personal favorite - Evan Plaice
(1) Roger Pate's formulation is the one I heard, written by Olin Shivers in "History of T". Paul Graham talks about it here: - khedron
(2) I'd say if a theory doesn't translate to practice, then the theory is simply incomplete. - Rei Miyasaka
[+105] [2010-09-01 23:18:06] Walter

You can use an eraser on the drafting table or a sledgehammer on the construction site - Frank Lloyd Wright

Not exactly a programming quote but it most certainly applies.

(14) Highly applicable IMO - John MacIntyre
goes to show how many metaphors software engineering draws from architecture... so much so that it is called software arechitecture.. - Here Be Wolves
(3) Luckily for us when most software goes wrong it doesn't collapse and kill people. - Neil Aitken
(8) Except when it blows up an Ariane 5 (Flight 501), or doses people with lethally high levels of radiation... - Frank Shearar
@TomWij: The poster of this answer wants his comments below the quote, as shown by his rollback when you changed that the first time. Is there a reason to disregard his wishes here? - Roger Pate
I'm sorry for interrupting your activity... - Tom Wijsman
@Roger - Thanks for noticing. - Walter
@TomWij - Why do you have this uncontrollable urge to reformat everyone's answers? Answers in this question are formatted equally with the person quoted inside the quote box as well as outside the quote box. Do you intend to reformat EVERY answer?? WHY? - Walter
@TomWij: What?⁠ - Roger Pate
@Walter: It is nice to have some consistency; you'll note I've been doing that too, including here. I would disregard your preference of a "-" to "—" for that reason, but I simply don't see a reason for insisting your comment is at a particular place. - Roger Pate
@Roger - It's MY answer. I'm finding it hard to understand why you insist that my comment, in my answer, fit your expectations. - Walter
@Walter: This is a community wiki answer; from the FAQ: "If you are not comfortable with the idea of your questions and answers being edited by other trusted users, this may not be the site for you." That said, the consistency I'm talking about above is typographical consistency, not changing your intent. - Roger Pate
@Roger - I completly understand that, but what makes YOUR formatting standard better than MINE??? Other than it's your preference? Am I not part of this community as well? - Walter
@Walter: See also "Other people can edit my stuff?!" from the FAQ. - Tom Wijsman
@Roger: The author name does not belong in the quote as you've been doing quite a few times, it isn't the author name that is quoted... - Tom Wijsman
@TomWij: Source citations belong inside the blockquote according to most style manuals. For example, this APA example explicitly shows the parenthetical citation (which admittedly doesn't exactly match our use case) at the end of the last paragraph; but give the guideline: "Add the citation to the end of the block quote after the final punctuation." If there were prose in a paragraph beforehand, e.g. "The witty remark for which Blah blah is known:", that'd be different, but it's not the case here either. - Roger Pate
@Roger Plate: I don't see how APA styles apply here, this is a website. Not a paper... The author his name does not fit in a blockquote, which denotes the thing being quoted. I don't see how the author name is part of the quote itself... - Tom Wijsman
@TomWij: APA was just one example. You can put more inside the blockquote without implying it's being quoted. - Roger Pate
@TomWij & @Roger - Thank you both for proving my point. Until there is a documented standard that the SE communities are going to follow, I would suggest not imposing your standards on those who do not agree. - Walter
(2) Ironically, I believe many of Frank Lloyd Wright's more convoluted buildings have fallen into disrepair. - Maxpm
(1) @TomWij, @Walter, @Roger: Please refrain from dirtying this site with your metatalk. If I wanted to hear bickering, I would visit This is where you should be having this fascinating and timeless conversation. - Dan Rosenstark
@Yar: Oh please... The user won't be informed in that way, I guess you have listed me by mistake or else you would just add to this silly conversation. Apart from that, comments like these are hidden until you expand them so I wouldn't call it dirtying; but indeed, those users should go to the meta instead of responding if they have a problem with it. - Tom Wijsman
[+104] [2010-09-01 21:08:33] Joe

Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

— Rick Cook

[+98] [2010-09-09 01:06:39] bigown

Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
  — Bill Gates

(2) -- Bill Gates ( - Bill Karwin
(3) This is true on multiple levels. A gem. - user1249
(3) The key difference being, of course, that the aircraft's final weight is known while the software's final LOC count is unknown. - mmyers
(5) So why do most Microsoft products give me this feeling that I'm chained by my foot to an airplane that is struggling to get off the runway? - Sharpie
[+86] [2010-09-09 13:21:14] Evan

There are 2 hard problems in computer science: cache invalidation, naming things, and off-by-1 errors.

    — Leon Bambrick (@ secretGeek [1])

(Actually, everything from seeing as I curate the list.)


I've never seen a quote point out how difficult naming things can be. I feel a sudden solidarity. - CodexArcanum
That's 3 things. The first two are the original quote from Phil Karlton. @CodexArcanum. Naming things well is the trick. - StuperUser
@StuperUser whooosh! you missed the joke! - Agos
Took two seconds to get that after you pointed that out. Herp derp. - StuperUser
[+85] [2010-09-09 01:11:50] bigown

Nine people can't make a baby in a month.
  — Fred Brooks, The Mythical Man-Month [1]


-- Fred Brooks, in "The Mythical Man-Month" - Bill Karwin
(14) technically: 18 people can't make a baby in a month - Here Be Wolves
(13) @HereBeWolves or 10 - WalterJ89
@Here Be Wolves: Technically: 10 people can't make a baby in a month. ;) - Joe D
(14) What's wrong with 1 guy and 8 ladies? Sounds just about right to me. - Roger Pate
(4) If we go for twins or triplets we need fewer ladies. - user1249
(12) While the first baby will suffer 9 months latency, proper pipelining will continue to deliver 1 per month... - Brian Knoblauch
All these comments fails to reach the goal of the Quote. They're right but do it and your budget will go crazy because you expected just 1 baby. - bigown
[+82] [2010-09-04 01:00:29] Scott Dorman

We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil. Yet we should not pass up our opportunities in that critical 3%.
  — Donald Knuth, Structured Programming with go to Statements [1], JACM Computing Surveys, Vol 6, No. 4, Dec. 1974, p.268

This is extracted from the below two paragraphs, which not only say why he comes to the above conclusion, but gives information on how to avoid this mistake:

There is no doubt that the grail of efficiency leads to abuse. Programmers waste enormous amounts of time thinking about, or worrying about, the speed of noncritical parts of their programs, and these attempts at efficiency actually have a strong negative impact when debugging and maintenance are considered. We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.

Yet we should not pass up our opportunities in that critical 3%. A good programmer will not be lulled into complacency by such reasoning, he will be wise to look carefully at the critical code; but only after that code has been identified. It is often a mistake to make a priori judgments about what parts of a program are really critical, since the universal experience of programmers who have been using measurement tools has been that their intuitive guesses fail. (…)


(2) @Roger Pate: I suspect you're right, most people don't realize there is more to the quote. - Scott Dorman
(27) +1 for posting the whole thing. - Mason Wheeler
(5) Hope you don't mind that I included a bit more. I think it's really important and maybe this will encourage more to read the full paper. :) - Roger Pate
@Roger Pate:Not at all! - Scott Dorman
(5) +1 Thanks for the full quote. I never know there was more to it. - Evan Plaice
(2) It's great that you posted the entire quote. A lot of people just know the sort version and have no idea what Knuth actually meant by that. - DasIch
Tinyurl for this answer that I found on SO: - Fred Nurk
[+80] [2010-09-03 10:29:47] pramodc84

Debuggers don't remove bugs. They only show them in slow motion.

— Unknown

(35) Or in many cases, make them stop appearing entirely. - Graeme Perrow
(12) @Graeme those cases are called Heisenbugs :) - Here Be Wolves
[+77] [2010-09-04 12:31:57] Chris

The first 90% of the code accounts for the first 90% of the development time. The remaining 10% of the code accounts for the other 90% of the development time.

Tom Cargill [1]


Who said that originally? - Paddyslacker
Originally to me was a fellow classmate, but I do not know for certain who said it originally. - Chris
I don't know if this can even be attributed to a single person since it's obvious to anybody whose implemented a product from start to finish ... even just a little piece of shareware. - John MacIntyre
(10) I think you'll find that 90% of the code takes 90% of the time, and the last 10% of the code takes the other 90% of the time. - FacticiusVir
(2) Tom Cargill of Bell Labs: - Bill Karwin
(1) I know this: 20% mates drink 80% beer. - Zzz
(1) Personally, I'd say that the first 90% of the code accounts for the first 90% of the development time. Then, the remaining 90% of the code accounts for the other 90% of the development time. - Kaz Dragon
@Facticius haha, I like that. - Rei Miyasaka
[+70] [2010-09-09 01:02:44] bigown

Computer Science is no more about computers than astronomy is about telescopes

— Edsger Dijkstra

(4) Yes, but this is supposed to be about programming, not computer science. [sly grin] - Mark C
Programming is just applying the knowledge gathered with computer science. You don't need a computer to program, at least not one like most are familiar with. - DasIch
I've always felt that the most annoying thing about programming is that I can't separate it from computers. - LoveMeSomeCode
[+70] [2010-09-09 01:19:44] bigown

If Java had true garbage collection, most programs would delete themselves upon execution.
  — Robert Sewell

(22) funny, just made me think of php. - WalterJ89
(2) @WalterJ89: Worry not! Up until PHP 5.3, PHP is refcounted. - zneak
I like this one! - MDV2000
@WalterJ89 Well, I see no reason to single out Java as opposed to COBOL, C++, VB, or others. - Mark C
[+57] [2010-09-07 02:11:37] pramodc84

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

(24) That's why I like to refer to my job as enbugging. - deceze
(9) And maintenance as rebugging? - Joe D
(1) @JoeD No, "bugwatching". - Mark C
[+56] [2010-09-09 00:27:33] bigown

There are only two kinds of languages: the ones people complain about and the ones nobody uses

— Bjarne Stroustrup

(15) bad excuse for C++ suckage - hasen
(3) C# is an obvious counter-example. - Timwi
(7) And VB falls into both categories. - Quick Joe Smith
[+48] [2010-09-07 02:16:06] pramodc84

The best thing about a boolean is even if you are wrong, you are only off by a bit. - (Anonymous)

The worst thing being that you can't be more wrong ? - POSIX_ME_HARDER
[+46] [2010-09-22 17:29:31] Jay

On two occasions I have been asked, "Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?" In one case a member of the Upper, and in the other a member of the Lower House put this question. I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
  — Charles Babbage

Arguably the first documented case of a programmer encountering stupid user questions.

(5) Sounds like a T-Shirt idea! "User Error: Fouling things up since 1832". (Date?) - Mark C
[+42] [2010-09-01 23:15:05] Walter

It's all talk until the code runs.
  — Ward Cunningham

[+42] [2010-09-09 01:43:16] bigown

I have always wished for my computer to be as easy to use as my telephone; my wish has come true because I can no longer figure out how to use my telephone

-- Bjarne Stroustrup

[+39] [2010-09-01 20:03:09] HoLyVieR

Commenting your code is like cleaning your bathroom - you never want to do it, but it really does create a more pleasant experience for you and your guests.

— Ryan Campbell

(1) Meh...Most comments I've encountered in my life are written under the assumption that comments can make up for poorly written code.. - riwalk
You can clean the bathroom, but if the shower only has cold water and the sink has no soap it's going to be an unpleasant experience. Write code that reads easily rather than writing huge comments to explain things. - Keyo
I actually find commenting quite enjoyable. Sometimes I put important comments in neat little boxes made of asterisks and slashes. Then again, I'm a freak. - Maxpm
(2) I enjoy writing comments too, but you wouldn’t want to see my bathroom. - Timwi
I was at a washroom once where there were really long-winded comments all over about how and why you should keep the washroom clean. It wasn't clean. - Rei Miyasaka
[+39] [2010-09-04 19:23:55] Timwi

Unicode support is not a “feature”. It is expected behaviour.

Granted, it is very specific, but it is my favourite because obsolete character sets are just too widely used still...

(3) Now you just have to argue about which unicode - Martin Beckett
@Martin: Not really, because conversion between the various kinds is lossless. - Billy ONeal
Aargh the pain! Why do I have to argue with a client that no, we can't "just" switch our whole infrastructure to Latin-1 to make it infinitesimally more convenient for him? "After all, nobody around here uses those weird special characters; can't be so hard, right?" - Piskvor
[+38] [2010-09-01 20:20:29] Dan Dyer

The fool wonders, the wise man asks.
  — Benjamin Disraeli

Made one per-answer. - Roger Pate
@TomWij: See my comment from when I edited this, these quotes have been split into separate answers. - Roger Pate
[+35] [2010-09-01 20:19:57] Agent_9191

Programming is like sex: one mistake and you have to support it for the rest of your life.
  — Michael Sinz

[+34] [2010-09-09 02:50:26] Bill Karwin

Il semble que la perfection soit atteinte non quand il n'y a plus rien à ajouter, mais quand il n'y a plus rien à retrancher.
  — Antoine de Saint-Exupéry, French writer (1900-1944), Terre des Hommes [1] (1939)

(It would seem that perfection is attained not when there is nothing left to add, but when there is nothing left to take away.)


And it is also valid for music - Heinz Z.
(2) Perfection Is - David Kendal
(2) @David Kendal: Nice! Similarly, Henry David Thoreau said, "Simplify, Simplify." Which always makes me think, "Simplify." - Bill Karwin
[+33] [2010-09-10 06:54:31] Bill Karwin

Java is to JavaScript as car is to carpet.
  — Chris Heilmann [1]


There is carpet in my car, so there is Javascript in Java? - Keyo
(1) @Keyo: Yeah, I thought of that take on it. I still think the quote is really clever. - Bill Karwin
[+31] [2010-09-01 20:43:07] user8

As formulated by Eric S. Raymond [1]:

Linus's Law

Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.

Or, less formally,

Given enough eyeballs, all bugs are shallow.


sounds a bit like the monkey / typewriter rule to me... - Sean Patrick Floyd
Why do Linux enthusiasts seem to spend more time repeating this quote than fixing the bugs? - Timwi
Or, Atwood's slogan for StackOverflow, "None of us is as dumb as all of us". See… - Evan Plaice
[+30] [2010-09-01 20:16:53] Wizard79

Keep it simple, stupid!

The KISS principle [1]


(1) Is that specifically a programming quote? - Peter Coulton
(5) No, it's a generally-applicable engineering principle. - Mason Wheeler
[+30] [2010-09-02 19:06:12] g .

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

(12) and those who confuse it with ternary - eds
(51) Every base is base 10. - Larry Wang
You only have 10 votes for this? Lame :) - Doug T.
(4) 10 in what base? - MIA
¡ pick ur base ! - Jhonny D. Cano -Leftware-
@Larry: Then what about base 1? ;) - g.f
@g.f, base 1 isn't possible. - Malfist
(2) @Malfist: Click. - g.f
@g.f, ok, but it's implementation is broken - Dominic McDonnell
there are 10 kinds of people , those who understand ternary , those who don't and those who keep saying this joke every where :) . - Ahmed Kotb
(2) all your base 10 are belong to us - Sean Patrick Floyd
(1) @Malfist: Yes it is. 0 = 0, 00 = 1, 000 = 2, 0000 = 3 - Kevin Laity
(2) @g.f, @Kevin: There is no such thing as “base 1”. The number system demonstrated by Kevin, which is often referred to as “base 1” or “unary”, is not a number base (but an entirely different notation). By definition, if “base 1” existed, it would only have the digit 0, and all numbers would be sum(0*1^n), i.e., 0. - Timwi
@Timwi: Did you follow the link above? Apparently opinions are divided about it - as soon as all mathematicians agree wether 0 belongs to N or not we might unify that too. - g.f
@g.f is not a question of maths, it's a question of naming. In any case, it's not a positional numbering system. - paradoja
[+30] [2010-09-07 02:16:58] pramodc84

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

[+29] [2010-09-01 20:52:17] Phil Cohen

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

(5) Programming quote? - Jonas
(22) This quote is very relevant to programming - finnw
[+29] [2010-10-24 09:43:47] doppelgreener

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

— Unknown, appropriated

(5) That's not true at -- d'oh! - Steve Melnikoff
(4) ...and 1% avoiding fence post errors. - Roger Pate
[+28] [2010-09-09 01:22:53] bigown

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

[+25] [2010-09-01 23:16:13] Walter

What's the simplest thing that could possibly work?

— Ward Cunningham

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
[+25] [2010-09-05 11:17:04] Stephen C

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

[+25] [2010-09-09 12:27:29] Roger Pate

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

Yep greatest quote I think so far, especially since Carmack showed multiple times (Commander Keen, Wolfenstein, Doom, Quake, etc) how to do it :) - Nils
@nils, one word: Daikatana :ducks: - Rice Flour Cookies
[+25] [2010-09-09 16:00:22] Nikolai Prokoschenko

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

— Edsger W. Dijkstra

... so let’s not bother! :) - Timwi
[+23] [2010-09-02 17:58:23] Federico Culloca

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

Splitted as asked - Federico Culloca
Thanks . . . . . - Gelatin
(3) This quote is wrong. Just wrong. See - imgx64
(3) That's a shame because it's a great phrase. - Neil Aitken
(2) @Neil: "If 'accurate' isn't a requirement, I could write an arbitrarily great phrase," to paraphrase another quote. :) - Roger Pate
(2) What exactly is LSD? - hasen
(1) @hasen j, it's that little thing resembling a postmark you're holding under your tongue. - Federico Culloca
(2) @hasen j, Traditionally, pounds, shillings, and pence, but nowadays a hallucinogen. - TRiG
@hasen j: ++ for having the humility to ask that - John
I still don't understand what it is. Seriously, if it's something well known in your culture, don't just assume that every one in the world knows what it is. - hasen
@hasen j, it's an hallucynogen - Federico Culloca
@hasen j, see above for the answer. anyway I didn't think LSD was so little known. That's why I was joking. Don't take it personally ;-) - Federico Culloca
not helping ... - hasen
(2) @hasen j, I give up, use wikipedia please... - Federico Culloca
[+23] [2010-09-08 23:28:23] mawtex

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

-- Vidiu Platon (whoever that is)

Yeah, I've put this badge on at least one project:… - J.T. Grimes
[+23] [2010-09-09 01:34:13] bigown

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

(1) Attributed to Abraham Maslow (…) - Bill Karwin
This quote is true, but many times the converse is also true: until you have a hammer, nails are an unsolvable problem. - Dan Rosenstark
(1) @Yar Turn your pliers sideways. - Mark C
Thanks @Mark C that worked, but now the program quits with no stacktrace... - Dan Rosenstark
@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
[+21] [2010-09-09 12:27:02] Giel
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

[+21] [2010-09-10 00:39:04] Lorin Hochstein

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

[+20] [2010-10-08 13:35:41] ncardeli

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

(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
@RogerP: What was your specific answer? Is it in the big thread? - Mark C
@Mark: - Roger Pate
@RogerP: You are too easy, trying to give bounties for answers you already know! - Mark C
[+19] [2010-09-22 18:41:39] Kate Gregory

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 [1].)


Erdõs -- indeed! My grandfather (who knew him!) was fond of the one about mathematicians and coffee. - khedron
@khedron: Ahem. It’s Erdős, not Erdõs. - Timwi
@Timwi: My apologies! - khedron
[+19] [2010-10-24 11:56:54] Martin Wickman

There, it should work now.

— All programmers

[+18] [2010-09-02 07:10:55] Jonas

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

(2) Still laughing... |) - AareP
wouldn't that be more true of VMs ? - Martin Beckett
The term 'OO' was invented by Smalltalkers, and Smalltalk runs on a VM and is often deployed as a VM image. - 9000
[+18] [2010-09-06 14:41:40] Simon P Stevens

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 - [1]


quite brilliant! - NickAldwin
Limerick fans should also check out - MatrixFrog
[+18] [2010-09-10 12:17:44] Asgeir S. Nilsen

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


[+18] [2010-09-22 17:06:28] Jonik

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

Martin Fowler (in his book Refactoring [1])


[+17] [2010-09-28 23:09:52] FrankS

My old answer from SO:

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

Another good website: "Quotes about Tech Writing" [1]


So you need code, comments, and something else? - Rei Miyasaka
[+17] [2010-10-10 23:03:41] Don Roby

Any sufficiently advanced technology is indistinguishable from magic.

-- Arthur C. Clarke

(4) "Any sufficiently advanced magic is indistinguishable from technology" — Larry Niven. - Joe D
(2) "Any technology which is distinguishable from magic is insufficiently advanced." (Can't remember.) - TRiG
"Any sufficiently advanced being can distinguish technology from magic." - Timwi
Any sufficiently advanced being cannot tell magic from technology. - Antsan
(2) Sufficiently advanced incompetence is indistinguishable from malice. - Glen Solsberry
[+14] [2010-09-01 21:45:29] Federico Culloca

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

— Linus Torvalds

(9) Can you split this in two different answers so that they can be voted independently? - Wizard79
(8) The real question is, how did Linus come to find this out? - Kezzer
[citation needed] :-) - Stefano Palazzo
@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
When i wrote this comment, this answer was a completely different one: see revisions. (It used to read "There are two major products that come out of Berkeley: LSD and UNIX. We don't believe this to be a coincidence.") – isn't it quite bad form to write and answer, which gets voted up, and change it completely, even when it's community wiki? - Stefano Palazzo
I was asked to split it, so it's not completely my fault :P. Moreover, most of the upvotes came after the split. More-moreover it was already split when you posted that comment, as you can see in "Last edit Sep 27" :P . - Federico Culloca
Well commenting here doesn't seem to be thread safe. :-) Sorry for the confusion. - Stefano Palazzo
(4) Software is like sex because it's never really free. - Darel
[+14] [2010-09-09 00:23:39] bigown

To understand recursion, you first need to understand recursion

[+13] [2010-09-09 12:11:49] A M

"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

...or at least if you do lie to the compiler, it will get its revenge. - Jerry Coffin
(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
[+13] [2010-10-12 04:43:49] khedron

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

[+12] [2010-09-01 20:32:57] murgatroid99

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.

[+11] [2010-09-09 08:24:27] Tom Morgan

Not really a programming quote, more of an IT one, but one that my A-Level IT teacher drummed into me aged 16:

Typing is no substitute for Thinking

(3) Admirably ambiguous. - Randall Schulz
That comment is ambiguous,hence admirable :P - abhiii5459
[+11] [2010-10-08 12:19:21] Russell

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 [1]


The problem is that you don't know how difficult a bug is until you find it. - Mark C
[+11] [2010-10-11 01:23:17] Mark C

Relationship between length and quality

If you want me to give you a two-hour presentation, I am ready today. If you want only a five-minute speech, it will take me two weeks to prepare.
  — Mark Twain

The shortest version:

If I had more time, I would have written a shorter letter.
  — Marcus T. Cicero

The near-perfectionist's version:

You know that I write slowly. This is chiefly because I am never satisfied until I have said as much as possible in a few words, and writing briefly takes far more time than writing at length.
  — Karl Friedrich Gauss

Several more [1] discuss this concept from various angles.


[+11] [2010-10-13 19:55:19] Harmen

Crockford is the sole user of the super-strict equality operator (====), which either returns true or kicks you in the balls.

[+10] [2010-09-09 01:19:46] fR0DDY

A good algorithm is like a sharp knife - it does exactly what it is supposed to do with a minimum amount of applied effort. Using the wrong algorithm to solve a problem is trying to cut a steak with a screwdriver: you may eventually get a digestible result, but you will expend considerable more effort than necessary, and the result is unlikely to be aesthetically pleasing.

(3) A mouthful, but good. Like steak! - webbiedave
[+10] [2010-09-27 08:43:53] Hila

Open source is free only if your time costs nothing

Heard it from a guy I worked with. Don't know who came up with this.

(1) That's not so true, though. - Mark C
@Mark Why? (ps. it's a translation from Hebrew, and "free" is translated from a word that means "at no charge" and not "liberated/released/etc"). - Hila
I doesn't seem true because skilled programmers take on open source projects in their spare time, even though they could be working on extra "paid" projects instead. - Mark C
(1) @Mark That's not what I meant... This quote is about the misconception that choosing an open source product over a commercial one is better because you don't have to pay for license (use, not develop). This is stupid, of course, since most of the time whatever you saved in licences you pay in programmer time due to lack of support and/or using products that are not good enough. There are good reasons to use OS. License price, I think, is not one of them. - Hila
Oh, I'm sorry. It seemed like it was talking about the programmers! This is along the lines of what you are saying:… - Mark C
@Mark Nice! What is this blog? - Hila
You're welcome! It is the blog of a Fog Creek developer, and it is where I read this article:‌​ws - Mark C
@Mark panics Where is the posts RSS?! - Hila
I don't use RSS, but I think you're trying to get a feed from that page. Try this:‌​ite - Mark C
@Mark I know these services, I was hoping for built in option. - Hila
(1) My quote file attributes this to JWZ. - khedron
@khedron Thanks! - Hila
[+9] [2010-09-01 20:14:24] Hannibal

xkcd "Compiling"

Can you fix this so we don't have to click the link to see the quote please? - Paddyslacker
xkcd has some great stuff, but this is below average. - Roger Pate
[+9] [2010-09-09 12:34:19] Roger Pate

Computers are useless. They can only give you answers.
  — Pablo Picasso

(1) Considering Picasso died in 1973, I'm highly doubtful that he actually said this.. - Billy ONeal
"The first electronic computers were developed in the mid-20th century (1940–1945)" and Intel was already creating CPUs in 1971 (Intel 4004). So it doesn't make it impossible. - POSIX_ME_HARDER
@Billy There was a lot of talk amongst academics about the possibilities of computers at the time. - Rei Miyasaka
[+9] [2010-09-22 17:13:33] Steve Evers

A few months writing code can save you a few hours in design.

Which is modified from:

A few months in the laboratory can save you a few hours in the library.

what does it mean by that ??? - Sarawut Positwinyu
@Sarawut Positwinyu: It's a backwards way of saying 'do your research before doing your work'. - Steve Evers
[+9] [2010-10-02 00:03:46] Imageree

Be nice to nerds. Chances are you'll end up working for one. - Bill Gates

The problem with quick and that dirty remains long after quick has been forgotten. - Steve C McConnell

My site [1] is full of quotations about programming and software development.


(1) I'm pretty sure it wasn't Bill Gates who made that quote - Terence Ponce
I remember it being attributed to him, along with a bunch of others that shouldn't be. Who was it? - Rei Miyasaka
[+9] [2010-10-21 09:30:53] Chris-Top

A normal person believes a kilobyte is 1000 bytes, a coder believes a kilometer is 1024 meters.


[+9] [2010-10-23 18:49:06] user4051

C++: an octopus made by nailing extra legs onto a dog. [1]


[+9] [2010-10-24 15:11:46] rerun

It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.

Nathaniel Borenstein

[+8] [2010-09-22 01:47:51] khedron

... one of the main causes of the fall of the Roman Empire was that, lacking zero, they had no way to indicate successful termination of their C programs.

-- Robert Firth

[+8] [2010-10-10 19:27:07] Joe D

Why fix an old bug if you can write three new ones in the same time?

— David Kastrup

[+7] [2010-09-01 21:20:18] systempuntoout

Quoting Kent Beck [1]:

Make It Work
Make It Right
Make It Fast


(1) Pick 2............ - WalterJ89
(2) Whew! For a minute there I thought you had written "Glenn" Beck... ;-) - MikeSchinkel
[+7] [2010-10-09 21:07:43] Karel Petranek

Real Programmers don't comment their code. If it was hard to write, it should be hard to understand.
  — Tom Van Vleck [1]


(5) It's called code for a reason :) - Rook
While I love this quote, I tend to find the people maintaining my code disagree with it :) - Neil Aitken
[+7] [2010-10-09 22:11:10] Charles E. Grant

Anyone attempting to produce random numbers by purely arithmetic means is, of course, in a state of sin.
  — John von Neumann

[+7] [2010-10-13 09:09:36] spookylukey

Those who try to build idiot-proof systems always underestimate the persistence and ingenuity of idiots.

— Anon

[+7] [2010-12-13 09:22:43] Branimir

One accurate measurement is worth more than a thousand expert opinions.

Admiral Grace Hopper

[+6] [2010-09-22 01:48:41] khedron

I am one of those culprits who created the problem. I used to write those programs back in the '60s and '70s, and was so proud of the fact that I was able to squeeze a few elements of space by not having to put '19' before the year.

-- Alan Greenspan, former Federal Reserve chair

[+6] [2010-09-22 17:28:37] Jonik

How do we convince people that in programming simplicity and clarity—in short: what mathematicians call "elegance"—are not a dispensable luxury, but a crucial matter that decides between success and failure?

Edsger W. Dijkstra [1]


Props to the guy who posted this on SO - Jonik
Answer: The same way you convince people that simplicity and clarity are essential to good writing! - Mark C
[+6] [2010-09-22 17:30:05] kate

A beautiful program is like a beautiful theorem: It does the job elegantly. It has a simple and perspicuous structure; people say, “Oh, yes. I see that’s the way to do it.”

-- Butler Lampson

[+6] [2010-10-10 19:00:27] timday

Every time I ask developers why their shiny new C# .NET version isn't nearly as fast and smooth as the old C/C++ version, I'm thinking of:

The most amazing achievement of the computer software industry is its continuing cancellation of the steady and staggering gains made by the computer hardware industry.
  — Henry Petroski [1]

But they just tell me to shut up while they plaster on yet another level of abstraction...


Anders Hejlsberg also has a quote, which I don't remember in his exact words, that the goal of a language is to add layers of abstraction, not to move the window of abstraction upwards. You simply don't agree with the design goals of the platform. - Rei Miyasaka
[+6] [2010-10-13 21:47:48] Ryszard Szopa

Programming is one of the most difficult branches of applied mathematics; the poorer mathematicians had better remain pure mathematicians

— Edsger W. Dijkstra

I find that incredibly pompous. - Mark C
(13) @Mark: "You probably know that arrogance, in computer science, is measured in nanodijkstras." — Alan Kay, keynote speech at OOPSLA 1997 - Roger Pate
@RogerP Ah yes, I had forgotten that one. - Mark C
"Programmers are bozos" -- my high school math teacher. - Rei Miyasaka
[+6] [2010-10-13 23:05:12] emericle

"The complexity you remove can never fail" -- Burt Rutan on the Ansari X Prize

+1 This is an excellent mantra to have. - Toby
[+5] [2010-09-02 04:30:29] Gaurav

There is always one more bug.
  — Lubarsky's Law of Cybernetic Entomology

[+5] [2010-09-04 09:35:33] Gordon

The art of simplicity is a puzzle of complexity.

Doug Horton

[+5] [2010-09-08 22:34:43] helgeg

"It worked on MY computer!" -anon

"Programs must be written for people to read, and only incidentally for machines to execute." - Abelson and Sussman, from "The structure and interpretation of computer programs"

[+5] [2010-09-09 01:29:54] bigown

The best code is no code at all

Butterflies!... - WalterJ89
(1) I think that's a corruption of the Taligent marketing catchphrase "there is no code faster than no code". - user4051
[+5] [2010-09-27 08:43:17] ahsteele

Programmers are optimists by nature, they also have a keen eye for the downside. A hyperactive imagination for disaster scenarios is a professional asset; they have to think through everything that can go wrong in order to practice their craft.

-- Scott Rosenberg

[+5] [2010-10-08 11:49:42] Tony

Not really about programming, but...

You can't wait for inspiration. You have to go after it with a club.
  — Jack London

[+5] [2010-10-11 08:52:31] haylem

It's not about programming per se, but by a famous programmer:

The best way to predict the future is to invent it.
  — Alan Kay

Which is usually a good thing to remind myself to get moving and do things.

[+5] [2010-10-21 09:40:19] ckuetbach

Kurzfristige Hacks tendieren dazu, langfristige Lösungen zu werden.
  — Bodo Tasche

Translated: Current hacks tend to be long-term solutions.

[+5] [2010-10-25 03:43:49] Michael Easter

Make everything as simple as possible, but not simpler.

-- Albert Einstein (for me, via Scott Myers). Emphasis added.

I know the question says one quote per answer, but I'm starting to think grouping similar topics (e.g. this with KISS) would be better. - Roger Pate
[+5] [2010-10-29 08:35:58] Chankey Pathak

A language that doesn't have everything is actually easier to program in than some that do.
  — Dennis M. Ritchie

(1) Java is getting there. - aaaaaaaaaaaa
[+4] [2010-09-07 02:13:42] pramodc84

“ Copy and paste is a design error. ” -- David Parnas

Could you explain what he means by that? - Mark C
@ Mark C -… - pramodc84
[+4] [2010-09-08 23:47:28] Zafer

Write once, debug everywhere [1].


[+4] [2010-09-09 11:34:56] bigown

Well, not my favorite but...

If it is not broken, don't fix it

also known as "don't ever refactor" - Jouke van der Maas
(6) If it needs a refactor, it's broken :-) - bigown
(2) My colleague has a T-shirt that says: "Engineer's motto: If it ain't broke, take it apart and fix it!" - Kaz Dragon
[+4] [2010-09-22 16:45:11] Joel J. Adamson

I abhor a system designed for the "user," if that word is a coded pejorative meaning "stupid and unsophisticated."

Ken Thompson

[+4] [2010-09-22 17:37:14] Jonik

Debugging is like farting — it's not so bad when it's your own code.

It's unknown who originally put forth this piece of wisdom; I took it from here. - Jonik
[+4] [2010-10-08 11:26:29] Roger Pate

Plans are worthless, but planning is everything.
  — Dwight D. Eisenhower

Ah, yes, the difference between plans and planning! Excellent! - Mark C
[+4] [2010-10-08 12:31:04] dr Hannibal Lecter

My favourites have already been posted, so here's something I thought of one day at work:

In Soviet Russia, exception throws YOU!!

(1) I can almost hear the russian accent in my head. - Terence Ponce
(1) In Soviet Russia, boss give orders YOU! - Mark C
(2) In Soviet Russia, bug fixes you. - Arkaaito
[+4] [2010-10-10 22:26:31] Gerry

Einstein argued that there must be simplified explanations of nature, because God is not capricious or arbitrary. No such faith comforts the software engineer.
  — Fred Brooks, "No Silver Bullet" [1]


[+4] [2010-10-11 20:28:17] Dave

From my first programming class (FORTRAN IV):

What is a computer?
It it a box with a little man in it.
This man is blazing fast. He can do millions of instructions per second.
But he is myopic. He's so myopic that he can see only one instruction at a time.
He's also not very smart, he'll attempt to do exactly what you tell him to do.

This has become the base of my philosophy of programming and debugging.

[+4] [2010-10-12 20:46:59] aufather

2 + 2 = 5, for sufficiently large values of 2.

— Anon

[+4] [2010-10-21 15:32:11] Travis Christian

Software is hard.

-- Donald Knuth

Let’s go typesetting! - Paul D. Waite
[+4] [2010-10-29 15:00:17] cdnicoll

If you fail to plan, you plan to fail

-My c# Teacher (not sure where he heard it from!)

I recently saw this attributed to Alan Lakein, but it is simple enough to have been around for a long time (folk reversals). - Mark C
I heard this all the way through secondary school. - TRiG
[+4] [2010-12-09 21:45:47] Walter

Knowledge is proud that it knows so much; wisdom is humble that it knows no more.

--William Cowper

I've heard something similar. "Knowledge is knowing what is right, wisdom is doing what is right". Not sure who said it, I think it's an old Chinese saying that has been translated. - Ali
[+3] [2010-09-02 07:37:57] Refael Ackermann

In Hebrew there's a saying (mostly by army conscripted programmers):

באג בדיזיין -> זין בדיבאג

Which is an anagram, and it roughly translates to

Bugs in the design -> you're f^#ked while debugging

(5) I don't think there's any way to translate the humor to English, but nice quote. - EpsilonVector
It kind of relies on the meaning of "zign". - configurator
[+3] [2010-09-05 14:35:47] rjstelling

Fail Quickly


The perfect match for "Avoid success!" - Mark C
[+3] [2010-09-09 00:59:22] bigown

It works on my machine

Favorite to hate, of course :-) - bigown
[+3] [2010-09-13 11:58:35] chiccorusso

/* You are not expected to understand this. */

Comment in Sixth Edition Unix.

I've witnessed that one in the original source code! (I was three at the time...) But I do treasure my copy of the annotated Version 6 Source Code from the University of New South Wales. - Randall Schulz
Is that a general comment or does it appear at a certain point? - Mark C
@Mark: It referred to a specific section of code. I forget what that section was doing. - Roger Pate
[+3] [2010-09-27 07:59:55] Josh Vera

Let me re-assert that the question of whether there are limitations in principle of what problems man can make machines solve for him as compared to his own ability to solve problems, really is a technical question in recursive function theory.

— John McCarthy

[+3] [2010-09-27 16:20:26] Joey Adams

If it wasn't for the last minute, nothing would get done.

—Supposedly from "Murphy's Laws"; see here [1]

Although I can do plenty of things without any pressure (like post answers here), I need a hint of fear to do what I'm supposed to be doing (like my homework).


[+3] [2010-10-12 19:21:35] Carlos

I don't understand why cheerleaders won't talk to me. Maybe I don't throw five touchdowns against Newport High, but let's see one of those football morons program in assembly language!
  — Chris Lipe

[+3] [2010-10-13 18:48:03] user5307

It's OK to figure out murder mysteries, but you shouldn't need to figure out code. You should be able to read it.

-- Steve McConnell

[+3] [2010-10-29 15:01:09] Raven13

Profanity is the one language all programmers know best.

-- Anonymous

[+3] [2010-12-16 19:22:27] rerun

It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.

Nathaniel Borenstein

[+2] [2010-09-08 23:54:04] ubernerd

Get into a rut early: Do the same process the same way. Accumulate idioms. Standardize. The only difference(!) between Shakespeare and you was the size of his idiom list - not the size of his vocabulary.

--Alan J. Perlis

[+2] [2010-09-09 03:57:10] Hélène Martin

Being able to get a machine to do what you want is the closest thing we've got in technology to adolescent wish-fulfillment.
  — Guy Steele [1] in Coders at Work


[+2] [2010-09-10 07:31:47] lmsasu

Knowledge is knowledge. And viceversa.

From a T-shirt.

[+2] [2010-09-10 13:22:51] moi_meme

It would seem that perfection is attained not when no more can be added, but when no more can be removed.

Antoine de Saint-Exupery

[+2] [2010-09-11 07:25:52] baklap
to understand recursion you must first understand recursion

At first that was just corny, but later it dawned on me that the very sentence teaches recursion. - Mark C
To first understad mutual exclusion you must first forget everything you know about exclusive mutuality, and vice versa. - Joe D
[+2] [2010-09-29 10:42:11] Chankey Pathak

Linux is only free if your time has no value.

Memory is like an orgasm. It's a lot better if you don't have to fake it.
  — Seymour Cray on virtual memory

May I know why it was down-voted? - Chankey Pathak
(4) Either you made some Linux user angry or someone didn't like having many quotes in one answer. - Carlos
(1) Recursion was a duplicate, so I removed it. The downvote could've simply been "I don't like this quote," but it would also fit better with the other answers if you move one of the two remaining quotes. - Roger Pate
[+2] [2010-10-14 21:04:54] Dave

COBOL can be cured if caught early.
-- From Programming classes

[+2] [2010-10-23 19:05:15] Junior M

In C++ it’s harder to shoot yourself in the foot, but when you do, you blow off your whole leg.
  — Bjarne Stroustrup

[+2] [2010-11-06 16:51:05] Michael Riley - AKA Gunny

What you are asking me to do is like trying to put the toothpaste back in the tube. It doesn't work.

[+2] [2010-12-12 20:13:53] Heinz Z.

Vision without action is a daydream. Action without vision is a nightmare.

proverb from japan

[+2] [2011-01-19 14:43:44] Octavian Damiean

A quote on recursion and programming in general I came up with today.

Only fools believe in foolproof systems.

[+1] [2010-09-01 20:02:42] Paddyslacker

I'm not sure if he's the originator of this quote, but I attended a session at a conference once where Alex Pukinskis said this and I love it!

Untested code has no business value - Alex Pukinskis

[+1] [2010-09-01 20:16:24] BlairHippo

This isn't strictly a programming quote and I don't recall where I first heard it, but I've repeated it plenty of times on the job:

If you don't test it, it doesn't work.

True. Ohh, so true - Refael Ackermann
[+1] [2010-09-05 14:36:59] rjstelling

Release early. Release often. -- Eric S. Raymond

Popularized by Eric S. Raymond in "The Cathedral and the Bazaar" ( The third part of ESR's quote is "And listen to your customers." - Bill Karwin
[+1] [2010-09-06 02:25:25] Cesar Canassa

I'll call him Mel, because that was his name.

From The story of Mel [1]


(1) "I have often felt that programming is an art form, whose real value can only be appreciated by another versed in the same arcane art; there are lovely gems and brilliant coups hidden from human view and admiration, sometimes forever, by the very nature of the process. You can learn a lot about an individual just by reading through his code, even in hexadecimal. Mel was, I think, an unsung genius. " - Mark C
(2) The story is entertaining, but this isn't a good quote: it's obscure and uninteresting. - Roger Pate
@Roger: Well, he can use my quote and then you can upvote. - Mark C
I tend to like short, easy to remember, quotes. Somehow, when I first read the Story of Mel this line got stuck in my head :-) - Cesar Canassa
(1) @Mark: Whatever you're doing with italics on the names in your comments is screwing up comment notification. - Roger Pate
@Roger Really? You mean it's not working? I just do (star)At-Roger(colon)(star). - Mark C
@Mark: I did double check by going through my reply history, and there is no entry on Oct 10. (Did that before the comment today, since it was nearly 2 weeks ago. ;) - Roger Pate
@RogerP That means all my other formatted replies didn't work either. Do you think it's the colon or the italics? We could test right now. I'll try it in chat first. - Mark C
(1) @Mark: Given that I use a colon and you apparently get the notifications... :P The italics probably disrupts the matching, which looks for @ and (I strongly suspect) uses the source rather than the marked-up comment. [ How do comment replies work? ]( - Roger Pate
@RogerP: Well, it could be only when you use both, but of course that's far-fetched. - Mark C
[+1] [2010-09-08 22:25:52] Daniel Grillo

"Test what you fly, fly what you test."

[+1] [2010-09-08 23:19:11] Andrew

The required techniques of effective reasoning are pretty formal, but as long as programming is done by people that don't master them, the software crisis will remain with us and will be considered an incurable disease. And you know what incurable diseases do: they invite the quacks and charlatans in, who in this case take the form of Software Engineering gurus.

-- Dijkstra

That is interesting quote. - Mark C
[+1] [2010-09-11 08:36:03] AVD

Simplicity is prerequisite for reliability.

-- Edsger W. Dijkstra

[+1] [2010-10-08 11:26:34] Roger Pate

Education: that which reveals to the wise, and conceals from the stupid, the vast limits of their knowledge.
  — Mark Twain

[+1] [2010-10-11 17:36:29] Mark C

Concentrate Your Effort

Don't write too much. Concentrate your sweat on one story, rather than dissipate it over a dozen.

Jack London

Somehow, I missed the (paraphrased, shorter) duplicate of this one:

Be Diligent

Don't loaf and invite inspiration; light out after it with a club, and if you don't get it you will nonetheless get something that looks remarkably like it."

Part of one quote [1]; I split them to narrow down the topic.


[+1] [2010-10-13 09:52:36] ginotria

You should go home if you are thinking suicidal thoughts.
  — Robert Read, "How to be a Programmer" [1]


[+1] [2010-10-13 20:55:37] Corey Ogburn

I had a teacher that would tell students who were getting ahead of themselves this:

You don't know what you don't know

I can't say for sure if it's his quote or something he picked up from somewhere else.

(1) See also: - Steve Melnikoff
Not necessarily. There is what you know you know, what you know you don't know (e.g. how to fly a helicopter), and what you don't know you don't know. Then for some there is what they don't know they know. - doppelgreener
[+1] [2010-10-14 20:16:27] Brad Mace

Just use string you G-- d---ed savages!

during debate about merits of char[] vs string

[+1] [2010-10-22 01:24:45] Alex Hart

"That's not the way I would have done it"

[+1] [2010-10-24 12:33:51] luis.espinal

By Mike Williams, one of the creators of Erlang:

  1. Find the right methods—Design by Prototyping.
  2. It is not good enough to have ideas, you must also be able to implement them and know they work.
  3. Make mistakes on a small scale, not in a production project.

[+1] [2010-10-29 07:14:46] jozilla

OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. It can be done in Smalltalk and in LISP. There are possibly other systems in which this is possible, but I’m not aware of them.

-- Alan Kay

[+1] [2010-10-29 07:20:14] jozilla

Only wimps use tape backup: real men just upload their important stuff on ftp, and let the rest of the world mirror it ;)

-- Linus Torvalds

ftp? Doesn't he mean git? - MatrixFrog
[+1] [2010-10-29 08:16:48] Ben

You can't trust code that you did not totally create yourself. (Especially code from companies that employ people like me.)
  — Ken Thompson, "Reflections on Trusting Trust" [1]


[+1] [2010-10-29 08:51:49] krico
double value; /* or your money back! */
short changed; /* so triple your money back! */

cons.c on perl source tree

[+1] [2010-10-29 13:00:20] aredkid

I wish I could make Lust and Gluttony helpful but Sloth, Pride and Envy are certainly great for programmers." ~ Kenneth Clowes [1]


[+1] [2010-11-12 00:17:53] Keith

There is no object-oriented problem that cannot be solved by adding a layer of indirection, except, of course, too many layers of indirection.

-- From "The Art of Unit Testing" Roy Osherove (attributed to an unnamed source)

David Wheeler maybe?… - doppelgreener
[+1] [2010-12-16 17:18:26] dan_waterworth

If you can't measure it, you can't improve it.

Lord Kelvin

[+1] [2010-12-25 22:02:55] Anwar Chandra

Don't code today what you can't debug tomorrow

from this blog [1]'s title


[+1] [2010-12-26 00:03:20] stuartd

The best indication of software quality is consistent indentation

I read this when I was following up footnotes in SICP [1] once but I've not been able to find it since, so a) I can't attribute it and b) I am writing from memory, and more than likely paraphrasing. I have, however, found it to be true.


ironic that people don't use IDEs with automatic indentation, then. - Dan Rosenstark
[+1] [2011-01-18 17:39:55] Erik

Progress isn't made by early risers. It's made by lazy men trying to find easier ways to do something.

-Robert Heinlein

[0] [2010-09-05 06:22:29] Moshe

Minimal Functionality to the desktop as soon as possible.

[0] [2010-10-08 11:26:23] Roger Pate

As a general rule, the most successful man in life is the man who has the best information.
  — Benjamin Disraeli

[0] [2010-10-08 15:17:02] David Allan Finch

The whole history of this invention has been a struggle against time.
  — Charles Babbage on the Analytical Engine, 1837

[0] [2010-10-10 20:31:55] Mark C

Skill Appreciates Skill

(Or, It Takes One to Know One)

I have often felt that programming is an art form,
whose real value can only be appreciated
by another versed in the same arcane art;
there are lovely gems and brilliant coups
hidden from human view and admiration, sometimes forever,
by the very nature of the process.
You can learn a lot about an individual
just by reading through his code, even in hexadecimal.

From The Story of Mel, a Real Programmer [1] (free verse version)

I had no idea there was actually a short Wikipedia article [2] with links to both prose and verse versions of the story, along with other information.


[0] [2010-10-21 17:51:36] Paperjam

Entia non sunt multiplicanda praeter necessitatem

(Keep it simple, stupid)

Years ago I ran across a poster that had the Latin expression with the English translation under it.

(2) I don't think it's ironic, because the latin is "Occam's Razor" and most people, myself included, won't understand the Latin. - Mark C
@Mark - Ah, thanks. I didn't realize it was Occam's Razor. "Entities must not be multiplied beyond necessity" ('s_razor). - Paperjam
I generally prefer h2g2 to Wikipedia: the writing's better quality. - TRiG
[0] [2010-10-23 18:28:01] dede

Keep it Simple!

(2) Duplicate of… - Roger Pate
[0] [2010-10-23 20:46:21] Ming-Tang

"Real programmers don't see code, they see trees."

[0] [2010-10-29 03:11:21] Digital Dude
Programmers don't quit, they just go offline. :)

[0] [2010-12-26 10:58:16] Tom Lianza

XML is like violence - if it doesn’t solve your problems, you are not using enough of it.

Children, please don't forget that violence is no's an instrument to accomplish a solution. - Bobby
[0] [2011-01-20 17:56:18] Matthieu M.

Programming is an art form that fights back

-- Unknown

Note: especially when you're oncall...

[0] [2011-01-21 17:30:52] zhenka

True story:

I was doing a project for school in c++ and needless to say there was some compiler wrestling. As I got more pissed of I started naming my test functions shit with fuck variants for variables. At some point to every-bodies amusement I yelled "Why isn't this fuck pointing to shit?!?!?"

[-1] [2011-01-20 09:49:22] Sheikh Aman

Impossible is Nothing

Although belongs to Adidas, but fits Software development well.

This is especially priceless when your boss comes armed with that, and a change request which is essentially the halting problem. "I don't care about your fancy-schmancy CS theory; you will make it work, to be delivered next week, because I already billed the client for it. Impossible is nothing, right? RIGHT!?" (not surprisingly, that person is no longer my boss) - Piskvor
Yes right, and really impossible is nothing. Why should one posses a CS Degree if he isn't capable to make things work the way they should. - Sheikh Aman
[-1] [2011-01-20 19:33:53] Jacek Prucia

Comments in code are like sex. When they are good -- it's very, very good. But when they are bad, they are better than nothing.

-- Anonymous

(4) "Out of date and now just misleading" falls under "bad" and that's even worse than nothing. - doppelgreener