DEV Community

Francesco Napoletano
Francesco Napoletano

Posted on

The Three Virtues of a GREAT Programmer

I'm for sure not a great programmer, but I find myself 100% convinced that the three virtues of great programmer from Larry Wall are the best explanation of what a great programmer is.

The Three Virtues of a GREAT Programmer, according to Larry Wall (the creator of PERL):

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

Source: http://threevirtues.com/

Originally published @ https://coding.napolux.com

Top comments (3)

Collapse
 
ben profile image
Ben Halpern

I'm not sure I'd label that third quality as hubris if done in a healthy way. I think that's sometimes the way you end up with "greatish" programs with critical flaws that the inventors were too proud to address.

Perhaps a bit of hubris can be a positive as part of a group, but I'm not sure if teams filled with this quality are going to be doing well.

My 2 cents

Collapse
 
napolux profile image
Francesco Napoletano

Perhaps a bit of hubris can be a positive as part of a group, but I'm not sure if teams filled with this quality are going to be doing well.

I agree. But sometimes you have to be "over-proud" of what you're doing (and willing to do).

Collapse
 
chuckwood profile image
Charles Wood

I have a feeling that these are a bit tongue-in-cheek ;)