ES6 is gaining a lot of spread. It introduces a lot of new concepts into JS. Here are nice overviews: short, comprehensive.
And people already use those features! Thanks to the effort from such projects as 6to5, es6-transpiler and Traceur, for a modern JS developer who does not use CoffeeScript, there is simply no reason not to use ES6 nowadays. Many modern JS projects are already being written in ES6. Moreover, popular JS frameworks already demand that their users code in ES6 out of the box (this includes Angular 2 and EmberJS).
CoffeeScript is essentially locked at ES5. Some ES6 features are accessible via backticks, but others directly conflict with the CS syntax, including said backticks. With main contributors having explicitly refused to support ES6, CS is doomed to become a thing of the past.
This worries me a lot. I still use CS for all my projects, but i will doubt using CS in a new project.
My problem is that i absolutely adore CS syntax. I worship it. After getting used to CS, i can't stand vanilla CS anymore.
Here's an extract from React sources i saw today (by the way, React is written in ES6):
for (var key in props) {
if (!props.hasOwnProperty(key)) {
continue;
}
style[key] = props[key];
}
This can be rewritten in CoffeeScript as:
for own key, value of props
style[key] = value
JS code is more than 100% larger than CS with zero benefit!
Back to the matter. With CS maintainer having doomed CS to be obsolete, we need a replacement.
I suggest that here we:
- Collect references to and discus JS preprocessors that implement CS-like syntax while maintaining ES6 compatibility. I failed to google up any but maybe you're luckier.
- Discus starting a new preprocessor project that would implement CS-like syntax while maintaining ES6 compatibility.
- We should start discussing the new syntax. Some of core CS features conflict with ES6, namely backticks and fat arrows, others become redundant (splats, comprehensions, classes, etc). I suggest we give precedence to ES6 and change CS convensions.
- Should we start from scratch or fork CS?
- Anyone feels skilled enough to be a primary maintainer/contributor of the CoffeeScript killer? :D I don't. :(