Your Favorite Programming Quote

I have many favourites. Just two of them that fit in the context of this blog:

“Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.” – John F. Woods

“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

Some people program with rocks. Others use a hammer. I prefer a contractors’-grade pneumatic nail gun with a belt-fed magazine. Have fun “becoming one with the metal”, I’ve got real work to do.

– Said many times in response to “VB programmers are not real programmers”.

I love deadlines. I like the whooshing sound they make as they fly by.
Douglas Adams

Note that, I don’t take this as an influence :slight_smile:

When they first built the University of California at Irvine they just put the buildings in. They did not put any sidewalks, they just planted grass. The next year, they came back and put the sidewalks where the trails were in the grass. Perl is just that kind of language. It is not designed from first principles. Perl is those sidewalks in the grass -Larry Wall

It’s from here: http://www.softwarequotes.com/ShowQuotes.asp?ID=618Name=Wall,_LarryType=Q

Disclaimer: I don’t know Perl. But that’s one of the smartest things
I’ve ever read. Not strictly related to programming.

C programmers never die. They are just cast into void.

A boss gave me a book years ago called “Systemantics” (now unfortunately renamed to “The Systems Bible”) by John Gall, a pediatrician of all things. It used to be you’d order it from the good doctor’s office personally, but now it’s on Amazon and available to all. Anyway, this is a tongue-in-cheek-but-still-quite-worthy look at systems theory, including how systems are built, work, and more importantly, how they fail. And we’re talking all types of systems, of which computer systems are only one small part. I have passed on this book to more people than I can count.

The book is full of quotable lines, especially around the “axioms, theorems and corollaries” Gall puts forward. Here is a sampling. He uses other people’s ideas and quotes (with attribution), but much of the book is original, and given that the first edition was published in 1975, if you think someone else said it first, you may have to prove it predates the Ford presidency:

o Cherish your exceptions.

o New systems generate new problems.

o Systems tend to grow and as they grow they encroach.

o A temporary patch will very likely be permanent.

o People in systems do not do what the system says they are doing.

o The system itself does not do what is says it is doing.

o Systems attract systems people.

o A complex system that works is invariably found to have evolved from a simple system that worked.

o In complex systems, malfunction and even total non-function may not be detectable for long periods, if ever.

o Any large system is going to be operating most of the time in failure mode.

o If it doesn’t fail here, it will fail there.

o When a fail-safe system fails, it fails by failing to fail safe.

o In setting up a new system, tread softly. You may be disturbing another system that is actually working.

o Experience isn’t hereditary - it ain’t even contagious.

o The message sent is not necessarily the message received.

o Every picture tells a story - but not the same story.

o You can’t not communicate.

o The meaning of a communication is the behavior that results.

o Loose systems last longer and function better.

o Great advances do not come out of systems designed to produce great advances.

And my personal favorites:

o Systems develop goals of their own the instant they come into being.

o Intrasystem goals come first.

Anything by Donald Knuth.

There’s one quote I’ve read that was attributed to him that went something like:

“Computer scientists study computers in the same way that astronomers study telescopes.”

I can’t remember the exact phrasing, and google isn’t helping me.

On design:

Perfection [in design] is achieved, not when there is nothing more to add, but when there is nothing left to take away.
– Antoine de Saint-Exupry

Make everything as simple as possible, but not simpler.
– Albert Einstein

On user queries/feature requests:

On two occasions I have been asked [by members of Parliament!], ‘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

On the importance of testing:

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

“Simple things should be simple, and complex things should be possible.” - Alan Kay

“no ethically-trained software engineer…”

What does that about the Microsoft software engineer who wrote a href="http://msdn2.microsoft.com/en-us/library/ms441219.aspx"HideTaiwan()/a

“documentation” for HideTaiwan() method
http://msdn2.microsoft.com/en-us/library/ms441219.aspx

“…In fact, never ever use gets() or sprintf(), period. If you do - we
will send evil dwarfs after you.”

–FreeBSD Secure Programming Guidelines

A couple of my favourites are Kernighan’s Law:

“Debugging is twice as hard as writing the program, so if you write the program as cleverly as you can, by definition, you won’t be clever enough to debug it.”

and

On friend functions in C++ Scott Meyers wrote:

“Friends, much as in real life, are often more trouble than their worth.”

^^The latter I don’t believe is true, but I find it to be quite a window into a man who dedicated his book to his dog.

void foo()
{
auto_ptrCity Bagdad( new City );
//… some more code …
}
// and Bagdad destroyed as it goes out of scope

“Brevity is the soul of wit.” by William Shakespeare

is a quote I think captures some of the essens of programming…

I put together a few of my favourites last year (http://dsingleton.co.uk/archive/programming-quotes/2006/09/06/), my favourite being;

“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

“Talk is cheap. Show me the code.” - Linus Torvalds

http://lkml.org/lkml/2000/8/25/132

The very first “stupid users” quote ever recorded:

“On two occasions, I have been asked [by members of Parliament], ‘Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?’ I am not able to rightly apprehend the kind of confusion of ideas that could provoke such a question.”
– Charles Babbage (1791-1871)

One of my most productive days was throwing away 1,000 lines of code. – Ken Thompson

“Mostly, when you see programmers, they aren’t doing anything. One of the attractive things about programmers is that you cannot tell whether or not they are working simply by looking at them. Very often they’re sitting there seemingly drinking coffee and gossiping, or just staring into space. What the programmer is trying to do is get a handle on all the individual and unrelated ideas that are scampering around in his head.” - Charles M Strauss

“A great lathe operator commands several times the wage of an average lathe operator, but a great writer of software code is worth 10,000 times the price of an average software writer.” - Bill Gates

“Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.” - Eric Raymond