views:

191

answers:

4

Hi,

I use PHP+Zend and Java+Wicket and learn Python (so will have Django available).

So I want to know if it is worth learning RoR for rapid web-development. Is it much faster building web-apps than with the other approaches or is it neglectable?

Or let me rephrase it: What are the facts that make RoR much faster in rapid development than the one listed above and so makes RoR worth learning in addition to the others.

Thanks

p.s.: make it community wiki or whatever, but imho this is a clear question with not much room for argumentation.

A: 

The best RAD tool kit is the one that you like best, because you will be the most proficient in it. Not having to go to the documentation as often, knowing how to layout your project and knowing the strengths and weaknesses will all trump the "ability" of the framework you choose. Pick one that you like and learn it through and through. With someone who knows the frameworks, they all will be about the same (order of magnitude) with regards to both development time and performance. So my advice would be to pick one you like, and stick with it. The one you chose ultimately comes down to your ability level and your tastes...

ircmaxell
+2  A: 

People are quick at developing things they know. If what you know solves your problems right now in a reasonable time frame then there's little reason to learn something else because someone else says it's faster or better.

Do what works for you and for your projects.

Matt S
Beat me to the punch!
tehblanx
Most technical goodness comes from "I know it really well." Or, as Chuck Yeager said, "It's the man, not the machine."
Wayne Conrad
-1 The tools do influence the speed. I agree that the "human factor" plays a much larger part, but I don't think that was the point of the question.
scottschulthess
His question was open ended, "is it faster". That's entirely subjective, learning a language because someone can hammer out a site a day faster than someone using PHP+ZEND seems like a slight waste of time if that's the only reason for learning it. What one can accomplish with PHP+ZEND who knows it is the same that someone can accomplish with RoR in the same time everything else being equal. If it's a "is RoR better than PHP" then the only answer is "it depends" and what it depends on is the so called "human factor" because that's what it comes down to at the end of the day.
Matt S
+1  A: 

Yes RoR is worth learning.

If for nothing else that to have more exposure to other things in programming. The more experience in other frameworks and languages you have the more it changes your thinking and can lead to better results at times. Plus it makes you more marketable.

percent20
For getting things done, I agree with Matt S. But this is the other side of the coin that is worth mentioning. So +1, but don't waste your boss' time. ;)
Shtééf
I am a big fan of Ruby, it is my favorite language and my language of choice for almost everything, but I have to respectfully disagree. If the OP already knows (or currently learns) PHP/Zend, Python/Django and Java/Wicket, then learning Ruby on Rails will not give him "exposure to other things in programming". It will give him exposure to the same things in slightly different clothing. All four languages are imperative class-based object-oriented languages, all four framework are imperative object-oriented MVC or MVP (or similar) web frameworks. Now, desktop GUI programming with Haskell ...
Jörg W Mittag
... with a continuation-based framework or functional-reactive programming, *that* would be exposure to other things.
Jörg W Mittag
A: 

You can make other frameworks do basically what Rails gives you for rapid development....so there's no clear "Rails is better than Java or PHP". After all, it's just a bunch of Ruby. A lot of frameworks (CakePHP, Asp.net MVC, have copied some of the more useful features of Rails).

However, it is certainly a lot more convenient for doing rapid development if you agree with the Rails philosophies.

Here's the reasons.

  • Scaffolding - in a command you can generate a table, model, tests, and a bunch of CRUD views and controllers.
  • ActiveRecord - it's the easiest ORM out there to use, all you need is to have a bunch of tables and you can immediately do 90% of the operations you need without having to write any code
  • Ruby - it's a language made with a lot of shortcuts that you let you write code faster in less lines
  • RubyGems + Github - there is a lot of code out there that you can start using in a few commands if someone has already solved a problem you're having.
scottschulthess
Thanks, that was very helpful.
ShoX