Why I Love Ruby on Rails

Why I
Love Ruby on Rails
.In
college, all of my classes revolved around Java and C++,
and the first few years of my professional career were with ASP.Net
which was
a huge evolutionary leap in web development, and a joy to work with. It
enabled me to spend less time on the tedious plumbing and more time on
the important things. I had spent nearly three years learning .Net,
Microsoft was due to launch 2.0 in November of this year, and I
couldn’t imagine building a web application without it.

With this background and experience, I was definitely hesitant to
switch to an open-source and, at the time, unproven platform. As a
result, I was fairly cautious and spent a lot of time researching Rails
before fully committing to it as my development platform of choice.

I’ve been following it for months now and have read almost all of the
Agile
Web Development with Rails book
. (Review coming soon.)
And naturally, I’ve installed everything and taken it for a test drive
or two. It rocks.

Best Practices

Rails takes all of the things you should be doing,
and consolidates it into one very elegant framework.

Directory structure, unit testing, functional testing, performance
testing, database build scripts, MVC separation, validation, no XML
configuration files, and more. It’s all there, and it all plays
together nicely. This is my favorite aspect.

While it doesn’t
matter to me, another wonderful thing is how easily you can override
the defaults. Rails is setup to handle everything one way,
but if your legacy data model doesn’t mesh with the standards, it’s not
difficult to override things and do it your way. It’s
beautiful in it’s guidance towards best practices, but at the same time
it’s open-minded to doing things your way.

Less Plumbing

It
doesn’t save me from writing code, but it does save me from writing
easy code. I don’t have to write SQL for every little query. If I want
to use more advanced queries, I can, but all of the tedious stuff is
taken care of for me.

With Rails, there’s no need for 3rd
party code generation or unit testing tools. That means more seamless
integration and less time setting things up. Even though .Net saved me
from some of the tedious plumbing, Rails saves me from doing even more.
The less time I spend on the plumbing, the more time I have to build a
better user interface to empower users to do more and do it with
greater ease.

Ruby the Language

This is one of those
more technical things, but Ruby is beautifully object-oriented.
Everything—and I mean everything—is an object and behaves as such.
Additionally, the syntax and language itself are concise and a pleasure
to both read and work with.

The Enterprise Discussion

The
only “real” argument I’ve managed to find about Rails is about how
it’s supposedly not scalable enough for enterprise solutions. That may
or may not be the case, and, after reading all of the arguments, I
personally don’t find it relevant. I’m not going into the details
here. If you’re interested, I suggest checking out What’s
all the fuss about Ruby on Rails?
. Enough about
that.

Summary

I’ve done my research, and decided. I’ve got Programming
Ruby
and a
book on Subversion
on the way, and can’t
wait to start applying everything to a real project. I
never thought I’d be able to describe anything related to programming
as elegant or beautiful, but sure enough, Ruby on Rails is all of that
and more.
  [Garrett Dimon]

Leave a comment