We’ve all seen the productivity benefits of RoR. It would be worthwhile
to figure out where they come from.
For me, I’d say the following:
The number one benefit isn’t from Rails per se, but from Ruby, or any
other dynamic OO language (like Python). They avoid the weaknesses of
loosely typed, procedural languages like Perl & PHP, but have the
swiftness that Java/C++/C# lack.
Next on my list is the benefits of a configurationless O/R mapper -
ActiveRecord. I can hack a of this together in PHP, or configure it up
with Hibernate, but with AR, I’m good to go, out of the box, for the
basics - and the advanced requires just a few lines.
I also enjoy the fact that ActionPack does the bookkeeping necessary
to turn URLs into Controller+Action+Template, and (using url_for), vice
versa. Also that it prepops forms, and creates objects from form data.
Last, I find the rails command line and environment to be very
convienent. I’m referring to the Rails::Generator and
Rails::Initializer her. Unit test stubs, testing environments,
consoles, and logging. I could do all this myself, but having rails to
do it takes it off my mind.
To give it numbers, I’d say:
although, on big projects, things at the top of the list contribute
more, and, for little projects, things on the bottom.
What do you say?
(PS A good follow up to this might be: “What can we learn from this to
other environments.” Stay tuned…)