|
|
|
|
|
by shady_trails
3890 days ago
|
|
You have an interesting opinion. Coffeescript has, for several years now, encompassed nearly the entire API surface of ES2015. * Comprehensions (more flexible with Coffeescript). Wait, that's ES7 now.
* Template strings
* For .. Of loops
* Destructing
* Classes. ES2015 has an awful implementation of this, without allowing an syntax for binding methods. Also enforces the somewhat arbitrary requirement of function properties only, as opposed to any type I choose. Don't forget, mixins with Coffeescript classes is a breeze, but no support with ES2015.
* Arrow functions. Unnecessary syntax with ES2015 (the parens even without arguments), not to mention confusing implicit return.
* Generators with ES2105. If you find a use for these in front end web dev I'll buy you a beer.
ES2015 does succeed in introducing an entire set of confusing ideas: we rolled for years with var's, but now I get my hand held with const and let, because figuring out how var works (or just relying on Coffeescript to handle it for you) is too challenging.The point here is that it is frustrating to see people jump on the ES2015 bandwagon when Coffeescript has had the same feature set for years. It suffered adoption because of developers who didn't want to learn `another` language. I have met a tremendous quantity of developers - myself included - who initially rebelled against the use of Coffeescript, only to eventually fall in love with it. |
|
Agreed. I didn't say features; I said looked. It looks horrible in comparison.
ES6/7 code is much cleaner, clearer, and more idiomatic, than CoffeeScript. (in my experience, and I've used/debugged/worked with a LOT of both)
Not going to crap all over the features of CoffeeScript, those were good (though they produced pretty awful looking JS code as a result). I would say however it wasn't worth the trade off in debugging pain.