

.NET MVC vs Ruby on Rails. Ding - simon_kun
http://www.tokumine.com/2009/03/21/net-mvc-vs-ruby-on-rails/

======
johns
This is a horribly uninformed opinion piece with no substantial data to back
up any claims. MVC is a huge step forward for MS. 10 releases prior to 1.0.
The source is available (yes, they don't take contributions). It has 94% code
coverage. It's brand new and it's true the docs need some improvements. .NET
has three ORMs built in (L2S, EF and typed Datasets, which are crap, but
they're there) that you can use for the model. Validation and scaffolding are
there (not sure how they missed that) and there's excellent 3rd party
validation tools (like xVal). C# 3.0 is awesome (LINQ rules and it's more than
just LINQ to SQL) and hardly verbose.

I hope people don't read this blog post and dismiss ASP.NET MVC because of it,
because the post is just plain wrong.

EDIT: Here's an example of how the docs are already being worked on:
[http://weblogs.asp.net/scottgu/archive/2009/03/10/free-
asp-n...](http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-
ebook-tutorial.aspx) Completely free and licensed under Creative Commons
Attribution No Derivatives.

~~~
batasrki
I also had the distinct feeling of him ragging on the software in its 1.0
version, while comparing it to a mature framework like Rails.

I do agree that this is MS trying to play catch-up and is trying to prevent
developers from jumping the ship, but it's still only 1.0.

Docs will get better, but lack of contributions is sad.

------
TomOfTTB
This post seems to basically be "I love rails and ASP.NET is not Rails so it's
inferior." Now I'm not saying the author is wrong for loving Rails, just that
there was no way ASP.NET MVC could win in a rigged game so the comparison
doesn't hold much weight.

To be a tad more specific...

1\. A few of his issues are just wrong. The MVC team has been very open about
including the community and taking contributions for example.

2\. A lot of the author's comparisons are unfair because he's comparing a
product that essesntially had it's first official release a few days ago to
Rails. So complaints like "the community is too small" or "Microsoft might
kill the project as a cost cutting measure" are not fair

3\. A lot of his arguments are really the age old static vs dynamic language
debate. I won't open that can of worms now but needless to say both sides have
valid opinions. So it isn't fair to ding C# for that.

4\. On another point Rails is what most call "opinionated software" while
ASP.NET strives to give a lot of choices. So dinging ASP.NET for allowing the
programmer to choose an ORM package that fits their needs doesn't seem really
fair (Microsoft does provide one in the form of the Entity Framework)

------
habibur
Quote: "13. As the MVC project is very much a reactionary response to staunch
the outflow of devs to other MVC frameworks, there is a worry that MS will
drop the project if forced to make a cost cutting decision (see licensing
comment 6). They are certainly not going to drop normal ASP.NET."

~~~
johns
This is baseless speculation. MVC is now one of the core parts of the ASP.NET
stack (Webforms, MVC, Dynamic Data) and it isn't going anywhere. I was at MIX
this past week and met most of the MVC team. They get it. MS has stated a
commitment to developing both Webforms and MVC going forward.

------
swilliams
It's a decent comparison, but now that MVC has a full release, the
documentation has gotten significantly better. <http://msdn.microsoft.com/en-
us/library/dd394709.aspx>

I will disagree about ORM- there are already plenty of ORM and ORM-like
frameworks out there for .NET, and I don't think the MVC team wanted to add
another one.

Not sure about the routing being verbose. I'm (hopefully) close to finishing
up a fairly complicated app with the framework, and routing hasn't been a
problem for me.

I will definitely agree with point 12 though, but that's because the WebForms
model causes brain damage if you use it for too long.

~~~
pbz
Actually... it sharpens your mind since it's much more complicated :)

------
cosmo7
"C# is too verbose for most web work"

Lame.

~~~
mpk
I disagree.

Leaving out the backend stuff, the front-end of web work usually ties into
generating reasonably complex HTML or XML.

In dynamic languages it is almost trivial to keep the overhead to a minimum
because it's fairly easy to tie into these domains. With languages like Java
and C# this quickly becomes a pain and the templating structures provided
require learning yet another crazy and inefficient (typing and
maintainability-wise) pseudo-language.

~~~
johns
I genuinely would like to see an example how you think C# is too verbose. I'm
not trying to discount your argument, but it is contrary to my experience. We
probably just have different ideas of what "too verbose" means.

------
ironsam
Some of his complaints seem to be about C#, which is not required. Also, the
exclusion of an ORM is probably a good thing, so you can choose whatever you
want, similar to the view engine.

~~~
johns
You're right, the exclusion of a default ORM is a good thing. They do ship
ORMs with the .NET framework though so if you need one, it's right there to
use. And you can plug in any 3rd party one you want like NHibernate or
SubSonic (which was inspired by ActiveRecord) or whatever.

StackOverflow (the biggest public ASP.NET MVC site that I know of) uses LINQ
to SQL for instance, which is built in to the framework.

MS gets grief when they include something people don't want by default so they
decided with MVC to avoid an ORM war and give people the option to use
whatever they want (or are already using) and they get grief anyway.

