Looking at things in a vacuum is not very productive. The equivalent code with just raw JavaScript - that is, with no templates, no CoffeeScript, no backbone - would be MUCH more verbose, complicated, and hard to read/maintain.<p>For example, the => actually makes the code shorter and <i>more</i> readable than the equivalent versions (var that = this all over the place). The el and @template have nothing to do with CoffeeScript: they are from backbone and underscore, respectively. And once again, they are better than the raw JS alternatives (document.getElementById()? and inlining HTML into your JS).