top | item 2985606

(no title)

esk | 14 years ago

I love and use CoffeeScript because it removes almost all of JavaScript's cruft, making the true purpose of the code much clearer. Ultimately, removing cruft is all CoffeeScript does—it doesn't fundamentally change JavaScript—but man does it do it well.

That being said, CoffeeScript has bugs[1]. I've run into its bugs before, and there are few things more frustrating than dealing with bugs in your language.

[1]: https://github.com/jashkenas/coffee-script/issues?labels=bug...

discuss

order

chime|14 years ago

> it doesn't fundamentally change JavaScript—but man does it do it well.

I guess it really depends on our definition of fundamental. Certainly, it doesn't turn JS into Lisp. But it does introduce concepts that while possible in JS, are not nearly as easy and transparent to use. E.g. the 'do' keyword. When I write CS, I think using 'do' and not "let me insert a closure here to ensure variable values aren't overwritten in the loop." Same with comprehension, function binding (=>), and classes in CS.

Syntactically, I can't live without Heredocs because my project involves a lot of HTML generated dynamically through JS/CS.