Friday, July 11, 2008

Laziness Impatience Hubris - three great virtues of a programmer

"We will encourage you to develop the three great virtues of a programmer: laziness, impatience, and hubris." - LarryWall, ProgrammingPerl (1st edition), OreillyAndAssociates

In the second edition of the book (which sports not only LarryWall as author, but also TomChristiansen and RandalSchwartz as co-authors), there is a glossary which has pithy definitions for each of these terms:

Laziness
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.
Impatience
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.
Hubris
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.




original link
0
said thank you for this page

Liked this article? Bookmark/share it with others: Didn't like the article, found a mistake or just want to express your own opinion? Post a comment!

0 comments:

Post a Comment

Have anything to say? Leave a comment!
Too shy or got a too private question? Email me
Alternatively, you can drop me a line on Twitter