Friday, December 22, 2006

Elegant software and the selfish gene

People, for the most part, are not playing with their software because they want to. They’re using the software as a tool to accomplish something else that they would like to do. Maybe they are using a chat program to try and seem witty, in hopes that the person they are chatting with will want to spend time with them, so that, ultimately, they have a better chance of getting laid, so that, ultimately, their selfish DNA will get to replicate itself. Maybe they are using a spreadsheet to try and figure out if they can afford a bigger apartment, so that, ultimately, dates will be more impressed when they come over, increasing their chance of getting laid, again, benefitting the DNA. Maybe they’re working on a PowerPoint for the boss so that they will get a promotion so that they’ll have more money which they can use to rent a larger apartment that would attract mates, thus increasing their chance of getting laid, (getting the idea yet?) so the selfish DNA can replicate. [...]

Unless they’re software reviewers for a living, they don’t really care about the software itself, and the more they notice it, the more annoyed they’re going to be.

That's Joel Spolsky on elegance in software design.