Whenever I look at a programming language, I consider four factors:
- Is it freely available?
- Is it an elegant programming language?
- Is it useful in practice? That is: Can I write cross-platform GUI applications? Does it have enough libraries?
- Does it have good tools, especially a good Integrated Development Environment (IDE)?
, its specification, is an ISO standard. That specification is closely followed by several implementations from independent parties. Some of those implementations are open source. Furthermore, the evolution of the language is handled by TC39 
, a committee comprising several companies – companies that are normally competitors.
Yes and no. I’ve written fair amounts of code in
C++, Haskell, HyperTalk, Java, Pascal, Prolog, Python, Scheme and 6502 assembler.
- First-class functions
- Object initialisers and array initialisers
, better loops 
and inheritance APIs 
– all within
), but they are not as mature as, say, PhoneGap
, classes 
). Doing so is challenging, because ECMAScript.next must not break existing code, as it will be a silent upgrade for most users.
Given that it will be years until we can rely on ECMAScript.next being there in browsers, I expect people to develop in ECMAScript.next on a modern browser, but to deploy two versions: An ECMAScript.next version for modern browsers and a version compiled to ECMAScript 3 for older browsers. For simplicity’s sake, one could even deploy only the ECMAScript 3 version. The similarities to CoffeeScript are obvious, especially in the latter case. Hence, some of its techniques and work flows can probably be adopted.
- ECMAScript: ES.next versus ES 6 versus ES Harmony
- ECMAScript.next: classes
- Harmony proposal: modules