The Three Virtues

So somewhere along the line this blog lost it’s tagline, making the title somewhat obscure. No, I didn’t name the blog “Virtuous Code” because I believe I’m a paragon. It’s a reference to a quote by Larry Wall in the the famous “Camel Book”:

“We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris.”

These virtues are elaborated on as follows:

The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it. Hence, the first great virtue of a programmer. Also hence, this book. See also impatience and hubris. (p.609)

The anger you feel when the computer is being lazy. This makes you write programs that don’t just react to your needs, but actually anticipate them. Or at least pretend to. Hence, the second great virtue of a programmer. See also laziness and hubris. (p.608)

Excessive pride, the sort of thing Zeus zaps you for. Also the quality that makes you write (and maintain) programs that other people won’t want to say bad things about. Hence, the third great virtue of a programmer. See also laziness and impatience. (p.607)

For more, see WikiWiki.

The quote has now been restored to its rightful place of honor, along with sundry other updates.