ECMA Technical Committee (TC) 39 heeft onlangs in Oslo eindelijk overeenstemming bereikt over de verdere standaardisatie van JavaScript of ECMAScript zoals het officieel heet, want JavaScript is nog steeds een merknaam van Sun Microsystems.

De standaardisatie van JavaScript, dat een steeds prominentere rol vervult op het web, staat sinds ECMAScript 3 uit 1999 zo goed als stil. Al bijna 10 jaar hebben software- en browserfabrikanten ieder op hun eigen manier versies ontwikkeld en gaten gedicht.

Schisma

Sinds vorig jaar dreigde deze wildgroei zelfs verdere standaardisatie van JavaScript te smoren. Ruim een jaar woedde er binnen TC 39 een stammenstrijd tussen Adobe, Mozilla, Google en Opera enerzijds en Microsoft en Yahoo anderzijds. De eerstgenoemden bepleitten radicale vernieuwing en uitbreiding van de standaard tot ECMAScript 4, zodat die meer in lijn zou komen met het reeds bestaande Adobe's ActionScript 3 (voor Flash en Flex) en JavaScript 1.7 en 1.8 van Mozilla (in Firefox).

Vooral Microsoft zag niets in de plannen en besloot, min of meer eigenhandig, zich bezig te houden met ECMAScript (ES) 3.1, dat vooral moest bestaan uit bugfixes. ES 4 zou te veel een breuk zijn met ES 3, wat tot verminderde interoperabiliteit met verschillende bestaande implementaties zou leiden, stelde Chris Wilson van Microsoft.

Harmonie

Bij de laatste vergadering van EC39 eind juli is toch een compromis bereikt. De verregaande ambities voor ECMAScript 4 zijn definitief overboord en er is nu duidelijk gekozen voor een pragmatische, evolutionaire lijn naar ES 3.1 en verder naar uiteindelijk versie 4, die alvast ES 'Harmony' is gedoopt.

De mogelijkheden van 'packages', 'namespaces' en 'early binding' zal definitief niet in de standaard worden opgenomen. Wel worden een aantal andere elementen, zoals het door Mozilla ontwikkelde 'getters/setters', reeds in versie 3.1 verwerkt.

De uitkomst is slikken voor vooral Adobe en Mozilla, maar Mozilla-vertegenwoordiger Brendan Eich schrijft in een reactie op de overeenkomst toch 'blij te zijn dat het schisma voorbij is'.

Mike Chambers van Adobe wil wel kwijt dat dit besluit geen consequenties heeft voor ActionScript: "Standaarden zijn traag en volgen altijd implementaties. [...] ActionScript 3 zal niet veranderen en we gaan toekomstige versies niet 'dommer maken'."