What JavaScript needs much more IMO is a (better) stdlib, with more datatypes and procedures than currently available (including big numbers, the various flavours of trees, better support for equality and comparison, etc).
What JavaScript needs much more IMO is a (better) stdlib, with more datatypes and procedures than currently available (including big numbers, the various flavours of trees, better support for equality and comparison, etc).
Isn't that "pushing JavaScript forward?"
Level 1: There are known huge missing chunks of JavaScript that should be resolved as they severely limit the power of javascript as a development platform which lives in a network application.
For instance modules, promises, etc...
Level 2: There are known huge missing functionality which are missing which are well known elements of a sane UI framework which should be implemented because bottom line javascript is a UI scripting language.
For instance properties and some kind of observable mechanism.
Level 3: IS all the highly subjective and often syntatic sugar intended to make javascript work more like other programming languages like C# or Python.
For instance classes,. arrow functions, generators, let statements...
Generally the problem is the focus seems to be completely skipping Level 2, to get to Level 3.
Modules: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
Promises: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
Data structures: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
Obervable mechanism: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
Meanwhile arrow functions, let vs var, generators, etc etc etc are coming out in 2015. Why?
Its not skipped as in 'its not on the roadmap', its skipped like 'lets leave it for now and do something else'. Its skipped over to add a bunch of shiny bells and whistles and syntactic sugar. You shouldnt put in the leather seats before the steering wheel.
The addition of sets and symbols, for example, did little to change what an existing codebase looked like. Similarly, adding explicit trees, binums, and so on won't really change much.
The improvements going on right now, though, seem mainly concerned with syntactical sugar and extra syntax. The problem (and I'm in a minority here, I think) is that this creep and bloat takes a quirky language that fits into one's head and instead starts making it a rat's nest of special-cases and odd interactions. This is the sort of thing that caused C++ so much trouble.
Once they add annotations and shared state and threading (and that's coming), the party will be over and the earth salted.