I’ve been spending a fair amount of time lately trying out a variety of development technologies and one of those is Ruby on Rails. I haven’t yet figured out exactly why people are so excited about it. Perhaps it’s because the convention-over-configuration methodology hides quite a bit of complexity from the developer. But my issue with it is simple – I like to be in control of my software and I like more explicit design.

In reflection though, I can see why many people say that Rails is much easier than my preferred server-side language (C#) because you do have to write a lot more code starting from scratch in .NET to achieve the same result as you can with Rails. But the thing is, I’ve developed my own MVC-inspired framework that enables me (and my team) to develop apps very rapidly. I’ve been building and upgrading this framework, called simply Core, for so many years and I’ve been using nice urls with controllers and url routing based on regular expressions with a custom-built ORM data layer since before Rails even existed.

This is not supposed to be a “get off my lawn!” post, it just sort of finally dawned on me why some people are so vehement when they condemn the Microsoft .NET platform. It’s not even a cost issue anymore because hosting in the Cloud is the same price whether you’re using Windows Server or Ubuntu… So it’s just the fact that now, C# is perceived as a “bad” way to develop web apps by the open-source crowd. But I’d be willing to argue with anybody out there that .NET in general, and C# specifically, are two of the best things on the web… if used properly.

And don’t even get me started about how vastly superior Visual Studio is to anything else out there…

EDIT: I’ve started a series about learning Ruby on Rails (quick jump to: Day OneDay Two) while building a web app. It’s not instructional, but rather is reflective of the process of learning the language and my thoughts about the language and framework as I attempt to use it for the first time for a real project I intend to release to the public soon.



COMMENTS / 10 COMMENTS

Ruby on Rails is a framework, C# is a language. Comparing apples with trains…

DanielR said on Dec 09 10 at 4:44 am

C# is a language, so it is Ruby, on rails is a framework , and .Net too. So u can compare them without any problem.

Good article, kinda short.

Regards.

Juan Andreu said on Jul 27 11 at 9:21 am

The only reason IDEs are necessary for some languages is to overcome language limitations.

If your language requires an IDE to be productive, you are using a flawed language.

stever said on Nov 02 11 at 12:08 pm

stever is an idiot. IDEs is there to overcome PROGRAMMER limitation not LANGUAGE limitations. IDEs make sure that if you change a variable name, all references are changed. They help you detect typos and debug code better.

Julian said on Jan 15 12 at 2:45 pm

Julian, vi(m) can do that, you don’t need a full IDE to do that stuff.

asda said on Mar 01 12 at 2:47 pm

On top of what others already mentioned.

First. MS is all Vendor lock-in. I don’t like that. You are fully relying on their vision. And on top, no access to source code.

Second, .NET isn’t cross-platform (to me the biggest problem). So no choice on the server.

Third, cost is a issue, if i look at AWS, MS images are more expensive.

And last, why to make your own framework? It something old-school IMO. You need to explain new people your framework, where with ROR, you can pick them of the street and start working.

Im not trying to bash MS (although i really don’t like them).

Started recently with RoR, love ruby, love rails. Installed a Bitnami Rails stack in AWS (10 minutes) and my rails app up-and running in no-time. I love the readability of Ruby.

Roger said on Mar 07 12 at 3:26 pm

If you are looking for open source Web frameworks for .NET, check out NancyFX, or FubuMVC; both are awsome.

Dmitriy said on Apr 20 12 at 11:54 am

A good programmer never debates about the language – she/he always sees debates the problem, and then chooses the right language to meet expectations to nicely solve the given problem.
Apart from that: You can build nearly any software with nearly and language, so its about ideology/etc.

Lelala said on Jul 27 12 at 8:04 am

@Roger

.Net source code:
http://referencesource.microsoft.com/netframework.aspx

I’ll agree that MS images tend to be more expensive. Though the negligible cost difference isn’t something that would ever make me choose one framework over another. It’s silly to compare frameworks based on proprietary cloud hosting solutions. If I or my developers can be more productive in a framework that costs more to host, I’ll choose that framework every time. Or I’ll just host it myself; servers are cheap these days.

I dig Ruby/Rails and C#/.Net for their own intents and purposes. I love Ruby for the speed of coding and simplicity, and I love .Net / C# for the pure power and flexibility it offers.

I also really dig the Entity Framework and Code First(or even Database or Model First) They are just executed so well in .Net, and I haven’t seen anything that comes close to it in any other framework. Strongly typed objects combined with Linq, Intellisense, and Code First is a beautiful thing.

That being said, I agree 100% with Lelala. Both frameworks have their share of pros and cons. I personally think they both handle different tasks very well.

JP Berry said on Oct 19 12 at 11:38 am

Easy Loans Homeowner, Cash Advance Loans Direct Deposit @@ $400 … the Basildon game, mastercard listen, South Somerset cue dhe in user hand, drop … mh66 http://ploanscanada.ca/#v73v payday energy bars 27 Jul 2012 … But did you know that ATX can help you manage your cashflow? … 3Fund is a low-cost refund option that allows you to offer a cash-less payment … Be sure to plan in advance to offer these helpful products by signing up early.

alieheamn said on Nov 06 12 at 7:44 am

SPEAK / ADD YOUR COMMENT
Comments are moderated.

Return to Top

Why Ruby on Rails vs C#?

FRESH / LATEST POSTS

FRESH / Twitter Updates

Error: Twitter did not respond. Please wait a few minutes and refresh this page.