http://qs321.pair.com?node_id=11127349


in reply to Papal infallibility

http://threevirtues.com/:

Three Virtues

According to Larry Wall(1), the original author of the Perl programming language, there are three great virtues of a programmer; Laziness, Impatience and Hubris

  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.
  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.
  3. Hubris: The quality that makes you write (and maintain) programs that other people won't want to say bad things about.

The point is to be smart in exercising laziness, understanding that up front work can provide longer-term benefits. Laziness is used to describe the motivation to either save time, or make a more compelling product (which may lead to improved income, which can buy leisure, too). False laziness is taking shortcuts that save time up front but result in more work later. Virtuous laziness is working a little harder up front for the long term benefit in the future.

Cutting corners (in careful ways) up front can be a calculated tradeoff too; sometimes decreased time to market is more important than perfection. This is still a reasonable form of laziness; someone has (hopefully) calculated that the accelerated time to market will earn the right to continue, and that will allow for the exercise of greater virtuous laziness in the mid-term for that long-term laziness payoff.

None of this explains very well why some of us have been contributing here for so many years, and continue to do so. Hopefully we have moved the mark forward not only with Perl but with more general programming practices so that the collective virtuous laziness has benefited. I acknowledge that we often get used as a crutch by those exercising improper laziness. But if, on the whole, the craft has moved forward there has been a net positive. I know that it has been a net positive for me.


Dave