In particularly, I want to know why it was completely scrapped in favour of ECMA-262 5th Edition and why it wasn't just improved upon. Some of the features are pretty cool, like generators, iterators, let, new assignment operators and (my particular favourite) destructuring assignment.
I know all of those particular features would just throw errors in browsers with out-of-date ECMAScript implementations, but why not include them anyway with the knowlege that one day those implementations would be few and far between? Were there other reasons too? Are we likely to see some of the scrapped features reappear in a future release, or are vendors so scared of breaking compatibility that we will probably never see such improvements to the standard?
As an aside, it would be nice to know some opinions on the matter, are you annoyed to see some features cut from the 5th Edition or do you think it's better this way? Is it worth playing around with implementations of ECMAScript 4?
Simply put, there was no ECMAScript 4th Edition. From the 5th edition specification:
Significant work was done to develop a fourth edition of ECMAScript. Although that work was not completed and not published as the fourth edition of ECMAScript, it informs continuing evolution of the language. The present fifth edition of ECMAScript (published as ECMA-262 5th edition) codifies de facto interpretations of the language specification that have become common among browser implementations and adds support for new features that have emerged since the publication of the third edition.
Harmony deferred some things, put some things completely off the table forever (namespaces, packages, early binding), and — importantly — allowed the committee to move forward with the first specification update since 1999: The 5th edition.
If you have a spare 55 minutes for the subject, see the video Douglas Crockford: “The State and Future of ECMAScript” or the transcript.
Basically it was becoming a kitchen sink with too many features to be implemented.
There was some discussion of the in the interviews of Coders At Work, two of the interviewees were on opposite sides of this issue.
It appears to have come down to fundamental disagreement about what the language should contain between those working on v4 and some other well respected members of the community.
(I highly recommend this book by the way)
©2020 All rights reserved.