Sunday, August 21, 2005

From here

searching for combination of terms: great virtues of programming
grepping for regex 'great' ... 126 hits
grepping for regex 'virtues' ... 1 hits
grepping for regex 'of' ... 1 hits
grepping for regex 'programming' ... 1 hits

Laziness, Impatience, Hubris

"We will encourage you to develop the three great virtues of a programmer:
Laziness, Impatience, and Hubris."

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.

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 that pretend to. Hence, the second great virtue of a programmer.

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.

- _Programming Perl_, p. xiv, by Randall Scwartz & Larry Wall