Ruby on Rails has quickly become the default web app development framework among the “hacker” and startup community since first releasing in 2004. Why? Because Rails was designed from the ground-up with programmer productivity in mind. It uses a variant of the Model/View/Controller architecture pattern to organize application programming. In addition to the MVC-based arch, Rails strongly emphasizes convention over configuration (CoC) and the rapid development principle of Don’t Repeat Yourself (DRY). It is these three elements — MVC, CoC and DRY — that make Rails such a productive web app development framework. However, Rails offers another productivity bonus by default: since it was built using the dynamic Ruby programming language, developers don’t get bogged down in all the overheard that goes with statically-typed languages such as Java.
Some of the largest online brands were built using Rails, including Github, Groupon, and Basecamp. So why isn’t the government using Rails as a web application development framework? After all, Rails is ideal for realizing the full benefits of agile application development.
Part of the adoption issue is that Rails hasn’t been perceived as “enterprise safe” to-date. The fact is Rails has great built-in security and solutions for protecting passwords and data. Perhaps the real anchor is that there simply isn’t as large as resource pool as there is for Java or .NET programmers. As John Topley notes in this Q&A thread:
“There’s no doubt that right now Ruby is still seen as a somewhat exotic language and the availability of skilled Ruby programmers reflects this. Technically, Ruby is more sophisticated than Java or C#, being closer to Smalltalk in terms of OO purity and closer to LISP in terms of meta-programming facilities. Suffice to say, companies are going to find it easier to get Java or .NET programmers for a low rate from body shops, than they are Ruby programmers. That’s not to insult Java or .NET programmers, rather it’s a reflection of the fact that there are many employers who still regard software development as something to be done by the cheapest bidder, rather than something that should be done right. Java and .NET programmers are pretty much a commodity now, so can be offered for less cost.”
Having extensive experience with Rails myself, I might argue that it would take far less time to develop a comparable app in Rails / Ruby than it would Java or .NET, so the higher priced resources would be justified.
What are your thoughts on the government’s adoption of Ruby on Rails? Should it accelerate? Or proceed cautiously? What government applications that you’re aware of have been built using Rails?