Hacker News new | past | comments | ask | show | jobs | submit login

"when the underlying JS changes (Like ES5->ES6) it can cause big breakage"

[Citation Needed]

As I understand it ES6 is meant to be backwards compatible with ES5.

CS classes won't make use of the new "class" syntax, but they should be compatible ES6 classes (they can subclass each other) because they're both really just sugar on top of JavaScript's prototypal inheritance.




The problem is ES6 is not forward-compatible from the point of view of CS or TS.

That's ok if the latter two (and other such languages) can change to track ES6, as MS promises TS will.

Just one example from CS: the difference between for/of meanings.


That seems like a bigger issue for TS, which aims to be a superset of JavaScript, vs. CoffeeScript which is a totally different language.

And I think the parent comment was concerned CS/TS would break as ES changes underneath.


Pretty sure the parent was talking about what I elaborated on -- see in particular

"... because when the underlying JS changes (Like ES5->ES6) it can cause big breakage and/or confusion (Will CS classes work like classes do in ES6?)"

Having two kinds of for-of loops and two kinds of classes, even if CS tries to present only its flavor and hide the underlying (but you can still escape out to raw JS from CS), does make for confusion.

Also, separate point, ES6 sucks oxygen from CS, so while I expect CS to live on, it won't see as much adoption as it would have absent ES6.

The reason to consider this is that if it's a big enough oxygen-sucking effect, CS might want to break its own backward compatibility in order to re-align with JS. I've heard talk of such a change, but I haven't talked about it Jeremy or Michael. Pointers welcome.


Yep, it's already happened; CoffeeScript just implemented support for generators with v1.9.0.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: