It's very gratifying to see how overwhelmingly the comments are both positive and in disagreement with Michael's blog post.<p>If you'd like to see the most complete explanation of why CoffeeScript is all about working with and embracing JavaScript -- not giving up on it -- the best resource is probably Brendan Eich's and my joint talk at this year's JSConf:<p><a href="http://blip.tv/jsconf/jsconf2011-jeremy-ashkenas-5258082" rel="nofollow">http://blip.tv/jsconf/jsconf2011-jeremy-ashkenas-5258082</a><p>But the other interesting thing here is how many of the comments point to the fact that most people who write posts about fears of CoffeeScript have never actually tried it. Having experienced a good deal of this myself, I have a pet theory about why this is the case...<p>First, the caveat that CoffeeScript is just a fun little thought experiment: I have no vested interest in whether you use it or avoid it for your project -- whatever suits you best.<p>Most esoteric programming languages are non-threatening. As a hypothetical programmer working on web applications, I can feel safe and comfortable in my ignorance of Haskell, Erlang, D, Io, Arc, and so on. They're far enough outside of the realm of possibility of adoption for my company that I can shrug them off with an "oh, that sounds interesting", and little more. Wanting to adopt one of them would require a whole new development and deployment stack, a new or ported codebase, and new integration costs with the rest of our system. You wouldn't expect to see an article talking about how people using Erlang are creating a "knowledge gap" for Java programmers.<p>CoffeeScript feels threatening precisely because it <i>is</i> so close to JavaScript, because the code can run with identical performance as hand-optimized JS anywhere that JavaScript can run, because any CoffeeScript library can interoperate seamlessly with any JavaScript library, and vice versa. It forces you, as a reasonable JavaScript programmer, to answer the harder question: Why haven't you tried it yet? Posts like these happen when folks try to rationalize an answer for themselves.