Though few may recall it, today marks the fifth birthday of one of the most successful web development frameworks ever: Ruby on Rails. Its first official release, v1.0, was in fact released on December 13th, 2005.
“RoR” isn’t just one of the many frameworks out there; created by Danish developer David Heinemeier Hansson while working on Basecamp -37signal‘s popular project management web app- it has managed to revolutionise in a relatively short time both development patterns and habits leading to levels of productivity unknown before.
Loved by agile startups who need to build new web based products quickly and with tight budgets, ignored for some time by those many old minded companies that wouldn’t easily adopt open source technologies anyway, RoR is today a wildly popular framework that even many of those old minded companies are starting to adopt more and more often for projects of any level and size.
So, why is Ruby on Rails so hot? What makes it so successful? The main reason, as said, is increased productivity, thanks to a nice implementation of the MVC pattern, a convention over configuration approach, developer-friendly handling of database migrations, and a lot more. As its home page suggests, Rails is
“optimized for programmer’s happiness and sustainable productivity”
It’s also worth remembering creator Hansson’s own words in an interview on Rails’ success back in 2005:
“I thought, if this stuff can improve my enjoyment and productivity so much over the conventional approaches I had used in the past, why shouldn’t it be able to do so for others?”
In many ways, RoR has also managed to lower the barriers for newbie programmers, although this also means that nowadays there are many self styled “developers” in the market who, in truth, have little understanding of -or experience with- serious web development and all that this implies (infrastructure, security, database maintenance, scalability and so on). But this applies to any platform or framework, anyway.
Forever, people have had different views on how to approach problems and on how to solve them. This is especially true with technology, therefore it shouldn’t surprise that even Rails hasn’t been free from criticism either, during its short, but successful life. There have always been fans, but also detractors always ready to complain or adversely criticise something, often perhaps without even having tried the framework themselves. I can recall many flames on topics such as Ruby on Rails vs the rest of the world, as well as many others in which many contenders often forgot or just ignored the difference that exists between the language (Ruby) and the framework (Rails), thus often blaming Rails for something that should actually have been attributed to Ruby. Even today, despite a lot has changed in the meantime and even the wars between Rails fans and others (Django fans especially!) have calmed down, there still are those who just can’t get themselves to like Rails for the reasons us others have learnt to love it. Amazingly, there are even websites like IHateRubyOnRails.com which I came across by chance earlier today (in case you may be interested, ILoveRubyOnRails.com is still available, btw). Rails has also suffered in the past some bad, often totally wrong publicity, as was the case for the Twitter incidents on scalability, but luckily for us all this has never really affected Rails’ own development, which instead has taken off also thanks to the contribution of a huge community, and has recently hit another important milestone with a third release packed with improvements and new features.
I have myself worked or experimented (depending on the case) a lot with many technologies, languages and frameworks, and while I am aware of limitations of both Ruby and Rails, I love working with them for most projects and am particularly passionate about them. Since I started toying with Ruby and Rails (early 2006), I have had to work with other technologies too, because of work-related constraints (you could still sell .NET more easily to businesses, for example); while I am not really the kind of developer who would stick to this or that language or framework, these days the market is a lot more open to Ruby and Rails than it used to be, and am definitely enjoying working with them most of the time now.
So, thanks a lot to David for starting it all, and again happy birthday, Rails!