Celebrating 10 years of Rails

anand posted this on 30 Jul 2014

Its been 10 full years since the first version of Rails came out. WOW! 

I began doing web development in Java. Back in 2008. Yes .. in Java. When I decided to do web development, I picked up these two books.

  1. Head First Java.
  2. Head First Servlets and JSP. 

Both of these are wonderful books by Sierra and Bates.

I use to write desktop software in java. I wrote a tiny open source Twitter client which worked on Windows and Mac (please give a round of applause for Java swing framework).  But I did nothing on server side at that time. These two books cleared every little misconception I had on server side development. I read these two books as if they are bibles.

There is one more book on Struts framework, I’m not able to recall its author name. I read that to get a hang on Struts specific stuff. 

Thinking about it now, I didn’t have a pleasant experience in Struts.  I always hated writing those XML config files ( I still don’t know how Android guys put up with this stuff these days). I’m trying to re-collect all the pain I had back then when I was using Struts. But I have gotten used to Rails so much, I’m not able to recall all of them. Here are some things i hated with passion in java web development.

  1. Writing each and every route as an XML  entry. We map each endpoint to the right Class/Action name. And each route was like 6-7 lines of code. 
  2. You have to restart the server every time a change is made. During development, this is a REAL PAIN.
  3. I somehow didn’t get a good hang of their ORM. I mean — I couldn’t grab those concepts naturally may be. Whatever. As soon as I saw the famous 15 mins rails demo by dhh, I felt - YES THIS IS WHAT I NEED. This is how web development should be done.  

Its not about the defaults. Its not about all those generators and magic that happens inside. It is about separation of concerns done RIGHT. All of the mundane boring sick stuff should be handled by the framework. Leaving behind just the creative part for developers.

I quickly jumped on the Rails bandwagon. Went to its website, downloaded the framework and got started. And since then, there is no turning back. 

The ideas in Rails were so good that other communities started similar projects to derive on them. Also later versions of Struts were supposed to be changing and get some of the ideas from Rails. Not sure what happened there. 

Websites like RailsCasts and PeepCode helped me a lot in understanding the concepts. And StackOverflow was the best part in all of this. I almost always got the best answers quickly with any question i asked. Help was there in every step. 

I always liked the new stuff that came along every six months in Rails. There was nothing stopping the core team in adopting new web standards quickly before anyone else.  Be it REST or Asset Pipeline or any other feature. To a developer willing to contribute immensely to a business, this sort of a framework is a gift.

The dramatic moment as far as I know is Rails and Merb merger. Merb was starting to emerge as alternate Ruby web framework. Instead of fighting for fame and success, the authors decided to merge the good parts of both frameworks. Read this blog post by dhh, if you are interested. The idea of Embracing open source movement and good ideas winning the table will never have a better example than this. 

I wrote a few web services in Rails and started maintaining projects with considerable large codebases. I began writing a few ruby gems as well. One of them has been downloaded more than 6500 times so far.  I badly wanted to contribute to the source code of Rails as well. And I did that too. 

Most of the successful web companies/businesses around use Rails.  Rails evangelises good software software engineering practices. Best practices are getting derived for almost every part of a web stack. All of this in turn produces a stable product. 

The web industry in someways owes a huge debt to Rails, DHH and 37signals for all this.

Ruby is a beautiful language. Truly speaking, the code I write in ObjectiveC/Javascript, if at all someone finds it expressive, it would definitely be the ideas I learnt in Ruby. Like how Matt quotes it here for Cocoapods, other communities have benefited immensely by Ruby developers. Especially the iOS/Mac community.

Rails is in 4.1.4 now.  The community has become HUGE. The number of web developers getting involved is growing every day. Conferences/Meetups are getting bigger and better in every country. And with the number of ruby projects growing steadily on Github, it is only going to get better in the coming years.