Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
229 views
in Technique[技术] by (71.8m points)

javascript - Why was ECMAScript 4th edition completely scrapped?

I've been looking for some information regarding the scrapped ECMAScript 4th Edition without much success, even on SO. I know Mozilla's JavaScript 1.7 implemented many (all?) of the new features offered in 4th Edition and I thought I remembered a good John Resig post on it but I can't seem to find it on his blog now.

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?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

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.

Basically, there were a lot of very strong opinions about how to move JavaScript forward, many of which were incompatible, some of which had mostly been assembled into what some thought would be the 4th edition before things fell apart (not least because of lack of support from some important implementors). Meanwhile, a new edition of the standard was very, very overdue, and so after a lot of advance negotiation, the various parties got together in Oslo in July 2008 and agreed a way forward (Brendan Eich [inventor of JavaScript] later termed that approach "Harmony" when writing it up).

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.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...