Twitter has launched the rumor mill about a possible decision to abandon the Ruby on Rails framework. The decision comes as no surprise to anyone who has followed Twitter since its inception. The Rails framework has never experienced the kind of stress and load testing that Twitter has put it up against. The test have not always been successful which is apparent by their three day outage surrounding the Macworld event this year. As a result of these outages, employees at Twitter have been known to speak out about the work that needs to be done on the framework in order to allow applications on a large scale. These comments have been harshly received by Rails founder, DHH.

DHH, David Heinemeier Hansson, is the founder of the Ruby on Rails framework. It was first developed as an internal framework for his company 37signals. He then decided to release it to the public in case there were people who wanted to use this code. Not expecting the type of reception the framework garnished, DHH became an overnight development celebrity. He has stated that he never intended Ruby on Rails to become widely adopted framework. This is very apparent in his approach to future development on the Rails framework.

In my opinion, the publicity that has surrounded Ruby on Rails and DHH has done nothing to help the community of developers such as Twitter. DHH still maintains the mentality that he is developing Rails for internal use at 37signals and the community comes second. This has a detrimental impact on the community because enhancements that are needed by sites like Twitter are not added at the pace they are needed. So I am not surprised on Twitters decision to move away from the Ruby on Rails framework.

I am a big fan of the Ruby on Rails framework and think that in some ways it is the best thing since sliced bread. However, like everything it has some downsides. Rails is excellent for anything outside the enterprise realm of software. What this means is you should not use Ruby on Rails for something that will be used with any kind of high user load. As a result this writes off any application that will become the next big website like Twitter. Ruby on Rails is still great for apps aiming to supplement such applications or light load applications, just not the next big thing. Knowing what language to use and when is just as critical a decision as knowing what to develop. Try to avoid falling into the fanboy cliche and know the pluses and minuses to a language/framework before you jump in. Learn from Twitters mistake.