About 9 years ago when I first got into web programming, I read a lot of Perl books and remember reading Larry Wall's Camel book. In it he says that the virtues of a great programmer are: "laziness, impatience, and hubris". I ran into it again in this RTFM? How to write a manual worth reading post by Rikki Endsley. I have heard programmers reference this, or some form of it, over years. You probaby have heard: "A good programmer is a lazy one". I knew that Larry was being facetious, but I thought it is funny some people did not. Larry Wall actually had to post a video to explains that he was joking.

He mentions that in the Japanese translation of his book, the editors actually had to put "This is a joke" in parenthesis next to the "laziness, impatience, and hubris" statement.

What the statement actually meant is that a good programmer has: diligence, patience, and humility.

  • laziness = diligence
  • impatience = patience
  • hubris = humility