When one uses rails, it is not about just learning a new syntax, it is about embracing a new culture, the culture of “willingness to adapt and change”. You can see this from rails iteration cycle. The amount of change packed into a version update is huge and update happens very often. This is all good but it means that all gems dependencies have to upgraded as well to follow the pace. As such, it is very hard to develop a stable system.
Well, we can lock down a version of ruby, rails and gems for the software but the fast updates of rails will make the developers hungry for upgrade as every update is so exciting… Update is not as challenging if the complexity of the software is low with low gems dependencies, ie perhaps apps like twitter or a simple cms system. Upgrading very complex system like a shopping cart would be very hard. That is why ruby developers run test so frequently as chances of things breaking during an update is high.
I have nothing against rails but the entrepreneur spirit that it embraces makes it hard to create a stable, enterprise application. I would still use rails as a platform to create quick prototypes, demo or simple applications. The turn around would be fast. For complex, enterprise ready applications, I would still prefer java, .net or php.
In that sense, it don’t think that ruby is the language and rails is the framework of the future as many ruby supporters claimed. Rails will still have a fair share in the market but many framework written in other languages will still be there in 5 years time. Many framework will learn from the technologies incubated from the rails playground. I think that programming languages will become more and more diversify, with each having their own supporters.
I would continue doing what I am doing and be really good at it. Whichever language that builds an absolutely stunning application that people cannot live without will win the war.
This is of course just my personal opinion.