Element 84

Railsconf 2011 was great.  Dan Pilone and I gave our talk on Wednesday about our experiences taking the NASA ECHO project from Java to Ruby on Rails.   Dan has given talks to large audiences before but this was my first time speaking to such a large group.  The Railsconf audience expects great content so the pressure was high on both of us to deliver an awesome talk.   It seemed to go over really well and we were greeted with an enthusiastic audience.  The whole ECHO team deserves credit for making the transition to a completely new framework and language and successfully delivering the Reverb web application.

Developer Happiness

The last keynote of Railsconf, “Optimizing for Developer Happiness“, was given by Chad Dickerson of Etsy,  This really struck a chord with me since a major part of our talk was on developer happiness as well.  We proposed that a major component of developer happiness was productivity.  A developer who can’t get things done because they’re never comfortable in their environment won’t feel satisfied.  Satisfaction comes from seeing things through to completion.

Easy deploys = developer happiness.

I was really surprised to hear that they deploy software an average of 25 times a day.  Developers “feel a sense of completion”  by knowing that the software they just built is being used by people immediately.  The Railsconf keynote videos will be up soon.  I encourage you to check out Chad’s talk as well as Glenn Vanderburg’s “Craft, Engineering, and the Essence of Programming” which was excellent as well.

 

JavaScript

The underlying theme this year seemed to be on JavaScript.  David Heinemeier Hansson announced in his keynote that Rails 3.1 will include CoffeeScript support by default. CoffeeScript is a Python-like language that compiles into JavaScript.  Rails 3.1 also includes a new feature, the Asset Pipeline, that will provide better support for organizing your JavaScript files while packaging them into a single file for quick delivery to web clients. There were many sessions devoted to different JavaScript topics such as testing, MVC frameworks like backbone.js, and CoffeeScript.

I’m really intrigued by the combination of CoffeeScript, backbone.js, and the Asset Pipeline.  Backbone.js will provide a way to build JavaScript components on the front end using solid OO principles.  CoffeeScript will allow us to write JavaScript in a concise language.  And the Asset Pipeline will allow us to divide and organize our JavaScript code into reasonably sized modules. I should note that you don’t need to wait until Rails 3.1 to get this combination of features.  Jammit is a gem that provides a lot of the features of the Asset Pipeline.  CoffeeScript can be easily added using the Barista gem.  I’ve been experimenting with this combination and it really feels like the future of JavaScript development.