August 2nd, 2006
I was just watching the keynote address from RailsConf 2006. I have to say that I am always impressed with the lucidity of David Heinemeier Hansson’s thought when it comes to making technology make sense. He definitely has a gift. On the other hand, his approach is so simple that it seems silly that no one did it before.
One of the keys to his genius is being revealed in this talk. That key is that belief comes before understanding.
I’m a religious man. Part of being religious and believing in certain great mysteries that aren’t immediately transferable or understandable. It also involves dealing with people who don’t believe. What has become apparent is that it is useless trying to explain to people any of the advanced ideas that come from religious beliefs until they accept the basic premises. So many people want to understand before they can believe. That doesn’t work, and the Ruby on Rails phenomenon is showing me that this is just a fundamental priciple of wisdom and understanding more than anything exclusively religious.
The example has to do with what David was saying about CRUD. He was trying to solve problems and found himself leaving the CRUD framework because the solutions just didn’t fit in there. Then his epiphany occurred. How did it happen? He changed his mindset. He says he “stopped worrying and learned to love the CRUD.” He came to do that by believing in the CRUD, and then looking for the way that his solution fit within CRUD. If he didn’t first believe that CRUD was the way to go, he would have kept looking for his answer outside of CRUD.
I think this basic principle is the foundation of the Ruby on Rails phenomenon.
David did the same thing with Rails. He put his belief in one way of doing things and then went about discovering how all kinds of problems could be solved within this one opinionated framework. This is fantastic news for developers everywhere, but you can only capitalize on it if you can first believe in it. If you accept the conditions of being a disciple of Ruby then you will be liberated by the framework from re-inventing the wheel all over the place. You can experience the power of DRY (don’t repeat yourself)
To see what I’m talking about, check out the recording of David’s Keynote Address
The next topic I plan to write something about is Rails and Design Patterns and how Rails is somewhat of a culmination of the Design Patterns ‘movement’ on many different levels.