Software Development Wisdom
Bits and pieces of software development and Unix wisdom, mixed with a bit of humor.
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
Computer science education cannot make anybody an expert programmer any more than studying brushes and pigment can make somebody an expert painter.
-- Eric S. Raymond
My definition of an expert in any field is a person who knows enough about what's really going on to be scared.
-- P. J. Plauger
Can God write a program so complex that he cannot debug it?
(a variant of the Omnipotence Paradox)
Any problem in computer science can be solved with another layer of indirection.
…except for the problem of too many levels of indirection.
Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away.
-- Antoine de Saint Exupéry
All programs have at least one bug remaining and can be optimized by one byte. Thus, by mathematical induction, all programs can be reduced to one byte. And it won't work.
A logician trying to explain logic to a programmer is like a cat trying to explain to a fish what it's like to get wet.
Designing software in a team is like writing poetry in a committee meeting.
-- Joel Spolsky
Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.
-- Eric S. Raymond
Our programming house is like a hoarder's delight: there's too much stuff in it and everything is too big. We need too many people to do basic things.
-- Rich Hickey
If it doesn't work, it doesn't matter how fast it doesn't work.
-- Ravera's observation on premature optimization
If you want to confuse your enemies, give them the source code. If you want to really confuse them, give them the documentation.