Hallo zusammen,
Mitte letzten Jahres kritisierte ich die stille Weiterentwicklung der Netscape-JavaScript-Spezifikation durch die Mozilla Foundation.
Ich forderte damals, sie sollten doch, um Verwirrung zu vermeiden, diese Spezifikation unverändert lassen und ihre Änderungen JavaScript 1.6 nennen. Nun, dies geschah im November 2005: JavaScript 1.6. Das ist immerhin ehrlich, Mozilla ist damit der neue Herausgeber der proprietären JavaScript-Spezifikation und die JavaScript-Referenz im Mozilla Developer Center ist Gecko-spezifisch.
JavaScript 1.6 brachte nur einige Änderungen, vor allem neue Array-Methoden sowie eine kleine Syntaxerweiterung (for each). Firefox 2.0 führt nun JavaScript 1.7 ein, das mit weit mehr einschneidenden Erweiterungen einhergeht und sich immer grundlegender vom ECMAScript-Standard entfernt (siehe JavaScript und Webstandards).
Auch bei JavaScript 1.7 kann man sich darüber streiten, ob die Erweiterungen praktisch und nützlich sind - ich habe sie einmal durchgearbeitet und für mich sind sie keine Offenbarung. Sie stellen Alternativen dar, die in gewissen Fällen kürzere und elegantere Umseztungen ermöglichen (Brendan Eich zu Python-Ergänzungen für JavaScript). Die Dokumentation scheint mir noch unausgereift, sodass die Vorteile wahrscheinlich noch nicht ersichtlich werden.
Wie auch letztes Jahr ist zu vermuten, dass diese proprietären Erweiterungen keine Perspektiven haben. Die anderen Browser sind bei JavaScript 1.5 bzw. ECMAScript stehen geblieben und haben schon JavaScript 1.6 nicht mitgemacht. Es ist zu vermuten, dass diese Techniken im öffentlichen Web unbrauchbar bleiben. Selbst im homogenen Intranet setzt man zunehmend auf offene, standardisierte Technik, anstatt sich an einen Softwarehersteller und dessen proprietäre Formate zu binden.
Eine Weiterentwicklung von JavaScript in Form eines neuen ECMAScript-Standards ist sicher wünschenswert, die Erweiterungen sind wohl auch nur als Vorgeschmack auf JavaScript 2 bzw. ECMAScript Edition 4 gedacht. Brendan Eich, Erfinder von JavaScript und anscheinend Hauptentwickler der Erweiterungen, ist auch Mitglied der Arbeitsgruppe für ECMAScript (TC39-TG1). Leider tat sich dort trotz seines vermehrten Engagements noch nichts.
Mathias