Good Lazy, Bad Lazy
22 Dec 2008
I’m a programmer. That’s how I earn my living, and I enjoy programming in my spare time as well. Not that I have a lot of spare time these days, working as a consultant, running a small business on the side with a couple of friends, and being the proud father of two boys and happy husband to one wife. However, I find that the less time I have, the more I get done. If I can’t hack it, I’m the one to blame, not anyone else. But why am I less effective when I have more time, and more effective when I’m under pressure? The answer is, not surprisingly, laziness.
According to Larry Wall, the three principal virtues of a programmer are laziness, impatience, and hubris. I’m starting to think that those traits are all just integral parts of the human condition. I’m not saying that Larry Wall is wrong, far from it. I’m just saying that he writes as much between the lines as he writes on them. Maybe that’s why (a) Perl is so hard to read and (b) Perl 6 isn’t out yet. Maybe he’s just saying that we’re all programmers at heart, us humans. I don’t know, and I’m too shy to ask.
I think there’s good laziness and bad, and the same goes for impatience and hubris. The good variants qualify as virtues, the bad ones do not. I’m pretty sure Larry Wall makes that very distinction somewhere, or at least explains what he means in more detail, but I’m too lazy to look it up at the moment, meaning ever. That’s an example of bad laziness, by the way. Good laziness would be to realize that speculation about something that you can look up instantly is a waste of effort. Then again, if people looked things up instead of speculating about them, there wouldn’t be so many bad blog posts around.
Latest Blog Posts
- Braid — 04 Apr 2011
- New Prototypes Repository — 07 Aug 2009
- jsua 0.3.0 Released — 06 Aug 2009