Feb 11, 2010
Ruby is an amazing language and you can develop with it fairy quickly. Rails is a MVC design pattern tool kit with a built in ORM. It also has scaffolding which helps you get CRUD pages up fast.
C# is a very good language and has "borrowed" most of Ruby's nice features. With the new release of .Net 4.0, c# is almost 50% lisp so you can develop with it fairly quickly. MS MVC is a MVC design pattern tool kit that is not quite as advanced as Rails but they are getting there. .Net has its own ORM with many more bells and whistles then Rails (which isn't necessarily good). MS MVC does not have scaffolding but unless you are building an internal web app that doesn't need any styles and everyone loves drill down you will be writing your own anyways.
The only real difference is scalability and performance. If you have a small website then RoR will not be a problem, but if you have a site the carries a heavy load you will need to spend quite a bit of time making it scalable. You will have to move to a better ORM mapper (like Merb/DM), make sure you have caching plan and really tune your app.
After that it comes down to preference and skill set. I have built websites using both. I think the Ruby language is very elegant and easier to code then C#, but I find the C# platform provides a very structured and robust tool set. You will also need programmers to code and maintain your sites. Currently it is easier to find developers to hire with "real" experience developing in C# then RoR. Hopefully as RoR gets more popular more developers will get more corporate exposure to RoR.
There is the question of cost. Microsoft tools cost and RoR tools do not. As with all free programs, you get what you pay for. What you don’t pay for in tools you pay for in higher developer salaries or longer development cycles. (Java developers still get paid more then .Net)
Feb 10, 2010
The best argument you can use in this case is the learning curve. Not only will there need to be an investment in Ruby skills which in all honesty wopuldn't be too bad but you would need to learn and understand a new runtime.
In my experience learning a new language is never the most difficult part of changing platform, but learning a runtime environment is. Understanding the runtime usually comes with many years of experience rather than books or a course.
This coupled with the fact that you already have developers with Microsoft experience and the development being made in ASP.NET MVC should make it a more convincing argument for staying with the MS platform and technologies.
Of course moving to ASP.NET MVC woiuld typically come with a need for Visual Studio which is no small investment, this can always affect the decision.
Feb 10, 2010
Dude trust me, I am so happy for you. If you embrace this change with open arms, I believe you will be better off. I would have loved to be in your shoes. I actually learnt ruby and then rails in my own spare time and I have worked a bit with MVC as well; personally ruby appeals more to me as the syntax is more expressive and compact, and more powerful. While learning ruby I actually cleared allot of my concepts in other languages hence it was a good experience for me. Additionally you will have another technology under your belt. So my suggestion is not to shy away and think with an open mind.