This just takes the cake, because it's so true and so <i>old</i>:<p>"On two occasions I have been asked, "Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?" In one case a member of the Upper, and in the other a member of the Lower House put this question. I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question.
— Charles Babbage"
"If you don't have the right abstractions, you can make things artificially difficult." - Joe Armstrong<p>"How long will people continue believing in the myth of the 15-year-old hacker genius while simultaneously decrying the unreliability of software before the cognitive dissonance finally cracks?" - Dave Herman (<a href="http://calculist.blogspot.com/2005/12/12-weeks-with-geeks.html" rel="nofollow">http://calculist.blogspot.com/2005/12/12-weeks-with-geeks.ht...</a>)<p>Also, there are quite a few at cat-v (<a href="http://quotes.cat-v.org/programming/" rel="nofollow">http://quotes.cat-v.org/programming/</a>).
A couple of favourites:<p>"I'm not a computer guy,” they'll say with a big smile on their face. Well gee, the personal computer is only the most significant invention to come along in the past 100 years. You'd think one might be mildly curious about how it works. -- Anon<p>By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and, in effect, increases the mental power of the race. -- Alfred Whitehead (replace notation by abstraction and it holds for programming too)<p>As soon as we started programming, we found out to our surprise that it wasn't as easy to get programs right as we had thought. Debugging had to be discovered. I can remember the exact instant when I realized that a large part of my life from then on was going to be spent in finding mistakes in my own programs -- Maurice Wilkes<p>Eventually a friend of a friend is a security hole -- Anon
"Good programming is not learned from generalities, but by seeing how significant programs can be made clean, easy to read, easy to maintain and modify, human-engineered, efficient, and reliable, by the application of common sense and good programming practices. Careful study and imitation of good programs leads to better writing."
<i>- Kernighan and Plauger, motto of 'Software Tools'</i>
Ouch:<p><pre><code> “I saw `cout’ being shifted “Hello world” times to the left and stopped right there.”
— Steve Gonedes
</code></pre>
(via <a href="http://q4td.blogspot.com/search/label/programming" rel="nofollow">http://q4td.blogspot.com/search/label/programming</a>)
"Debugging: considered with dread, attempted with reluctance, bragged about with enthusiasm"<p>Not sure what the original source is, or even what the original formulation is, but it rings true to me.
This simple thought makes your code quite good looking.<p>Always code as if the guy who ends up maintaining your code
will be a violent psychopath who knows where you live.
"Every program can be reduced by at least one line and every program contains at least one error. Therefore every program can be reduced to one line, which is wrong!"<p>Dan Garcia
Not exactly programming, but more about cracking<p>"cracking is like sex with a prostitute, you have to get in, take all the goodies and get out without leaving a trace."<p>EDIT: spelling mistake