http://www.perlmonks.org?node_id=45963


in reply to The three virtues of Perl are CONFLICTING!

Laziness

A programmer does not want to type anything more than is absolutely required (where the value of required depends on your circumstances). This means they like reusable components, like modules, subroutines or even a quick way to write a loop over the elements of an array.

Impatience

A programmer wants to do things now, quickly and doesn't want to spend ages implementing a solution to a problem. This is closely related to laziness.

Hubris

Pride in a job well done. A programmer does not want to produce shoddy tools, he want his programs to Do the Right Thing and be bug free. This might seem to conflict with the other two, but it doesn't, not when you think about it.

Once you've finished your program (ie. once it can send email), you can stop writing it. A program isn't finished until all the bugs are squashed (hubris) and you want this to happen as quickly as possible (impatience) through the minimum of work (laziness). See?.