views:

100

answers:

2

I ask specifically what the disadvantages are because it's easy to find and read about the advantages of using RoR instead of ASP.NET MVC. But I'd like to have a better understanding of the disadvantages so I have a better idea of what to expect when I begin building a social website using RoR.

Thanks so much in advance for your wisdom!

+1  A: 

I've been migrating from ASP.NET MVC to Rails and this is what I've got so far:

  • Dynamically typed (errors you are used to see at compile-time are now discovered at run-time)
  • No support for Enum-types
  • Ruby, as language, executes slower
  • No Visual Studio (although there are a few pretty sweet IDEs for Rails)
  • I haven't been able to find anything near as good as Intellisense

That said, the benefits of Ruby and Rails by far outweigh the disadvantages (IMHO).

EDIT: The advantages. There are so many, I'll try to list to most important from top of my head.

  • No licence costs. With Microsoft stack, you at least have OS cost (typically Windows Server 2008). More commonly in addition: SQLServer, Visual Studio and IIS. Licencing is usually per processor/machine. It becomes expensive and fast. Website/Bizspark just pushes the inevitable 3 years further. Mono is alternative open-source stack, but it lags behind the current ASP.NET and .NET versions 1-2 years. Its current support for 4.0 and ASP.NET is quite unfinished. So, IMHO Microsoft all the way or go open-source... and there are better alternatives than Mono.. like Rails.
  • Ruby and Python are IMHO higher level languages than C#. Some things are really concise to express. Lambdas, mixins, blocks, meta-programming support, etc. (you have to read and try them out to understand).
  • Rails is a great framework. Version 3.0 was recently released.
  • Version control, usually with Git, is used by a lot of Ruby developers. So you tend to start use that too.
  • Central package repository, from which you can easily get and update gems (which are tools, programs, libraries). Yes, in >90% cases you find everything from one place (and the rest on GitHub).
  • The open-source nature is seen from the RoR community in whole. A lot of things are shared.
  • Because testing is used almost everywhere, I found it to grow into me too. I would say Ruby and Rails really taught me about testing.
  • After using Rails for a while, ASP.NET MVC has started to look like an inferior imitator. I know this isn't the case and Haack & team has put a lot of effort. But I can't shake off this feeling.

And believe it or not, I've only scratched the surface.

See the Rails envy commercials for motivation and humor value. This one is about .Net vs RoR http://www.youtube.com/watch?v=528BCJiRkks. Here is another one http://www.youtube.com/watch?v=z99EHyG2jQA.

randomguy
thanks, randomguy, i really appreciate the insight. would you mind sharing a few of your favorite advantages of using RoR over ASP.NET MVC? I could use a little motivation :)
BeachRunnerJoe
Hahaha, and as you can see.. we have some Rails envy here. Poor fella. You could at least have the decency to explain the down vote.
randomguy
A: 

This is somewhat a ridiculous question. You make no mention of existing programmer knowledge or constraints. The major problem in deciding/porting/switching framework/language is training and project restrictions, suh as:

  1. organizations refusing to adopt a new technology
  2. dependency on existing code base.

If you have no experience with either of the environments, I'd suggest the Open Source project over the proprietary one.

You might also want to consider Django, the Python "equivalent" of Rails. I use it on several projects and find the documentation to be fantastic, which was my primary reason to choose it over Rails!

André Caron