These kind of articles are, I guess, fun to write, but do they really help in the spread of Ruby on Rails? If the idea is to convince .NET developers and development teams that switching to Ruby on Rails is a good thing, then a better use of one’s time would be to switch gears from using argument from authority to explaining how Ruby is better and how people can switch to RoR easily.
For example, here are some of the questions that .NET users may have about RoR:
- In what ways is RoR superior to ASP.NET? What are the things it can do better? And in what areas is it weaker?
- What tools, documentation, training and support does RoR have? How is it different or superior to what is provided by Microsoft, .NET commercial vendors and the .NET open source community?
- How is the RoR production and hosting situation (pricing, availability, administration) when compared to a Microsoft solution?
- What kinds of problems are RoR an ideal fit for? When should you choose something else (say, C++)? What platforms, what kind of teams, what scale of applications work well with RoR?
- How is the RoR community superior to the various Microsoft communities and leaders? What do they provide that you cannot obtain from the .NET space?
- How does RoR address the typical priorities for .NET developers (enterprise support needs, existing Windows infrastructure, etc.)?
- What is the migration path for a .NET application to Ruby on Rails? How much time and effort does it take? How much effort does it take to re-train an existing junior or mid-level .NET programmer to become an effective RoR programmer? How easy is it to find RoR developers in different geographic locations (say Seattle or New York City versus San Francisco)?
- What about performance, security, hardware needs, etc.?
If you Google “Ruby versus ASP.NET MVC”, the quantity and quality of useful information is very low and outdated. This is to be expected, of course. Very few people have the time or opportunity to remain fully informed of what is happening in two different platforms and evaluate new software packages or tools. And everyone has their biases. But it would be helpful if we had someone doing that, not only for those 2 packages, but also platforms based on other programming languages and frameworks.
There are many sites that have “shootouts” of various hardware devices. You might have PC Magazine take 20 gaming laptops, run a series of tests against them and then publish the results. You may not always go and buy the best rated one, but you get an idea of the weaknesses of the one you choose. But we don’t have many such shootouts on the software tools side and the few available suffer from religious fights.
This is perhaps only my impression, but the Rails community seems to have a strange Microsoft fixation and every .NET defection is celebrated. With Microsoft’s history, you cannot go wrong with Microsoft bashing. But there are so many other open source frameworks (and languages) that are competing with RoR and people rarely have anything to say about those.
For example, PHP (the most under-rated language today) is the engine behind thousands (and probably millions) of websites on the Net through WordPress and Drupal. You can leverage thousands of WordPress and Drupal plugins to create useful business apps without starting from scratch. Not to mention PHP frameworks like Zend. Google App Engine uses Python to build apps using plain Python or a framework like Django. The level of excited arguments about PHP and Python is very low, but apparently they are more popular than Ruby, if TIOBE is to be believed. When was the last time you read a RoR evangelist tear PHP and Python apart? Does the Ruby community treat those platforms as equals?
The RoR attitude towards ASP.NET MVC is depressing. I have read criticisms that Rails had all the new goodies offered by MVC years before and that MVC is still catching up. You would think that the RoR community should be happy that .NET developers (who cannot migrate because of constraints at work) are working in a better platform that is dynamic (putting out new releases quite often). But I don’t get that sense.
I find the complaints about the complaints about the complaints very amusing. But I don’t see the .NET community starting these fights. Maybe they (and the PHP folks) don’t have the ammunition to start the fight, but still. But if there are to be fights, it would be nice to have them provide useful information.