Art Of Programming

musings by Dmytrii Nagirniak

Ruby on Rails vs ASP.NET MVC

I have been watching the ASP.NET MVC vs Ruby On Rails talk from the Norwegian Developers Conference 2010 and just want to make a number of quotes that I particularly liked. My apologies if I missed something, but I believe it would be interesting to read it for those who don’t want to spend 48 minutes to watch the whole thing. I believe the quotes here really summarise the atmosphere during the talk.
So here we go:
Rails was extracted from the real world work sweat, blood, tears, everything..
And it feels like it is.
ASP.NET MVC is a “me too” framework - trying to compete with other solutions. ASP.NET MVC is not part of the story for WebForms, not quite fit.
Aha. Try to tell WebForms guy about MVC :)
Microsoft promotes it as an option. Option for what?
These words from Rob Conery probably mean that MVC is something that was not “designed” to be mainstream. But rather an “option” for… well web development on .NET.
[About TekPub]…rewrite point for startup - reconsidered BizSpark. We wanted to stay small.We needed fast, easy framework. Up in the cloud, scalable, zero cost, everything.
There was a lot of buzz behind the decision to move to Rails by Rob Conery who was a .NET advocate. But it was a happy business AND technical decision.
Rails came out of a need. MVC hasn’t. NHibernate came out of a need. Entity Framework hasn’t. It’s always the same: solving problems they personally don’t have, so they are not in the context of their problems.
Microsoft projects often come out of suppositions.
That is very common with Microsoft. They have to be everywhere and at the same time nowhere. Anything “new” that comes out from Microsoft has already been adopted and they are just catching up.
Dell is rebuilding everything in ASP.NET MVC (instead of WebForms).
Good for them. In any case, ASP.NET MVC  IS a good thing to have in .NET world. And that’s my preference for Web development in .NET. Probably same goes with Dell.
MVC redirected the attention back to .NET after .NET Web developers started moving to Rails.
True. And in fact, most of the features of ASP.NET MVC were borrowed from Rails. So that was one of the easiest ways to hold .NET gurus back.
Why would .NET developers move to Rails?
Testing in rails is…uhh… it’s something you realise when you do it. Testing tools like RSpec and Cucumbet are just natural.
Deployment – Capistrano, Heroku – just unbelievable.
Cannot agree more on this. Testing “just works”, deployment “just works” it all “just works”.
In .NET we like to overcomplicate ourselves. Something too simplistic can’t be good. [No worries with SRP principle – objects aware of the persistence and similar].
In .NET we question more.
Speaking about myself, I do agree with it. Partially due to the nature of .NET (C#), partially because testing is harder, but also just because .NET developers try to solve problems in advance assuming those will exists (while in many cases they will not).
The MVC/MonoRail and Ruby On Rails have the same features.
Read on…
You have the same names of the features, but the experience is dramatically different. There’s incredible amount of software out of the box to do anything.
ASP.NET NVC hasn’t even got a plug-in mechanism.
So true! So true!
Why do we have to wait for 2 years to get the innovation that we already have available to us right now in Rails?
The rails community moves with small changes all the time, while .NET – with large in couple of years time. So for Rails it is a normal evolution, while for .NET it is rather a revolution.
[about Rails]… it means you are building a web site, and you are not rebuilding the stuff that has already been built. You are building Business.
Oh, yes. Having higher level plug-ins (nearly as Service-Oriented-Architecture components) it opens much more opportunities for business.
Not everybody is fortunate of making decisions at work [on choosing technology].
Try to push a new technology in a corporate environment with all the bureaucratic procedures. No f…ing way! Unless you are the one who decides.
Building web sites on .NET is about building web sites in a corporate environment. And that’s not about productivity. That’s not about really, really, really compressed budget where every decision is your life and death decision…[and then] It’s like we have a budget, but is is rather a suggestion.
Not much to comment on here. Don’t care about money – you are a .NET shop. Otherwise – probably Rails.
It’s about how fast you can turn your ideas into money.
Well said!
Most of the cost of long lived projects is re-learning. Ruby code is just scan and get it.
Indeed, Rails, would not even exist without such a beautiful language as Ruby. It makes code easy to understand.
In Ruby there is just less code to see where a problem might be. A lot less code! And the code is so usable that you can really spot the problems really quickly.
Again so true. Just have a look, for example, at some OSS projects. They do so much with so little code. That’s just amazing.

At the end, I must admit that I do like the .NET platform, but Ruby and Rails just feels much better to me and ALL of the things I currently do for myself, I do using Ruby/Rails.
It is just much more fun!

Comments

Anonymous
Twitter …

Remember running your site in .NET or RoR is not going to make a whole lot of difference in speed if your database architecture sucks or your website does alot of IO.

ex. alot of Google's products are written in Python but thats just a front alot of the actual business logic is probably implemented in the back in Java or whatever they prefer.
Anonymous
Check benchmarks on the web, java and .net have better performance.

Also, i'd like to know a big app (300 tables and millions of entries) on RoR.

Visual Studio is a big thing also.

But, normally i use rails for blogs and websites x)
Anonymous
I expected a serious comparison but instead I get an idiot ranting about no further innovation needed because he found something he likes.
Anonymous
So biased. One more thing, rails is designed as dsl for web apps while .net is platform for everything in windows.
Anonymous
haha, soooo biased…. and lame.
Alex Kaushovik
Rails is the best!
4nkh
Long live to ROR!!!!
p()thesis
Good post. I'm a PHP/Rails developer considering venturing into .NET development, so I find this helpful.

Comments