Adventures in Scripting
October 11, 1999
I recently returned from a trip back to England where the ECMAScript standards group met to put the finishing touches on ECMAScript Edition 3.0, ready for official sign-off in December. It occurred to me this morning at 4:00 A.M. that an article explaining what goes on at the ECMAScript meetings and what's new in ECMAScript 3.0 might make an interesting column. The added advantage for me: The column will have limited coding, allowing me to concentrate on writing—a good thing this early in the morning!
Snappy name, eh? Despite being lumbered with quite possibly the worst moniker ever foisted on a language, ECMAScript is actually a pretty unique experience in language design and Web standardization. The group gets on pretty well, and the language is being designed with the input of all parties—rather than standardizing after somebody ships an implementation.
What Happens at the Meetings?
ECMAScript Edition 3.0
In the short term, there will be some minor incompatibilities with the Edition 3.0 specification and JScript 5.0, since JScript was released before the standard was completed. We are working on a newer version of JScript that will be 100 percent ECMAScript compatible, so the next release should return us to full ECMAScript compatibility.
In order for a specification to become a standard, it must be approved by the ECMA General Assembly, which meets twice a year—in June and December. To meet the December deadline, Edition 3.0 needs to be completed by mid-October, and there has been much debate while trying to iron out any last-minute glitches.
ECMAScript Edition 4.0
Initial design work for ECMAScript Edition 4.0 has been carried out in parallel to Edition 3.0 and has focused on two main areas: making the language more robust/object oriented and providing more international support. It's still early, but Edition 4.0 promises to make ECMAScript a significantly more capable language—in particular, for those running into problems developing large-scale applications. Essentially, we are trying to combine the more disciplined class and type structure present in other more formal, structured languages (such as Java or C++) with ECMAScript without losing the dynamic, easy to use features that have made ECMAScript so popular. Backwards compatibility is of special importance, so any additions to the language must work within the boundaries of the existing language.
Microsoft is committed to being an active participant in the ECMAScript standardization process. We're working on a new version of JScript solely to meet the new requirements of ECMAScript Edition 3.0 and will continue to ensure that JScript remains compliant with the standard. Hopefully, Web developers are beginning to reap the benefits of having a standard for existing scripts and will gain further knowledge with the combined design skills from all members of the ECMAScript group.