A selection of our favourite, classic programming quotes from the some of the industries biggest names.
- C. A. R. Hoare
Walking on water and developing software from a specification are easy if both are frozen
- Edward V Berard
It always takes longer than you expect, even when you take into account Hofstadter’s Law.
- Hofstadter’s Law
Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems
- Jamie Zawinski
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 Kernighan
Measuring programming progress by lines of code is like measuring aircraft building progress by weight.
- Bill Gates
PHP is a minor evil perpetrated and created by incompetent amateurs, whereas Perl is a great and insidious evil, perpetrated by skilled but perverted professionals.
- Jon Ribbens
On two occasions I have been asked, ‘Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?’ I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.”
- Charles Babbage
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.
- Rick Osborne
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.
- Rich Cook
I don’t care if it works on your machine! We are not shipping your machine!
- Ovidiu Platon
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
A computer lets you make more mistakes faster than any other invention in human history, with the possible exceptions of handguns and tequila.
- Mitch Ratcliffe
If debugging is the process of removing software bugs, then programming must be the process of putting them in.
- E. W. Dijkstra
It is practically impossible to teach good programming style to students that have had prior exposure to BASIC. As potential programmers, they are mentally mutilated beyond hope of regeneration.
- E. W. Dijkstra
In theory, theory and practice are the same. In practice, they’re not.
- Yoggi Berra
Two things are infinite: the universe and human stupidity; and I’m not sure about the universe.
- Albert Einstein
Perl – The only language that looks the same before and after RSA encryption.
- Keith Bostic
I love deadlines. I like the whooshing sound they make as they fly by.
- Douglas Adams
Saying that Java is good because it works on all platforms is like saying anal sex is good because it works on all genders
- Unknown
XML is like violence – if it doesn’t solve your problems, you are not using enough of it.
- Unknown
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
Do you know any other classics? Please share them with us in the comments, we’d love to hear them! If you enoyed this post, please consider sharing it with your friends on Digg, Twitter, Facebook or Delicious! Thanks for reading!





haha, you made my day
truly a beautiful collection of quotes
[...] 文章:来源 [...]
The author of the theory and practice quote is NOT unknown; it’s Yogi Berra.
The first one was not from Donald Knuth, but Tony Hoare. http://en.wikipedia.org/wiki/C._A._R._Hoare. The full quote: “We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil”.
The first part is as important as the second part, 97% of the time premature optimization is the root of all evil, but 3% you can optimize your code.
We’ve reached a new pinnacle in agile programming: we’re shipping the VM – Loek Schoenmakers
Thanks guys, I’ve updated those errors.
I want to improve the world, but God wouldn’t give me the source code.
- dunno where it’s from
Any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp.
- Philip Greenspun
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
- Stan Kelly-Bootle
Syntactic sugar leads to cancer of the semi-colon.
- Alan Perlis.
As a developer, and i had to use this quote more than one time:
“I have a deal with God. I don’t do miracles, and He doesn’t program.”
Greetings from Portugal.
Great Post.
“You should name a variable using the same care with which you name a first-born child.”
- James O. Coplien
The difference between theory and practice is smaller in theory than in practice.
Thanks everybody! Loving the Stan Kelly-Bootle by zorg! Keep ‘em coming!
Another one from Tony Hoare.
“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. The first method is far more difficult.”
It was the a particular favourite from when I used to work on safety critical systems where we used to do a lot of static analysis and code review to find bugs, rather than relying on testing (which is fine, so long as you understand it’s limitations).
It should be tattooed onto every computer science student at the point of graduation.
“A programmer is a device that converts caffeine into error messages.”
Not sure of the source, but it is from the Paul Erdos quote:
“A mathematician is a device that converts caffeine into theorems.”
I seriously need these as a widget, what a marvelous article for a Friday afternoon.
Thanks!
Often used in design meetings and I’ve never known the source.
“Features, quality, time: pick two.”
“Features, quality, time: pick two.”
That’s just a variant of the old “Fast, cheap, good: pick any two” which is an old truism from the world of real engineering/cars.
But still very much true.
Writing the first 90 percent of a computer program takes 90 percent of the time. The remaining ten percent also takes 90 percent of the time and the final touches also take 90 percent of the time. ~N.J. Rubenking
[...] This post was Twitted by timothymarshall – Real-url.org [...]
God wrote the Universe in C, thus explaining the great amount of disagreement over how to interpret the documentation. – Me, Usenet, late ’80s or early ’90s
“All language designers are arrogant. Goes with the territory…
”
- Larry Wall, 1991
[...] : Delicious-IT | Date : May 15 2009 | Views : 1 views | Total Word : 9 | Print this Page! | Permalink! [...]
[...] Lustig das, und im Kern so wahr… http://www.storm-consultancy.com/blog/other/classic-programming-quotes/ [...]
Not liking the homophobia of the anal sex one. Maybe reword:
“Saying that Java is good because it works on all platforms is like saying anal sex is good because it works on all species.”
There, now it’s only insulting furries and zoophiles.
[...] This post was Twitted by franks – Real-url.org [...]
[...] Some Classic Programming Quotes – http://www.storm-consultancy.com/blog/other/classic-programming-quotes/ [...]
Greer’s Third Law of Computing: A computer does what you tell it to do, not what you want it to do.
Everything should be made as simple as possible, but no simpler. -Albert Einstein
(Couldn’t get the Captcha image to come up in FF3 – trying in IE)
Great quotes and sadly all too true.
I know that when I write programs, I often add the ability to trace and debug sections of code, or at least to have detailed messages that tell me what is wrong. For example, instead of a single message that says “Invalid Item Code”, I would have messages that say “Item Not On File”, “Item Not Valid For Location”, “Item Not Authorized For Customer” etc… That way, when a production program doesn’t seem to be working, a user can’t just say that they are getting an error on an Item, when it turns out to be a valid code but not allowable for some reason. Having multiple error messages greatly reduces the error reporting to the support desk, it also serves to help in testing the program prior to it going into production.
My favorite quote is…
If architects designed buildings the way that programmers designed programs, the first woodpecker that came along would destroy civilization.
The nickname of Lawrence Peter “Yogi” Berra has but one ‘g’.
I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say to yourself “Dijkstra would not have liked this”, well, that would be enough immortality for me.
– E. Dijkstra
“We know about as much about software quality problems as they knew about the Black Plague in the 1600s. We’ve seen the victims’ agonies and helped burn the corpses. We don’t know what causes it; we don’t really know if there is only one disease. We just suffer — and keep pouring our sewage into our water supply.”Tom Van Vleck:
I haven’t laughed so hard in a long time! Thank you so much for sharing these. My favorite is the psychopath maintainer one! Awesome.
[...] с одного сайта только потому, что в будущем сайт может исчезнуть, а [...]
“In C++ it’s harder to shoot yourself in the foot, but when you do, you blow off your whole leg”. – Bjarne Stoustrup.
“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 & Kevlin Henney.
[...] psychopathより。 [...]
Programs, like ships, sink in the C.
If Java had true garbage collection, most programs would delete themselves
upon execution. – Robert Sewell
Perl – $Just @when->$you ${thought} s/yn/tax/ &couldn\’t %get $worse;
Optimism is an occupational hazard of programming: feedback is the
treament. – Kent Beck
If we wish to count lines of code, we should not regard them as lines
produced but as lines spent. – Edsger Dijkstra
[...] This post was Twitted by brohoward – Real-url.org [...]
“[A]nd then it occurred to me that 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
“Beta. Software undergoes beta testing shortly before it’s released. Beta is Latin for ’still doesn’t work’.” – Author Unknown
“Version 1 of any software is full of bugs. Version 2 fixes all the bugs and is great. Version 3 adds all the things users ask for, but hides all the great stuff in Version 2.” – Fred Blechman
Tom DeMarco or Tom Cargill I believe came up with a variation of Nubenking’s quote above, by the way, and I thin he was the first.
If it aint broke then it don’t have enough features yet
[...] By dbenn Adam Pope recently wrote about Classic Programming Quotes. This reminded me that I’ve collected quotes on this page for several years. Lambda the [...]
Your post reminded me of the quotes I’ve collected over several years. Here’s a blog post I just wrote about that: hhttp://dbenn.wordpress.com/2009/05/19/programming-quotes/
“Three rules of optimization: 1. Optimize Later 2. Optimize Later 3. Optimize Later” – Author Unknown
a programmer in response to the warning on a packet of cigaretts, stating “warning ! smoking can cause cancer”:
“i am a programmer – I just care ’bout errors, not ’bout warnings”
[Your favorite programming language]
… is somewhat like teenage sex, everybody is talking about it, most are not doing it and those that are doing it, are doing it wrong.
I heard it with TDD and Java…
Another one (don’t know the author)
“There are only 10 types of people in the world: Those who understand binary, and those who don’t”.
This is one of my favorite and very true:
“Those who don’t understand UNIX are condemned to reinvent it, poorly.” – Henry Spencer
Edgar Dijkstra produced a long series of documents in longhand that are available in the E.W. Dijkstra Archive at utexas.edu. They’re fascinating; it happens that he’s an extremely good writer. His “counting lines of code,” from EWD1036, “On the cruelty of really teaching computing science,” has already been quoted here. One of my favourites is also from the same paper:
[...] [...]
[...] http://www.storm-consultancy.com/blog/other/classic-programming-quotes/ [...]