Listened with interest to the July presentations at Ruby meetup in San Francisco. This is my fourth meetup and the group has more than doubled.
The Danger of the Hype
The hype is not receeding, in fact it is only increasing. People are reluctant to discuss shortcomings, and are all about hyping each other up. This is a dangerous ground to be on. I am surprised that at all meetups I've been to, and at the Canada on Rails conference there were exceedingly few mentions of issues, problems, pains. Sure Ruby solves some, but nothing's for free. What's the cost then?
As I am coding through my third month in Ruby, I am starting to appreciate both the power and the weaknesses of the language, as well as the framework. It must be the non-conformist in me: I just can't follow the herd without questioning. The J2EE herd is all too fresh in my mind from only a few years ago, so a healthy doze of scepticism is what it is - healthy.
So I finally came across the first bug due to languge flexibility in Ruby. My model in our Rails project is a Book. Part of the book meta data is binding. Believe it or not, you really can't use attribute called "binding", because under some conditions it silently overrides method Proc.binding(). The symptoms were really obscure errors upon saving the model, something about type mismatch of block parameters.
Sometimes it's nice to know explicitly what you are overriding, just in case it may bite you in the ass later. This was 3+ hours spent debugging the issue (between myself and several others)... Of course have to counter it to the productivity gains achieved with Rails development, which everyone is talking about. Well, I am not quite sure I am ready to make this judgement, I think more time will tell.