5x12 pentomino tiling
«

Laziness, Impatience & Hubris

»

In a job advert posted by MySociety on their web site a couple of days ago under personal qualities required it put first:

  • Laziness, Impatience, Hubris

"Huh?" I thought. I'd not come across this before so I read up on it. And it comes from Larry Wall, the man who brought us Perl (yes, it's his fault).

In the first edition of Programming Perl Wall and Randal L. Schwartz said:

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

In the second edition Wall and Schwartz, who had then being joined by Tom Christiansen expanded on this by outlining the three virtues in more detail:

  1. 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.
  2. 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.
  3. 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.

Seems fair.

Written 08/01/10

Comment on this article

« »
Current status: (via twitter)
Paul is pretty much as far north as he can go on Skye and is settled in for the night.
I am currently reading:

The Undercover Economist
  by Tim Harford
Devil May Care
  by Sebastian Faulks
  writing as Ian Fleming (ebook)
"Nancy Blackett":
 Under Sail with Arthur Ransome

  by Roger Wardale

(?)
Word of the Day:
knucklebones