On JD on Rails

Posted by Andrew on June 08, 2006

JD has posted about five four problems he sees with RoR. In this post I'll try to address each of his concerns.

Issue 1 - Scaffolding

If you think scaffolding is a "compelling" RoR feature then you have really missed the boat. Scaffolding is a minor feature of RoR in comparison with ActiveRecord for example. Scaffolding is beneficial primarily as a teaching aid for people new to the framework. Rather than pick on scaffolding why don't you choose one of Rails really nice features (like ActiveRecord) and contrast it with the approach you would use in .NET? Or maybe explain why you think the Page Controller pattern in ASP.NET is better than RoR's Front Controller.

Issue 2 - Scalabililty

Come on dude. This argument is really pretty tired now and I'm surprised you would partake in such FUD mongering without actually doing some research. A simple Google yields numerous discussions - Of which New Take on Scalability is a decent one. To paraphrase:

Scale to what? You are asking a meaningless question. Be specific like: Will is scale to 2.5 million requests per day? Uh, yep.

Remember, developer time is now a much more precious resource than hardware and this is only likely to continue. The best frameworks and languages are the ones that realise and optimise for this.

You also need to ask yourself: Why are you so obsessed with scale? From the aforementioned post, Alex answers:

That’s an easy one: everyone wants to believe they are going to be “big.” They want to use tools that let them indulge in that belief, however statistically unlikely their eventual bigness may be. Alternatively, they believe they are in fact already “big,” not understanding how massively unbelievably big they would have to be for scalability to really matter."

Finally, I like this quote from Koz:

"… But asking whether something ’scales’? It reveals more about the questioner than any answer would about the framework."

Issue 3 - IDE Support.

Um, is this not a general Ruby issue and not a specificly RoR one? Once again, be specific. What features are you missing that are not available in say something like Komodo or ArachnoRuby? They both have debugging, projects, intellisense etc. and are faster and more lightweight than VS.NET. It's not really about this IDE or that editor, but more about "have you mastered it?" In other words, I suspect that someone proficient in TextMate would go faster than an average VS.NET user.

Issue 4 - Frequent Releases.

Not an issue. Agile developers favour frequent releases because they reduce the feedback cycle and incremental change is easier to manage. RoR provides the necessary versioning mechanism (freezing) to allow you to pin your app against a specific version. It is hardly the framework's fault if the developer chooses not to use it.

Issue 5 - Scalability - again.

See 2.