Break Points
Programming quotations
Jack Ganssle
12/1/2009 12:00 AM EST
O death, where is thy sting? O grave, where is thy victory?
Those words ring with Shakespearian power. Hamlet? King Lear? Actually, the quote comes from the New Testament.
I image the Bible is the most-quoted book of all time. My parents would paraphrase a parable or cite a verse to make a point or correct our behavior. The nuns at St. Camillus did, too, and a sure way to curry favor with them was to quote chapter and verse. Even the most secular couples often use 1 Corinthians 13 in their weddings.
The world abounds in aphorisms that convey wisdom to the young, although that advice is usually ignored. Many aphorisms are by unknown authors: "A stitch in time saves nine" (although anyone who has repaired a sail knows that one stitch can actually save 9,000). "People who live in glass houses shouldn't throw stones." And many witty people have contributed their own, like this gem from Mae West: "Lead me not into temptation; I can find the way myself."
Pithy quotes and aphorisms can entertain and instruct. Often they do both.
Engineers can turn a clever phrase as well as Mae West. I've collected quips that relate, sometimes unintentionally, to development for many years. Here's some of the best:
Testing by itself does not improve software quality. Test results are an indicator of quality, but in and of themselves, they don't improve it. Trying to improve software quality by increasing the amount of testing is like trying to lose weight by weighing yourself more often. What you eat before you step onto the scale determines how much you will weigh, and the software development techniques you use determine how many errors testing will find. If you want to lose weight, don't buy a new scale; change your diet. If you want to improve your software, don't test more; develop better.
--Steve McConnell
Programming can be fun, so can cryptography; however, they should not be combined.
--Charles Kreitzberg and Ben Shneiderman
The sooner you start to code, the longer the program will take.
--Roy Carls
Our developers never release code. Rather, it tends to escape, pillaging the countryside all around.
--The Enlightenment Project
Perl is the crystal meth of programming: it's so incredibly useful when you need to do a large amount of work in a small amount of time that you tend to overlook the fact that it's basically precipitating the implosion of your vital organs.
--Dan Martinez
Programmers are the tools for converting caffeine into code.
--Unknown
If you lie to the compiler, it will get its revenge.
--Henry Spencer
There are only two industries that refer to their customers as users.
--Edward Tufte
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, Jr.
To iterate is human, to recurse divine.
--L. Peter Deutsch
Good judgment comes from experience, and experience comes from bad judgment.
--Fred Brooks





JMWilliams
12/1/2009 2:32 PM EST
My favorite is one by Einstein:
"A good theory is made as simple as possible.
But no more so."
Sign in to Reply
DrOctavius
12/2/2009 12:57 AM EST
"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away"
Antoine de Saint-Exupery
Sign in to Reply
D_Lundin
12/2/2009 7:37 AM EST
“Normal people believe that if it ain't broke, don't fix it. Engineers believe that if it ain't broke, it doesn't have enough features yet.”
Scott Adams
Sign in to Reply
milamber
12/2/2009 1:10 PM EST
I think you doubled up on
"If the code and the comments disagree, both are probably wrong."
:)
Sign in to Reply
krwada
12/2/2009 2:20 PM EST
"Give the laziest man the hardest job, he'll find the easiest way of getting it done."
- Anton Martin Sorenson -
"A good scientist is a person with original ideas. A good engineer is a person who makes a design that works with as few original ideas as possible. There are no prima donnas in engineering."
- Freeman Dyson -
"Beware of the software engineer carrying a screwdriver"
- XTALK -
Sign in to Reply
JackCrack
12/2/2009 4:13 PM EST
"Trying to understand how a program works by looking at the code is like trying to understand how a jet airplane works by looking at the wiring."
- Jack Crack -
Sign in to Reply
Rotti
12/3/2009 12:29 AM EST
Software Companies are like maternity homes - full of deliveries - only difference - more abortions & prematured deliveries here.
Sign in to Reply
Shreshtha
12/3/2009 3:07 AM EST
The sooner you start to code, the longer the program will take. --Roy Carls.
Corollary: The later u start 2 code, the sooner u'll know that it'll not complete.
Sign in to Reply
harleym
12/3/2009 5:51 AM EST
We can teach an artist to animate; we cannot take the time or expend the effort to teach him to be an artist Chuck Jones (1989)
An obvious metaphor for the type of programmers that you should employ. I also love daffy duck.
Sign in to Reply
Patrick Joyce
12/3/2009 8:13 AM EST
"The key to happiness is low expectations."
I use this on my boss all the time.
Sign in to Reply
George65
12/3/2009 9:33 AM EST
"Begin at the beginning,", the King said, very gravely, "and go on till you come to the end: then stop
Lewis Carroll (author, "Alice in Wonderland")
Sign in to Reply
George65
12/3/2009 9:33 AM EST
Now, here, you see, it takes all the running you can do, to stay in the same place. If you want to get somewhere else, you must run at least twice as fast as that!
Lewis Carroll (author, "Alice in Wonderland")
Sign in to Reply
ddaly
12/3/2009 10:02 AM EST
I'm not a UI guy, but:
"The only intuitive interface is the nipple. After that, it's all learned."
--Bruce Ediger (I think)
Sign in to Reply
ESD editorial staff: SRambo
12/3/2009 11:35 AM EST
Thanks, milamber. We removed the extra quotation.
Sign in to Reply
Xril
12/3/2009 11:44 AM EST
Top 5 Engineering Quotes from "Mostly Harmless" by Douglas Adams
5) Now logic is a wonderful thing but it has, as the processes of evolution discovered, certain drawbacks. Anything that thinks logically can be fooled by something else, which thinks at least as logically as it does.
4) Reverse engineering. To me the flow of time is irrelevant. You decide what you want. I then merely make sure that it has already happened.
3) It wasn't his job to worry about that, though. It was his job to do his job, which was to do his job. If that led to a certain narrowness of vision and circularity of thought then it wasn't his job to worry about such things.
2) The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.
1) A common mistake that people make when trying to design something completely foolproof is to underestimate the ingenuity of complete fools.
Sign in to Reply
Steve in Troy
12/3/2009 1:37 PM EST
An expert is a person who has made all the mistakes that can be made in a very narrow field. Niels Bohr
Your theory is crazy, but it's not crazy enough to be true. - Niels Bohr
If all else fails, immortality can always be assured by spectacular error. - John Kenneth Galbraith
Sign in to Reply
George65
12/3/2009 1:47 PM EST
There is no detail so small that it shouldn't be checked out.
-Kossuth
Sign in to Reply
Tom Maz
12/3/2009 3:00 PM EST
It's always darkest just before it goes totally black.
No engineering project is ever finished, it is merely abandoned.
Sign in to Reply
Ray Keefe
12/3/2009 6:08 PM EST
"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
Ray Keefe
Successful Endeavours
http://www.successful.com.au
Sign in to Reply
piyush_
12/3/2009 7:00 PM EST
Newton's three laws of software:
1. Software once in motion, remains in motion until external forces (economic limits etc) are applied to stop it.
2. F = ma, F = number of bugs, m = mass of software (number of lines of code), a = rate of change of software.
3. For every bug fixed, there is an equally bad one created due to the fix.
Sign in to Reply
PoorRichard
12/10/2009 1:27 AM EST
"A mind all logic is like a knife all blade"
-Rabindranath Tagore
Sign in to Reply
wfarid
12/10/2009 6:25 PM EST
Thanks.
Sign in to Reply
KarlS
12/11/2009 1:12 PM EST
"A 1200 baud telephone line is no match for the bandwidth of a pickup truck loaded with reels of magnetic tape shuttling between campuses" -- Dr. Fred Brooks, from a lecture on what went right with IBM System 360 and his telecommunications experience at Research Triangle Park.
Sign in to Reply
low-level SW guy
12/14/2009 10:35 PM EST
Here is one of mine:
Software has an infinite capacity to cripple good hardware.
Sign in to Reply
NetJohn
12/15/2009 6:06 PM EST
"Walking on water and writing software to specification are easy as long as both are frozen." - Edward V. Berard
NJ
Sign in to Reply
billgus
12/16/2009 11:53 AM EST
They make things so sophisticated that they dont work.
Sign in to Reply
Andrew Miner
12/17/2009 1:50 PM EST
The project specs are dark and deep,
But my boss says his promise I must keep,
With lines to code before I sleep,
With lines to code before I sleep.
- Adapted from Robert Frost by Andrew Miner
Sign in to Reply
ssavitzky
12/21/2009 8:57 PM EST
There are no rules of architecture for castles in the air.
-- G. K. Chesterton
Sign in to Reply
PerusErkki
12/23/2009 11:40 AM EST
"Find the bug, Fix the bug, Do it many times" - Erkki Salonen, Nokia Quality Award 2005 / SW category
Sign in to Reply
Tiger Joe
12/28/2009 7:50 PM EST
Correct me if I'm wrong, but I believe that quote from Richard Feynman came from when he was one of the investigators into the Challenger disaster (demonstrating the frozen O-rings).
What is elegant code?
Elegant code makes it obvious that it is the perfect and simplest solution to a problem. If this is not the case, then it is not elegant.
Needless to say, I have not seen, nor written much elegant code in my lifetime so far.
Sign in to Reply
quasi29
1/4/2010 7:52 PM EST
This is one I post in my work area:
Thinking is the hardest work there is, which is probably the reason why so few engage in it.
Henry Ford
Sign in to Reply
hbamford
1/8/2010 6:51 PM EST
Any program has at least one remaining bug and can be optimized to reduce the size by at least one byte. Thus, any program can be reduced to one byte. And it won't work.
Unknown.
Sign in to Reply
Spartacuss
1/30/2010 9:44 PM EST
"I can't think of anything I haven't thought of." - Thomas P. (when asked why he skipped reviewing his requirements doc with the customer)
Sign in to Reply
seenu461
3/6/2010 12:08 AM EST
My professor says this....
A worst doctor can kill a person...but a worst engineer can kill millions...!!!
-- Dr. Brad Noble, Southern Illinois University Edwardsville
Sign in to Reply
one_armed_bandit
3/25/2010 5:48 PM EDT
There are only two reasons to learn a computer language:
1) It changes the way you think
2) someone pays you to write a program
- bandit's rule of languages
(inspired by Pat Orr)
There cannot be good engineering without conflict
- Liddell's rule of engineering
Sign in to Reply