ECMAScript: un bond en arrière

20 08 2008

Le comité ECMAScript vient de décider de stopper les travaux sur la version 4 d’ECMAScript pour se concentrer sur l’ECMAScript 3.1 (mise à jour du JavaScript actuel). Depuis plusieurs années, Macromedia puis Adobe ont énormément travaillé avec le comité pour définir et faire évoluer cette norme. Les différentes actions et innovations pour améliorer la puissance de calcul et la rigueur dans le coding côté client ont amené Adobe à caler l’ActionScript 3 aux spécifications de la norme ECMAScript 4, de rendre Open Source la machine virtuelle (projet Tamarin chez Mozilla) et de continuer à faire évoluer la norme. Les standards figent des spécifications mais ne sont pas des moteurs d’innovation. On peut donc regretter ce recul du comité approuvé par MicroSoft, Apple, Yahoo et DOJO. La blogoshère tend à accuser ces gros acteurs de vouloir freiner la montée en puissance de Tamarin et de l’AS3. Je pense que le problème est plus complexe et que de nombreux développeurs JavaScript/web ne souhaitaient pas voir leur langage trop se complexifier pour tendre fortement vers Java (le même fossé que nous connaissons entre un développeur AS2 et un développeur AS3).

Mais peu importe la raison qui a motivé cette décision, il faut aujourd’hui analyser l’impact que cela aura sur le langage AS3. En fait, cette annonce n’aura aucun effet sur le langage et Adobe ne compte pas faire régresser sa syntaxe (packages, namespaces, etc…). Le fait que l’AS3 ne corresponde plus officiellement à un standard n’aura à mon avis aucun impact sur la communauté de développeurs. Si l’on se projette quelques années en arrière, Java n’était ni standard, ni open source, mais ce langage a su convaincre un public de développeurs passionnés grâce à sa puissance et ses innovations.

A l’opposé, je sais que l’équipe de développement du langage continuera de tenir compte des évolutions de l’ECMAScript et restera très attentive. Mais un standard est aussi un canvas limité, et le langage AS3 a du parfois se contraindre pour éviter de sortir du standard (overload natif, static class…). J’espère donc qu’Adobe fera évoluer de façon encore plus vive le langage pour qu’il réponde aux demandes des développeurs objets exigeants (et habitués à des POO en Java par exemple) mais aussi aux designers un peu oubliés avec la sortie de l’AS3. Le langage va aller de l’avant et c’est au final une bonne nouvelle, qui a suscité des posts très vifs sur le web… j’espère que vous serez calmes et sages sur mon blog.