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 solutions.