views:

178

answers:

4

I hear claims that Ruby on Rails makes web applications ten times faster to write. Is this really true? Do they just make a bunch of tools to make the simple stuff fast and the hard stuff impossible (without serious refactoring)? Can it handle difficult web problems like an advanced searches and AJAX webgrids? Can't other languages just use the Rails techniques and be just as fast to code?

I'm not trying to bait a holy war on languages. I'm not even asking if its better/worse than other languages with regard to syntax, security, execution speed, memory usage, etc. This question is just about time to code. Let's say I have an idea for a really cool (somewhat complicated) webapp and want it out ASAP, will Ruby on Rails give me an edge or is that claim just hype? What would you use?

+3  A: 

Ten times is probably a bit of a stretch, but I would have to say that developing with RoR is noticeably, substantially faster than with ASP.NET, which is my other web development toolkit.

Adam Crossland
+1  A: 

I've found it to be slightly faster for the simpler projects I've worked on because

  1. the syntax of Ruby is more succinct than some other languages like Java and C#
  2. the rake tool automates a lot of the file setup work
  3. Rails uses convention over configuration, so as long as you follow its assumptions, there's a lot less that you need to configure

Grails is a psuedo-port of Rails to the Java/Groovy language, and offers similar benefits (more compact language, a similar rake-style tool, and convention over configuration).

Caveat: if you're already pretty good at another language or framework, and time-to-market for this project is your ultimate goal, you'd probably be better off sticking with what you know. If it's more of a learning experience, then I say try RoR.

Kaleb Brasee
+14  A: 

Let's say I have an idea for a really cool (somewhat complicated) webapp and want it out ASAP, will Ruby on Rails give me an edge or is that claim just hype?

I'm finding that Rails has a rather steep learning curve past the trivial case, and the documentation is rather sparse. Your first project will not be faster, especially if it is somewhat complicated.

If you are trying to bring something to market and time is of the essence, the time you will lose to initially learning Rails and then refactoring out all your newbie mistakes will probably outweigh the productivity you would have gained from rails.

I like Rails, and think it is worth learning, but combining schedule pressure with unknown technologies is a recipe for disaster.

If you need to go fast right now, use what you know. If you have the time, take it to learn Ruby and Rails properly.

Ryan Michela
Absolutely correct. You should not use a "production project" as a "learning project"
egarcia
+1 I like this answer too. I wish I could choose more than one answer.
User1
+4  A: 

Martin Fowler did a survey on Ruby on Rails productivity by asking 30 project leads what their subjective estimate was of RoR's productivity compared with "the best mainstream tools you know". The chart seems to show at least a 2x improvement.

As @hgimenez notes, this survey is part of Fowler's Ruby at ThoughtWorks, which sheds a lot of light on this issue.

Jim Ferrans
That survey plus this article (http://martinfowler.com/articles/rubyAtThoughtWorks.html) are a must read.
hgimenez
So many good answers on this question, but this article gave some of the best insights. Though, I must question its bias.
User1