Tag Archives: ES7

Learning ES6 as a Community

The current schedule for the completion of ECMAScript 6, the next version of JavaScript, dictates that the language specification be finished by the end of the second quarter of 2014. Most browser vendors have made informal commitments to have ES6 implemented by the end of the year. Over the last couple years, we’ve heard a lot about the many new features in ES6, along with the debate (and bickering) which has gone into its design. ES6 stands to be the most substantial change to JavaScript since ES4 (which didn’t work out that great, as most users of ES5 are aware).

With this much change comes a lot of complexity. Many of the new features (like generators or proxies) are powerful, basic abstractions, and as such combine in complex (and potentially unexpected) ways. In many ways, a new version of JavaScript offers the possibility of returning us to the wild frontier days that JavaScript only recently left behind, with library and framework vendors each choosing their own combinations of features to build powerful (and complicated) architectures that can really only be understood on their own terms.

However, as a community we’ve learned a lot over the last half decade or so, and I think we’ve learned how to tackle this problem head on. I’ve come up with a strategy that I think would allow us to collaboratively get to a good place with ES6 relatively quickly. I’ll go over this strategy and point to the areas where I think we ought to spend the most time to get the most positive results.

It’s up to us — as a community of designers, developers, and implementors — to get out in front and provide tooling, documentation, and training that will help ourselves use these new features effectively, before folklore and superstition start to take root. And it’s important to remember that finishing ES6 frees the JavaScript standards bodies to concentrate on ES7, where our feedback from using ES6 will help them refine what comes next.