Ivan Porto Carrero

IO(thoughts) flatMap (_.propagandize)

08

Aug
2007

Re: Monorail vs. Rails Isn't a Meaningful Question

Scott Bellware has put a post up with that exact title and this is my reply.

While I can understand that people are dissapointed in asp.NET webforms doesn’t mean you have to throw out the whole .NET framework.  As I stated before ever since I moved off of webforms with their viewstate i don’t get the wtf why isn’t this working moments anymore.

By now I have developped a number of small websites with managed content and a crm in RoR.  While I like RoR in my case it does not save me time as opposed to doing stuff with monorail for example.

I find active record to be quite constraining in some of the domain modelling i’d like to do. And the utter lack of proper tool support makes it quite a struggle to work with in my case. .NET has got visual studio which is an unparalleled IDE in my opinion.  I often don’t have to look at the code and only type the first 2 letters or simply press ctrl-shift-space.

While I do miss the fact that in ruby everything is essentially a hash and in .NET things are a little bit more complicated I like the fact that I get lots of stuff for free which require quite a bit of investigating in ruby. Applying the same things as I do in ruby that is I use quite a bit of reflection nowadays to set up some common properties if it is worth the trouble. If I have a smaller project i tend to just type stuff out. I don’t think in webapps reflection is too much of an overhead. Especially if you come from the ruby side of things.

One of the showstoppers for me is the fact that RoR has no proper support for the windows platform, getting it to use windows guid’s as primary keys for example isn’t too hard but again it’s not something you get out of the box.

Comparing .NET with a bazooka is going a little bit too far. I can see you can get infatuated by ruby but i don’t think that in it’s current state it is the greatest tool to build complex enterprisy apps in.  Deployment of a rails app is hell compared to deployment of a .NET app.  Yes you have to write less code but you have to write the full words and there is no contextual help or anything.

I’ve grown quite fond of Resharper over the last year and it is the first thing I install in visual studio when I rebuild my machine.

Monorail on the other hand does combine the best of both worlds.  It gives me the simplicity of the RoR (MVC) framework but also gives me the flexibility of the .NET framework.  Most components you get in .NET seem to have been written by people who take their job seriously and try to write proper software even if it’s open source.  Lots of things I have found in ruby seem to have been written by either students or people who have no clue about what they were doing. Almost 70% of the plugins feel like they are incomplete or just don’t do their job as expected. I dare you to find a good, full featured blogging platform in RoR (don’t tell me mephisto because where are my trackbacks, pingbacks, comment moderation, statistics and refferer information ?)

I have a natural dislike for people that shout really loud but the content doesn’t have the value of a person that really knows what they are doing and talks softly. The ruby community is full of them.

I’m not the first developper to have moved back to .NET and embraced monorail/castle and I bet I won’t be the last.

However with the advent of IronRuby I think my opinion on the subject may change because that hopefully implies that visual studio will get full support for Ruby and that will finally give me the chance to evaluate my productivity in both languages more objectively.  But as things stand currently I like the language of ruby a lot but I am a lot more productive in the c# world.

del.icio.us tags: monorail RoR .NET c# Ruby

To top