In my previous post, The Wisdom of Programming Quotes, I called out some quotes that look good on the surface, but turn out to promote the wrong ideas about software development. I have also posted some of my favorite programming qoutes in the past. But I thought I would list a few more good ones.

The Craft of Coding

“The act of describing a program in unambiguous detail and the act of programming are one and the same.” — Kevlin Henney

“Much of the essence of building a program is in fact the debugging of the specification.” — Fred Brooks

“A common fallacy is to assume authors of incomprehensible code will be able to express themselves clearly in comments.” — Kevlin Henney

“Bad programmers worry about the code. Good programmers worry about data structures and their relationships.” — Linus Torvalds

“Give someone a program, you frustrate them for a day; teach them how to program, you frustrate them for a lifetime.” — David Leinweber

Debugging

“Debugging is like being the detective in a crime movie where you are also the murderer.” — @fortes

– What do we want?

– Now!

– When do we want it?

– Fewer race conditions!

@wellendonner

Programming Languages and Systems

“Dynamic typing: The belief that you can’t explain to a computer why your code works, but you can keep track of it all in your head.” — @chris__martin

“Unix will give you enough rope to shoot yourself in the foot. If you didn’t think rope would do that, you should have read the man page.” — @mhoye

“If you put a million monkeys on a million keyboards, one of them will eventually write a Java program. The rest of them will write Perl programs.”

“When your hammer is C++, everything begins to look like a thumb.” — Steve Haflich

“C is memory with syntactic sugar.” — Dennis Kubes

“A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable.” — Leslie Lamport

Sufficiently advanced…

“Sufficiently advanced abstractions are indistinguishable from obfuscation.” — @raganwald

“Sufficiently advanced trolling is indistinguishable from thought leadership.” — Hall’s Law

“Any sufficiently advanced bug is indistinguishable from a feature” — R. Kulawiec

“Any sufficiently advanced incompetence is indistinguishable from malice” — Grey’s Law

Miscellaneous

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

[The common definition of estimate is] “An estimate is the most optimistic prediction that has a non-zero probability of coming true” . . . Accepting this definition leads irrevocably toward a method called what’s-the-earliest-date-by-which-you-can’t-prove-you-won’t-be-finished estimating.

Tom DeMarco (1982)