20 08/05

Simplicity through good design

I know there are a few people who read my blog who might be at least slightly interested in this post by Jason Hunter. For those who don’t know, Jason wrote a great book on Java Servlets (which I think I have a copy of in a box that’s not been unpacked yet).

This article reminds me of me of my days writing Perl programs.
Perl’s motto was (and maybe still is) “there’s more than one way to do
it”. When I first started learning Perl I thought that was
awesome. As long as it was just me working on my little scripts,
I could do whatever I wanted and I (of course) always came up with the
best solution. But, it turns out if I were to give the same task
to 10 different people I’d end up with a number of different solutions,
each person thinking that theirs was the best. The problem with
Perl was that I’d have to be an expert in many different aspects of
Perl to even understand everyone else’s solution.

Now that I’ve grown up and I’m working on projects with more than one
person, I want a language who’s motto is “there’s one way to do
it”. The lanugage/framework Jason compares to Java in his
post is Ruby on Rails, something I’ve been playing with for a few
months now on personal projects. I must say that out of any
framework I’ve used, Rails gets closest to the “one way to do it”
motto. I enjoy coming up with unique solutions to problems, and
it’s one of the reasons I got into programming, but as I move forward I
realize that good design will get you much farther than unique