ECMAScript Harmony Unifies the Efforts Towards JavaScript 2.0

ECMAScriptJohn Resig reports on new directions in the work towards the next edition (version) of ECMAScript, more widely known through the dialects JavaScript (Mozilla), JScript (Microsoft) and ActionScript (Adobe). At the recent "Oslo meeting", it was agreed to join the efforts of the two groups working on respectively the more ambitious ECMAScript 4 specification (Adobe, Mozilla et al.) and the less ambitious ECMAScript 3.1 (Microsoft, Yahoo). The joint effort has been dubbed ECMAScript Harmony.

Important new features proposed for ECMAScript 4 (JavaScript 2.0) were support for classes (object-oriented programming), packages, namespaces, type annotations and static typing. Packages and namespaces have been dropped from the Harmony project, classes will remain in some form but the status for type annotations is yet unclear.

ECMAScript (JavaScript) is an open language, supported natively in some dialect by most browsers. It propels many Web 2.0 sites, enabling features like AJAX for example. JavaScript and HTML form the basis of standards based client-side Web programming, and is generally preferred over proprietary technologies like Flash (Adobe) and Silverlight (Microsoft).

The scripting language ActionScript (specifically version 3.0), which is used in Adobe Flash, is based on an early proposal for ECMAScript 4, which kind of gives Adobe a break. However, the script is compiled to bytecode before running on the client, and a separate runtime component (e.g. Flash Player) is required. It can be expected that ActionScript is adapted to comply with future versions of ECMAScript, possibly keeping some additional features.

The latest stable edition of ECMAScript is 3 (from Dec 1999), which roughly corresponds to JavaScript 1.5, JScript 5 and ActionScript 1.0.

Comments section