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.
> Coffeescript has, for several years now, encompassed nearly the entire API surface of ES2015.
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.
> ES6/7 code is much cleaner, clearer, and more idiomatic
I'm assuming you're talking about the compiled javascript from coffeescript and not coffeescript itself? I find coffeescript code much, much nicer to read, write, and deciper.. but that's just me!
Well I could refer to both, but no I wasn't specifically (though it does apply).
I'm curious: were you a Ruby dev before using CoffeeScript, or at least had a reasonable amount of experience with it?
That said I find Ruby to be dense and annoying to read sometimes (due to its sometimes Perl Golf obsession with brevity in language constructs), so it could be just Ruby idioms annoy me ;)
I haven't used ruby but ive been writing python for many years and so the indentation-based syntax definitely something I enjoy. But that said I didn't even use coffeescript until I was forced to while working at a huge media company where the big project I worked on had the large client written in coffeescript... once I got used to working with it I think I enjoyed the clean code and productivity gains..
I guess your milage may vary though depending on what you're doing etc.
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.