This repository has been archived by the owner. It is now read-only.

CoffeeScript for the Rubyist

benjaminoakes edited this page Apr 27, 2012 · 10 revisions

Presenter: Mark Bates


Mark Bates is the founder and chief architect of the Boston, MA based consulting company, Meta42 Labs. Mark spends his days focusing on new application development and consulting for his clients. At night he writes books, raises kids, and occasionally he forms a band and “tries to make it”.

Mark has been writing web applications, in one form or another, since 1996. His career starting as a UI developer writing HTML and JavaScript applications before moving towards the middle(ware) with Java and Ruby.

Always wanting to share his wisdom, or more correctly just wanting to hear the sound of his own voice, Mark has spoken at several high profile conferences, include RubyConf and jQueryConf. Mark has also taught classes on Ruby and Ruby on Rails. In 2009 Mark’s first (surprisingly not his last!) book, “Distributed Programming with Ruby”, was published by Addison-Wesley. In 2012 Addison-Wesley published Mark’s second book, “Programming in CoffeeScript”.

Mark lives just outside of Boston with his wife Rachel and their two sons, Dylan and Leo. Mark can be found on the web at:,, and


CoffeeScript is taking the world, and particularly the Rails eco system, by storm. This little language has provided an almost Ruby like abstraction onto of JavaScript. CoffeeScript is trying to make writing front end code as much fun as Ruby makes writing backend code.

In this talk we start with the basic concepts of CoffeeScript and move on to the more powerful and fun features of the language. While we're looking at CoffeeScript we'll see how it relates to the Ruby code we write everyday. What do Ruby 1.9 lambdas and CoffeeScript functions have in common? Which of the two languages supports splats, default arguments, and ranges? The answers may surprise you.


  • Pretty basic; good overview of the history leading up to CoffeeScript and its syntax.
  • If you're already pretty familiar with CoffeeScript, this session might not be for you.


From @benjaminoakes

  • Wrote Programming in CoffeeScript

  • JavaScript history

    • Brendan Eich
    • Lisp like, turned into Java like
    • Jeremy Ashkenas: made Backbone.js, made CoffeeScript to make that easier
  • Not magic; can't do what JavaScript can already do (e.g., method_missing)

  • Think of it like assembly

  • Overview of syntax rules (see the main CoffeeScript site)

    • He always uses parens
    • C'mon, use indentation
  • console?.log for IE :)

  • Scoping issues (local variables inherit scope of the closure)

  • Transitioning to CoffeeScript

    • js2coffee
    • or over time


  • But what about all the JS you already have? @benjaminoakes

External Links

A crowd-sourced conference wiki!
Working together is better. :)

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.