The Wonders of Choice

June 11th, 2008

Heading to Rails Conf 2008 last week was great, such an energy it was hard to describe. I met some really great people I knew and lots I didn't, if I haven't started following you on twitter yet I'm sorry, huge stack of business cards to sort through still.

Anyway one of the main themes of the conference for me was that a lot of the speakers were talking about this idea of choice and how it is good or bad for us.

When DHH was speaking he talked about this at length, how Rails has been designed to remove choice from the framework. Having good defaults is very important for the ease with which new developers can pick up the framework and run with it. Now with a completely countering opinion when Ezra was speaking about Merb during one of his talks, it's designed around choice. There is no default ORM you need to choose one yourself.

So what does this mean on the large scale, I think we as humans really value choice. It's a natural thing to want and the removal of it sets off all kinds of Neanderthal warning bells in my subconscious mind. How can I love Rails so much then? It's design being so opinionated and communist at times, forcing you down the "Golden Path", well;

  1. The choices made are good ones.
  2. I trust the people making the choice will make good ones in the future.
  3. I am always able to look at the choices made, understand them and make my own decision.
  4. Being Ruby, my personal choices of implementation are inexpensive to change.

A couple of people I talked to at Railsconf where talking about Merb as a Rails killer, DHH made a really great point in his keynote that the Rails Killer "will need to be about 10x faster" and it's so true. For me I don't think there is an argument they're both awesome tools, having the choice to use one or the other doesn't hinder me. So in my mind, I don't think choice is bad a thing, only choices that are difficult to make are. (Yes I'm looking at you Microsoft Windows Super Pro Home Mega Ultra Special Gold Edition...)

Leave a Reply