|
Shindig Blog - Code Count: Ruby on Rails vs. C#/ASP.NET |
||||||||||||||||||||||||||||||||||||||
|
|
I'm going to start with this table so it's all up front.
(Widen your window if the CSS float sidebar is overlapping the content)
When I started working in Ruby and Rails back in 2005, I was mostly a Java and Struts developer. I had spent years messing with XML and type-casting and fighting logic:equal tags and building Iterators - not to mention hand-crafting my own pre-Hibernate object-relational database layers. Using Ruby on Rails felt like someone had opened a window and let in sunlight and fresh air. Things that would take dozens of lines of Java were reduced to a single line of Ruby, and entire application layers just disappeared. I had always wondered exactly how much more efficient Ruby on Rails could be over Java and Struts, but I never had a direct translation of an application to work with. Last fall I worked on just such a project, converting ClearFit's application from a crufty old .NET/C# application to Ruby on Rails. We kept the same screens and the same functionality - just cleaned things up and translated everything into Rails. This was a perfect opportunity to get some real numbers on how much more efficient Ruby on Rails can be compared to a Java / C# application. I gave a presentation in early May and this was one of the more popular slides:
So, in general, a big Rails application will get the same thing done as a big C# app in roughly one fifth of the amount of code. Since there are lies, damned lies, and statistics, here are some mitigating factors (in both directions):
If anyone is curious, the complete translation project took roughly 350 hours of development time and took from mid-October 2008 to early January 2009. It was mostly done by me, with some key help from Paul Doerwald. For more details, see the detailed presentation notes, including slides and some video clips. May 28, 2009 11:24
|
||||||||||||||||||||||||||||||||||||||