Many 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 the years. You probably have heard: “A good programmer is a lazy one.” I knew that Larry was facetious, but I thought it is funny some people did not. Larry Wall had to post a video to explains that he was joking.

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

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

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