Automating Boilerplate Software Development

Recently, I’ve come across an interesting service called Prelang and an open source project named Rails Composer that both strive to do away with a lot of the common boilerplate coding that comes with the initial setup of web apps.

Interestingly, both target Ruby on Rails, a framework that prides itself in its DRY and convention over configuration approach towards programming. Hence, one wouldn’t exactly expect Rails developers to be affected by tedious boilerplate programming that much. By and large, this probably is true. However, Rails developers also tend to be both particularly sensitive and opinionated when it comes to anything that looks like unproductive, repetitive and meaningless work. In a way, I think one could say that the Rails community internalized Larry Walls’ famous ‘laziness, impatience, and hubris’ maxim best.

On the other hand, the process of bootstrapping a new application only accounts for a tiny amount of its entire lifecycle. So, one might say that devoting an inordinate amount of time and effort to simplifying this process might not to be worth the trouble in the first place. However, even in environments such as Java that have a reputation for rather cumbersome and complex processes, providers like Spring Source or IntelliJ put a great deal of effort into simplifying arduous and unproductive recurring tasks.

Anyway, both Prelang and Rails Composer look like promising approaches. While Prelang is a service with a graphical UI and a lot of front end polish, Rails Composer is a command line tool that generates new Rails applications from predefined templates. During cursory testing Prelang appeared like a more complete solution that also allows you to accomplish the pesky task of generating an initial business model of interdependent model classes via its UI. Both tools do a fine job though at configuring the selected components and their respective dependencies.

Prelang requires a GitHub account and access to your GitHub repositories, which might be an issue for more secrecy-minded companies and those who for one reason or another can’t use GitHub. Rails Composer in contrast to that doesn’t care about which source code repository you use and if it’s behind a firewall: Just use Rails and you’re good to go.