ECMA-414: Modularizing the JavaScript Standard

As we noted in our post about the open and incremental approach to TC39, one of the challenges facing TC39 is that it has grown in size substantially along with the community interest in JavaScript. ECMA has started to address this by creating a few additional standards bodies for sections of JavaScript that can be decoupled from the core language.

ECMA-414

ECMA-414 is the meta-specification for all current and future JavaScript standards groups. It currently contains references to three standards and the internal ECMAScript test suite.

ECMA-262: JavaScript

ECMA-262 is the standard everyone is familiar with, the main JavaScript language. It is currently close to releasing ES2017 and is refined through an open process.

ECMA-402: Internationalization

If you have ever worked on creating an internationalized or localized application, you quickly learn that language translation, currency, dates, and other features are far from simple. Internationalization is sufficiently complex that it was wisely split off into the ECMA-402 standard. It is refined through the same open process via GitHub.

ECMA-404: JSON

The JSON data interchange format or syntax is part of ECMA-404. While the syntax is valid JavaScript, its rise in popularity as a data format makes it a good candidate for a separate standard given the need to support it within almost any programming language today.

Summary

The JavaScript standards group seems to have learned from some of the challenges of CSS and XHTML which created so many modular standards that it was at times difficult to keep track of all of the modules. By keeping the core language features in one standard, but looking for things that are fairly orthogonal to the language, they’ve done a solid job of separating concerns where it makes sense to help needed ancillary features of the language iterate somewhat independently of TC39. That said, there is still quite a bit of communication between the groups in charge of each of these standards so they do not diverge in their approach.

Comments

  • I could not find the any information on JSON. The link returned NOT FOUND :)