Preface

 

I’ve long thought that the things that will ultimately resonate the most with people don’t reveal themselves immediately. Instead, they might initially present themselves as slightly interesting but not striking. I’ve seen this with music, film, literature, and every other aspect of human experience that I’ve looked at for any substantial amount of time. I’ve also seen this with at least two programming languages, JavaScript and CoffeeScript.

My early reaction to JavaScript was dismissive. Strangely, or not, years later I would be working almost exclusively in it. My early reaction to CoffeeScript was also dismissive. “Here we go,” I thought. “Yet another tool created because people don’t understand JavaScript!” I was wrong about CoffeeScript just like I was wrong about JavaScript.

CoffeeScript is not about avoiding JavaScript—it is about understanding JavaScript. This applies to both people who are already familiar with JavaScript and people who are not familiar with JavaScript. Learning CoffeeScript helps people to understand JavaScript. At the same time, for many people it makes writing JavaScript programs simpler and more enjoyable, which means that it makes sense for them to use CoffeeScript instead of JavaScript.