JavaScript road map: Smaller, more frequent updates ahead

ECMAScript will be updated more often, even if releases bring few new features

Developers of ECMAScript, the official specifications underlying JavaScript, are moving forward with plans for upgrades, with the 2016 release most likely set for approval next month. Thanks to a process change, new releases will arrive more frequently even if the new features are few for any specific version.

Part of a planned annual release cadence, the upcoming ECMAScript 2016 specification features an Array.Prototype.includes method, to determine if an array includes an element, and exponentiation operator.

"The two features -- yes, only two -- themselves are minor, but there were also a few clean-ups and bug fixes. Nothing very visible," said blogger Axel Rauschmeyer, who has written a book on ECMAScript 2015, the most recent release of specification.

Ratification of the 2016 specification by ECMA is expected in June. "It's good that ES2016 is so small; we needed time to catch our breath after ES6/ES2015," Rauschmeyer said. "It's also a sign that the new process is working -- we'll get smaller, more incremental releases from now on."

JavaScript founder Brendan Eich detailed the desire for quicker releases last year, with smaller specifications sought for implementation in browsers. "This rapid-release model, often known as the 'train model,' has proven successful for Web browsers like Firefox. The regular cadence helps prevent pressure to slip schedules and avoids large features, which take longer to develop, blocking smaller features from getting released," said Dave Herman, director of strategy at Mozilla Research and a member of the ECMA TC39 committee developing the specifications. "We're taking advantage of a similar process to ensure that browsers and transpilers can implement features faster and developers can adopt them earlier."

It's still a little early to know what exactly will be in the follow-up ECMAScript 2017 specification, planned for next year. "Since features land when they're ready and editions of the standard are released regardless of the state of the features, it's a little too soon to predict what features will be included in the 2017 edition of the specification," Herman said. "Of course, what matters most to Web developers is when new features will be available for them to use. With the new annual releases, accepted proposals can always be finalized within less than a year, which is a great improvement."

Browsers and transpilers may implement features far in advance of inclusion in the actual specification. "So for Web developers, the most important thing to track is the progress of the feature proposals themselves," Herman said.

The list of proposed features for possible inclusion in ECMAScript next year includes string padding, to lessen the pain of working with strings; Single Instruction Multiple Data (SIMD) capabilities; and asynchronous iterators, providing a generic data access protocol for asynchronous data sources.

Sometimes, a feature can get a thumbs-up for inclusion and then be cast aside. This happened with object.observe, for observation of changes to objects. It had been planned for inclusion this year but was withdrawn due to a change in the technical circumstances around it.

Copyright © 2016 IDG Communications, Inc.