“There’s already fairly wide use of ES6 features in terms of transpilers and other tools that compile ES6 down to ECMAScript 5 code to run on browsers,” he said. “Clearly the things in ES6 that have the biggest impact on complex applications are the module support and the classes in the language. The most important point on both of those is having one standard way to organize at both the modular component and the program abstraction level, applicable to all JavaScript environments and libraries.”

Wirfs-Brock explained that much energy over the past decade has gone into creating libraries that invent new class models or modularity. ES6 streamlines all that. The TC-39 committee is the working group within Ecma dedicated maintaining the ECMAScript standard, and one of its primary goals, according to Wirfs-Brock, was to consider language design features that offered something unique—something a library couldn’t do.

The popular libraries and frameworks around JavaScript have had a significant impact on how the ECMAScript 6 standard has come together and evolved throughout its open development process. This past December and January, Wirfs-Brock said early-adoption browser implementers provided feedback on sub-classing features interacting with objects, leading to a last-minute redesign of how the ES6 sub-classing mechanism works with built-in DOM libraries.

Yet while the standard is designed to ultimately replace some of the language’s add-ons, Wirfs-Brock said there will always be a place for developers writing new libraries and improving the language on their own, and described the existing ecosystem as simply “massive.”

“Libraries are good. We want people writing libraries,” he said. “If what you need is, say, a new data structure or a family of algorithms, a library is a way to do that.

“Even two years ago, I might’ve said [the third-party ecosystem] is primarily in the browser, with a little server-side and other uses. This year I wouldn’t say that. You have the whole server-side community with Node.js and io.js, lots of pickup in embedded systems and robotics—it’s really all over the place.”

The ES6 specification itself gained final draft approval at the latest TC-39 meeting this past March in Paris ahead of the June Ecma general assembly. Once officially standardized, Wirfs-Brock said pressure will be on browsers to implement, and then on developers to use the language and its features in ways the committee never imagined.

“Browsers won’t wake up with ES6 today,” said Wirfs-Brock. “It’s an incremental process with very deep semantics at the deepest level of engines. At a language design level, we made things easier on developers by making the engine implementers work harder. We’ll also start to see the ES6 features, many of which are already in browsers, slowly benchmarking and optimizing over time. There’ll be pressure not only to get features implemented, but also equal pressure on browsers to up performance. An implementation is only guessing at what it should optimize, and that’s where browser competition is good. No browser (or by extension developer) will use the language in exactly the same way.”

Even more than the classes, modules and litany of other features introduced in ES6, Wirfs-Brock sees the larger legacy of the standard as establishing a new baseline for future updates and releases. Rather than a massive update every five or 10 years, the TC-39 committee plans a yearly release cycle with ECMAScript 7 arriving sometime in 2016 with cleanup and bug fixes.

“ES6 is a big spec with a big effort,” said Wirfs-Brock. “Out of the 650 pages, about 550 of them are pseudo-code algorithms; essentially a piece of software. We’re definitely taking more of a train model to see which new features are added from year to year going forward.”

On the horizon for ES7 are several features in active development, including enhanced asynchronous programming support, single instruction, multiple data (SIMD) support, high-performance computing and hosting other languages, along with further enhancements to classes.

For Wirfs-Brock’s part, the standardization of ECMAScript 6 represents the culmination of more than a decade of work, and a radical culture change in both how JavaScript is used and how it is perceived.

“People don’t realize how significant this is,” he said. “Every once in a while, a piece of technology is situated in the right place at the right time, and it ends up taking over the world. Ten years ago I saw JavaScript poised to be in that position. What we had before was really what Brendan Eich came up with over 10 days in May of 1995. This is a new foundation for what may be the most important programming language of the next several decades, and ES6 is probably the foundation of JavaScript for the next 10 or 15 years.”

About Rob Marvin

Rob Marvin has covered the software development and technology industry as Online & Social Media Editor at SD Times since July 2013. He is a 2013 graduate of the S.I. Newhouse School of Public Communications at Syracuse University with dual degrees in Magazine Journalism and Psychology. Rob enjoys writing about everything from features, entertainment, news and culture to his current work covering the software development industry. Reach him on Twitter at @rjmarvin1.