Tuesday, November 13, 2007

ASP.NET MVC + LINQ == RoR?

I spent a few days playing around with Ruby on Rails. It was the first time in over 2 years that I'd learned a new, non-Microsoft language/technology stack, and I like it a lot. The two key Rails concepts I spent time playing with were ActiveRecord and the Model View Controller scaffolding. ActiveRecord was very similar to Microsoft's new LINQ technology that I've been using lately. The Model View Controller stuff was very intuitive and easy to 'get'. This morning, I came across a post on Scott Guthrie's awesome blog about ASP.NET's new MVC framework. It looks promising. I have to imagine someone at Microsoft was inspired by Ruby on Rails, but who knows.

I have no interest in spending time right now on an ASP.NET vs RoR post (and I don't have enough Rails experience to do so)... but I must say the one thing I do love about Ruby on Rails is its "convention over configuration" philosophy. I vaguely remember reading something once in a perl manpage about a perl core tenet of being able to do one thing many different ways. There's value in both philosphies, but lately I'm starting to place a much higher value in how quick, easy, and friendly something is over how powerful/extensible/backwards-compatible it is. For example, some of the ASP.NET controls are incredibly powerful, but it takes 4 hours to scratch the surface and evaluate a single control that might or might not be useful (what's the difference between a GridView, DataList, ListView, and Repeater, and why should I care?).

I think the difference between the Rails web site and the LINQ web site really sums things up well. Rails is the "Apple guy" of web developers -- used by indie hackers and designers, and ASP.NET is the "PC guy" -- used by big Enterprise people that wear suits and get sent to training sessions and stuff.

Anyhow, that's all for now. Here's a picture from Jeff's webcam right outside our office on Beaver Island (it should be current as of the time you loaded this page):

2 comments:

Anonymous said...

Microsoft just hired the guy responsible for subsonic, a DAL generator much like ActiveRecord. The pieces are coming together...

joshie said...

I have to admit, I've been hearing "Ruby on Rails" for a long time now and wondered what the hell it was.

While I love the power of what is available for web development these days, it's so hard to keep up. There are so many technologies and there is always something new (or renamed, like ATLAS to ASP.NET AJAX). At work we're doing ORACLE stuff (ick) and there's ADF, Faces, etc. . . no clue!

"what's the difference between a GridView, DataList, ListView, and Repeater, and why should I care?"

Don't forget DetailsView and FormView. Clear as mud.