BT

Your opinion matters! Please fill in the InfoQ Survey!

ECMAScript 2015 Has Been Approved

| by Abel Avram Follow 4 Followers on Jun 17, 2015. Estimated reading time: 2 minutes |

A note to our readers: As per your request we have developed a set of features that allow you to reduce the noise, while not losing sight of anything that is important. Get email and web notifications by choosing the topics you are interested in.

The General Assembly of Ecma International has announced the approval of ECMA-262 6th edition, which is the Language Specification of ECMAScript 6 (ES6), also known as ECMAScript 2015.

JavaScript was created by Brendan Eich in 10 days back in 1995, but it needed 20 years to evolve some of the features that are popular in other modern languages. JavaScript was not a great language to start with, but it was a great idea: a language for the browser. JavaScript draw attention immediately, being submitted for standardization the following year, with  version 1.0 coming out from Ecma in 1997, followed by 2.0, having some minor changes, in 1998, then 3.0, with some new features, in 1999.

The language was later much neglected for several years until Ajax was seen as a reasonably good solution for building client applications in the browser. Work restarted on improving JavaScript but the parties involved did not initially agree on the path to follow until 2008 when the TC39, the committee overseeing ECMAScript, came to an agreement and decided to have a smaller iteration first, materialized as ECMAScript 5 (ES5) in 2009, and then a more larger one as ES6 which has now been approved.

The official name of the latest JavaScript version is ECMAScript 2015, and Ecma intends to release new versions in smaller increments more often, the next one being planned for the next year and called ECMAScript 2016. From now on, the name of the new versions will include ECMAScript followed by the year of their release.

ES6 is a major improvement over ES5, the language specification having almost 600 pages compared to 245 for ES 5.1. ES6 adds much needed features such as modules and classes, and some useful ones, Maps, Sets, Promises or Generators. And many others. In spite of being a large release, ES6 is fully backwards-compatible with previous versions, the standardization committee having decided to avoid “breaking the web” caused by non compatible versions of the language. As a result, all the previous code runs and the transition is smoother. But that also means that some of the issues that developers complained about for years will remain.

Currently, none of the JavaScript agents fully supports ES6, so the developers keen on using the latest features of the language will have to transpile the code to ES5. And it will take some time to see the major browsers fully implementing ES6 features, possibly more than a year. For a concise and detailed view of how agents support ES6 features we recommend the ECMAScript Compatibility Table maintained by kangax.

Work has started on ECMAScript 2016, a number of proposals being submitted already, including among others: async functions, typed objects, parallel JavaScript, class decorators, and observables. While these features are actively considered by the committee, we cannot be certain on their future. Some will be included in the next specification, some in future ones, and some may never be adopted. The TC39 Process explains the various stages of a desired feature until it becomes adopted and included in the language.

JavaScript’s evolution was slow in the beginning but it has picked up the pace lately. JavaScript is here to stay, and, hopefully, the standardization body will take it where the community wants it for the benefit of the millions of developers using it.

As a complementary read, we recommend Exploring ES6: Book Introduction and Author Interview, a review of Axel Rauschmayer’s book providing an in-depth view of all the new features in ES 6.

Rate this Article

Adoption Stage
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

More is less by Chris Riesbeck

"ES6 is a major improvement over ES5, the language specification having almost 600 pages compared to 245 for ES 5.1." That's not an improvement in my book, but a sign of feature creep.

Ecmascript 2015 - State of the Union by Thomas Taylor

Here's my take on the current situation as a developer who is looking to use ES6: taylormadeapps.me/2015/06/25/ecmascript-6-state...

An Open Letter to ECMA by Richard Eng

I think ECMAScript is an abomination, which I expound on here: medium.com/@richardeng/an-open-letter-to-ecma-c...

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

3 Discuss

Login to InfoQ to interact with what matters most to you.


Recover your password...

Follow

Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.

Like

More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.

Notifications

Stay up-to-date

Set up your notifications and don't miss out on content that matters to you

BT