ECMAScript Fight Results in 'Harmony'

The fate of ECMAScript 4 (ES4) appears to be sealed and, according to Brendan Eich, chief technical officer of Mozilla and the creator of JavaScript, so is the rift between the two factions of Ecma's Technical Committee 39, divided for a year over the future of this standard. Last month the committee officially agreed to ditch plans for the proposed ES 4.0 specification to focus on a more limited, new spec based on the current standard ECMAScript 3.1 (ES3.1).

Eich dubbed this larger, successor edition to ES3.1 "ES Harmony." That name, he said, was also meant "to describe the united committee and the agreements we reached." In his widely read blog post announcing the Ecma Committee's decision, he declared that the switch to Harmony was "good news for everyone."

"[The committee's decision] does mean that some of the ideas going back to the first ES4 proposals in 1999, implemented variously in JScript.NET and ActionScript, won't make it into any ES standard," Eich wrote. "But the benefit is collaboration on unified successor specifications to follow ES3, starting with ES3.1 and continuing after it with larger changes and improved specification techniques."

ES4 would have been a major fourth edition to the ECMA-262 specification. Proponents of this path advocated an ongoing evolution that would requires new syntax and possibly even new semantics. They sought to include things like stronger support for specifying the type of each variable, which is a more structured approach that's required by languages such as Java. They were also favored support for more sophisticated namespaces or packages that would prevent conflicts when two developers inadvertently use the same name for different methods. Advocates for the ES3.1, which is based on the existing ECMA-262 Edition 3 specification, pushed for a more model evolution.

The Ecma TC39 meeting held in Oslo at the end of July ended with a resolution to focus on four tasks, Eich reports:

  • The shift to ES3.1, "with full collaboration of all parties," aiming for two interoperable implementations by early next year.
  • Collaboration on the next step beyond ES3.1, "which will include syntactic extensions, but which will be more modest than ES4 in both semantic and syntactic innovation."
  • The abandonment "for good" of several ES4 proposals, which the committee deemed "unsound for the Web," including: packages, namespaces and early binding.
  • Rephrasing other goals and ideas from ES4 to keep consensus in the committee, including "a notion of classes based on existing ES3 concepts combined with proposed ES3.1 extensions."

JavaScript is one of the most popular dynamic scripting languages in use today, so the Ecma Committee's decision on the future of ECMAScript is going to affect a lot of developers. Eich advises those developers not to sit on the sidelines.

"Developers need to hold browser vendors to account in working productively on the evolution of JavaScript and implementing and shipping new standards in a timely fashion," he told this site. "This means doing betas or test builds of draft standard specifications before they are adopted, so developers can test before the standard is blessed."

Eich was among several supporters on the committee in favor of the ES4 path; committee members Microsoft and Google favored ES3.2. Adobe Systems was an ES4 supporter; its JavaScript-based scripter for Flash, ActionScript, is based on the spec.

In his blog post on the Ecma Committee decision, Dave McAllister, Adobe's director of Standards and Open Source, rejected claims circulating in the blogosphere that Adobe had lost this standards battle. He wrote: "[W]e agree with the necessity of the Ecma TC39 ES Harmony effort. We'll continue to be involved, in both ES Harmony and in future generations of ECMAScript. We will track Ecma efforts within ActionScript, but won't stop innovating ActionScript, which millions of developers rely on and is key to so many incredible Web experiences today."

Microsoft's interest in the evolution of the spec stems from its JScript dialect of JavaScript. The language is implemented as a Windows script engine. JScript .NET is a version of the language that can be compiled for the Microsoft .NET platform.

Most parties to this decision seem to agree that the evolution of ECMAScript after the publication of the ECMA-262 spec in December 1999 had stalled while the Web itself continued to develop.

"I hope [the committee's decision] it will allow the language to evolve, finally, after nine years of stagnation," Eich said. "ES3.1 is just a good start; we need that major successor standard that we agreed to in Oslo…"

About the Author

John K. Waters is a freelance journalist and author based in Mountain View, CA.

Featured

  • interconnected cloud icons with glowing lines on a gradient blue backdrop

    Report: Cloud Certifications Bring Biggest Salary Payoff

    It pays to be conversant in cloud, according to a new study from Skillsoft The company's annual IT skills and salary survey report found that the top three certifications resulting in the highest payoffs salarywise are for skills in the cloud, specifically related to Amazon Web Services (AWS), Google Cloud, and Nutanix.

  • AI-inspired background pattern with geometric shapes and fine lines in muted blue and gray on a dark background

    IBM Releases Granite 3.0 Family of Advanced AI Models

    IBM has introduced its most advanced family of AI models to date, Granite 3.0, at its annual TechXchange event. The new models were developed to provide a combination of performance, flexibility, and autonomy that outperforms or matches similarly sized models from leading providers on a range of benchmarks.

  • landscape photo with an AI rubber stamp on top

    California AI Watermarking Bill Garners OpenAI Support

    ChatGPT creator OpenAI is backing a California bill that would require tech companies to label AI-generated content in the form of a digital "watermark." The proposed legislation, known as the "California Digital Content Provenance Standards" (AB 3211), aims to ensure transparency in digital media by identifying content created through artificial intelligence. This requirement would apply to a broad range of AI-generated material, from harmless memes to deepfakes that could be used to spread misinformation about political candidates.

  • happy woman sitting in front of computer

    Delightful Progress: Kuali's Legacy of Community and Leadership

    CEO Joel Dehlin updates us on Kuali today, and how it has thrived as a software company that succeeds in the tech marketplace while maintaining the community values envisioned in higher education years ago.