home::blog::wump
there are only 10 kinds of people in this world..

Ruby on Rails: An introduction to maintenance and support benefits

Posted by Keith Sun, 20 Jan 2008 01:34:00 GMT

Why choose Ruby on Rails?

There are many answers to that question. Why DO people choose Ruby on Rails over PHP, or Rails vs ASP? What makes Ruby on Rails BETTER?

I’ll probably write a few posts in this series, but for today I’ll document a new experience for me that has shown me that Ruby on Rails helps you create maintainable and supportable websites.

This weekend for the first time I’ve been using someone ELSES Rails application - this blog, Typo and it’s the first time that I’ve realized just how true it is that “opinionated software” creates ease.

Rails is described as “opinionated” because although there are many different ways to do the same thing in a development environment, Rails has decided that there is a RIGHT way to do things. Some of these opinions are boiled into the framework ( like how files are organized ) and some are simply rules - call them Rails coder etiquette ( like which files should have logic in them and which should not ).

Up front while learning Rails this can be a bit daunting. For example, after using MivaScript for years I easily picked up PHP because all I had to do was learn the PHP equivalent commands - the overall picture was pretty much the same. Rails, in contrast, with it’s Model / View / Controller structure, and relentlessly Object Oriented nature threw a ton of new concepts at me all at once. Worse still, I was a few years behind with styling methods, so had to go cold turkey on using Tables for page formatting at the same time. It was rough.

Now though, here’s the thing.. I can go to ANY Rails application and instantly work on it, because everything is where it should be. Likewise, if I get hit by a bus, any Rails guy can walk in and maintain my stuff. It’s amazing.

In contrast I’ve had to dig into some php recently and I’ll tell you what, the way a TYPICAL php application is put together offends me deeply!

So. To summarise, looking at this from both sides:

  • It’s easy to jump into a foreign Rails application and know your way around
  • If you have someone develop a Rails application for you ( as long as they are a decent coder ) you’ll end up with something that doesn’t tie you to them for an eternity.
  • If you build a rails application, and bring someone else into the project you don’t have to do much explaining on your methodology
  • Technical documentation can be limited to the “exceptions” to the rules

So, to the guys who I share an office with, I’m sorry guys, but I’m going to CONTINUE bugging you on a daily basis with those spontaneous “I LOVE RAILS” outbursts!