Harmony - Direction of ECMAScript

The long and tiresome tussles between advocates of ECMAScript 3.1 and ECMAScript 4 have finally concluded, ushering in a new era of Harmony.

Harmony is the initiative born out of what was called the Oslo Meeting, held at Opera. The meeting concluded that ECMAScript 4, which was to be a major revision of the current ECMA-262 standards, will be dropped. There are some great features that ECMAScript 4 promised that will need to go, including early binding and namespaces. Looking at ActionScript, one of the reason it managed to muscle out market share is, in my opinion, partly because of JavaScript's inability to cater for the cutting-edge crowd.

Now that things are done and dusted, we will focus on Harmony, a version going forward beyond the current ECMA-262 3rd standards.

The executive summary from the meeting listed out these deliverables:

  1. Focus work on ECMAScript 3.1 with full collaboration of all parties, and target two interoperable implementations by early next year.
  2. Collaborate on the next step beyond ECMAScript 3.1, which will include syntactic extensions but which will be more modest than ECMAScript 4 in both semantic and syntactic innovation.
  3. Some ECMAScript 4 proposals have been deemed unsound for the Web, and are off the table for good: packages, namespaces and early binding. This conclusion is key to Harmony.
  4. Other goals and ideas from ECMAScript 4 are being rephrased to keep consensus in the committee; these include a notion of classes based on existing ECMAScript 3 concepts combined with proposed ECMAScript 3.1 extensions.

Opera 9.5 currently supports the entire ECMA-262 2nd and 3rd standards with no exceptions. (See the list of standards supported by Opera.)