I was recently asked about Ruby On Rails(ROR) versus .net or java. Specifically, a CEO of a startup is planning to use ROR, in what situation would we use ROR? First off, I have essentially no experience actually developing in ROR so I should really keep my yap shut. Having said that, this is all best guess, big grain of salt stuff. Some of my response is below:
Here’s some specifics to go with that….
ROR is impressive at first look, big ‘shock and awe’ value. This is what sucks people in. My question is what’s it like to work in when it’s a large, long-running codebase, multiple developers, etc. ROR sucks people in because you can prototype really fast, and again that makes it impressive when watching demos etc. There’s nothing cool looking about demonstrating how a well architected java or .net app makes working in a multiple developer, large code base scenario more managable. That’s just boring but which does a particular client need?
As far as I know, ror isn’t a strongly typed language which presents some major issues. In the end, if I was building an application that I wanted to have staying power, ie I plan on the codebase lasting a while, then I would use java or .net along with a whack of available frameworks like spring, hibernate, etc to accelerate development time. In that light I’m not sure ror has much of an advantage. If you’ve never used those frameworks or a good O/R mapper then ror would be even more impressive because that’s a big piece of the shock and awe value you’re getting. I think the piece that impresses most people is it’s built in O/R mapper.
The real question is why? What does that CEO feel he’s getting by using ror? Cheaper developers? Better technology? No licensing costs? Better scalability? Faster development?
“After my run with RoR, I played around with ASP.NET 2.0. My thought the whole time was similar … where are the blog in 2 min (or 5 or 10 or w/e the RoR demo was) demos on this? Cause really, its a whole lot easier with ASP.NET 2.0 than in RoR. Its practically no code – all the controls are drag and droppable. Now, the biggest thing is that when you want to come back and do a real app in ASP.NET 2.0 after the initial wowing, you still can! You are the ones writing the SQL statements for the data sources (with tools to make it quick) and caching is very easy to implement. A lot of the plumbing is there for logins, user management, site navigation, etc, etc. And with all of it, if you need to, the provider model is easy to customize as you like.
That definitely sounds biased but thats how I honestly feel about it: They’ve done good with RoR’s marketing (the “demos”) but beyond basics, it really disappoints. Not so with ASP.NET 2.0 – only thing is maybe someone should do the 2-5 min “demo” for ASP.NET 2.0.”
Above quote from comments here.