Standaardisatie JavaScript vlotgetrokken
De scripttaal JavaScript (nog steeds een Sun-handelsmerk) wordt vooral gebruikt binnen browsers. De huidige browsers hebben na bijna tien jaar elk hun eigen manier gekregen om de sindsdien geconstateerde gaten in de specificaties te omzeilen, wat voor een standaard uiteraard geen goede zaak is. Zo ontstonden onder andere ActionScript 3 van Macromedia/Adobe (in Flash en Flex), JavaScript 1.7 en 1.8 van Mozilla (in Firefox) en JScript, JScript.NET en JScript for DLR van Microsoft (in IE en Silverlight).ECMAScript 3.1, waaraan ECMA momenteel werkt, is niet veel meer dan een bugfix. De echte innovaties hadden moeten worden gerealiseerd met ECMAScript 4, oftewel ‘JavaScript 2’. In de discussies over ECMAScript 4 bleven vertegenwoordigers van Mozilla, Adobe, Google en Opera echter touwtrekken met die van Microsoft en Yahoo!. De eersten bleken ambitieus en wilden veel toevoegingen opnemen die al in hun eigen implementaties van JavaScript waren verwerkt, en legden zo de lat voor de nieuwe standaard hoog. De laatste twee zagen echter meer in een beperkte update in de vorm van verbeteringen in ECMAScript 3.1, waarbij de prestaties van browsers niet in het geding zouden komen.Op een bijeenkomst in Oslo is nu eindelijk een compromis bereikt. Een beperkt aantal features uit de ECMAScript 4-voorstellen wordt onder de naam ‘Harmony’ in een versie verwerkt, die na versie 3.1 verschijnt. Daarin ontbreken echter voorgoed programmeerfuncties als ‘packages’, ‘namespaces’ en ‘early binding’. Intussen gaan alle partijen weer samenwerken aan versie 3.1. De mogelijkheden die Adobes ActionScript biedt, werden een grote rol toebedacht in JavaScript 2. Dat daarvan nu veel minder terechtkomt dan Adobe voorstelde, mag niet als een nederlaag worden gezien, stelt Adobe-technicus Dave McAllister, die bij het overleg betrokken was. “We hebben een standaardenbasis nodig. In het stabiliseren van ECMAScript kijken we naar de behoeften van het web. Deze nieuwe harmonie maakt in ieder geval bepaalde verbeteringen en updates van de huidige standaard mogelijk, en biedt ons de mogelijkheid op het web met iedereen te ‘praten’.”JavaScript maakt overigens ook in ander opzicht een relatief belangrijke ontwikkeling door. Mozilla werkt aan een JavaScript-interpreter die Java-scripts tot wel veertig keer sneller verwerkt dan de interpreter die onderdeel uitmaakt van Firefox 3.0. De relatief trage verwerking van Java-scripts door browsers doet veel programmeurs nu nog uitwijken naar andere programmeertalen bij het schrijven van webapplicaties. De ontwikkelaars mikken erop de interpreter af te ronden nog voordat Firefox 3.1 wordt gepubliceerd. Die variant van de Mozilla-browser moet eind dit jaar of begin volgend jaar op de markt komen. Apple introduceerde eerder dit jaar ook al een snellere JavaScript-interpreter, genaamd SquirrelFish.