Hooked on Rails

May 5th, 2006

If you are serious about software development, get serious with Rails.  

I have spent the last week getting familiar with Ruby on Rails.  I finally got a development environment up and running a couple of days ago and though configuration had a few gotchas (w/all solutions found with simple google searches), it was worth it.

I STRONGLY recommend anyone serious about software development to get this up and running on your development machines.  Even if you don’t plan to develop your deployment applications on Rails there are simply too many good ideas that it captures to ignore it.  It is a realization of decades of best practices around Model-View-Controller architecture.  Make the time to prototype some applications in this environment.  At the least, you will get some good ideas to take to your core development environment.  Though I suspect many of you will end up doing far more than that with it :)

I spent a lot of time searching the web and found that the best way to get started is to purchase the PDF version of the 2nd Edition of Agile Web Development with Rails.  At $24 dollars, it is an excellent value — and with the hotlinks embeded in the book that automatically download the sample snippets of the code, you will appreciate having it in PDF form.

So why am I so hot on Rails?  For a long time now, I have followed a design principle I call the path of least resistance. Essentially, no matter how slick or ‘pure’ a design you come up with, the developers who maintain and extend the systems you design will follow the path of least resistance when making changes.  I have heard many a designer moan about how people “didn’t do what they were supposed to” and end up turning a beautifully designed system into a unmaintainable mess.  That happened because the path of least resistance in those systems was the wrong thing.  It was easier to copy and paste some code then to create that validator object they were supposed to create (as CLEARLY stated in manual 3, section 34, page 837).  The key to a successful design is to create a system where it is easier to do the right thing than the wrong thing — or where doing the doing the right thing creates so much perceived benefit, developers are motivated to understand and adhere to the “right way”. 

Rails excels at creating a path of least resistance to industry best practices.  Core to its success is its philosophy of convention over configuration.  Rails rewards you (greatly) by following best practice conventions, such as naming standards — because when you do, the Rails framework is able to interpret what you intended.  As a result, you are freed from doing configuration and infrastructure work.  As a result the more time you spend in Rails, the more good practice conventions become a part of your thinking — thinking that will benefit you both in Rails and in any other development framework you may work in.  Which is why I will finish with how I started: If you are serious about software development, get serious with Rails

Entry Filed under: Ruby,Software Development


3 Comments Add your own

  • 1. Green Ruby Programmer&hellip  |  May 24th, 2006 at 12:10 am

    links from Technorati Sonjaya Tandon » Hooked on Rails

  • 2. Ruby on Rails News&hellip  |  May 5th, 2006 at 5:11 pm

    Kramer auto Pingback[…] […]

  • 3. mikesty  |  May 5th, 2006 at 7:24 pm

    Sonjaya, I am very glad that you are happy with Ruby on Rails. The reason is because I’ve seen some absolutely fantastic websites made using RR, and I figure that since you’re pretty talented, you’ll be able to come up with some fantastic stuff. It’s as though the carpenter got a new set of tools :)

    I played around with a bit and I’ve read a handful of guides dealing with simple RR/AJAX coding beauty. It was 2AM at the time so I bleh’d out and didn’t really learn anything.

  • 4. Sonjaya Tandon » Ar&hellip  |  May 13th, 2006 at 9:28 am

    […] I have read two articles recently that give me great encouragment. The first is Martin Folwer’s cautious endorsment of Ruby.  He is still hedging (in admittedly the same way I did in my Hooked on Rails article), by saying it is worth a “look” versus it giving an outright endorsement to use.  And you have to love quotes like: “But overall these experiences, from trusted colleagues mean I’m increasingly positive about using Ruby for serious work where speed, responsiveness, and productivity are important.“ […]

Leave a Comment

You must be logged in to post a comment.

Trackback this post  |  Subscribe to the comments via RSS Feed


May 2006
« Apr   Jun »

Most Recent Posts