Toutes les notes

Dart, le nouveau langage de Google, « qui n’est pas là pour remplacer JavaScript mais si ça se fait on n’est pas contre hein », vient de sortir officiellement.

Grossièrement il s’agit d’un langage objet « classique », qui à première vue ressemble beaucoup à Java : des classes, un typage statique (optionnel), et d’autres choses intéressantes. Je vous laisse découvrir ses fonctionnalités plus en détail sur la page de présentation du langage. Sa conception a été orientée vers les performances, la sécurité, et les outils de développement. Il disposera d’une machine virtuelle qui sera intégrée dans les navigateurs qui voudront le supporter (et pourquoi pas ailleurs, comme sur le serveur), et d’un compilateur vers JavaScript pour la compatibilité (un peu comme CoffeScript).

Il y a environ un mois, un mail interne datant de novembre 2010 avait été publié sur le web. Je vous en cite quelques extraits (il s’appelait alors Dash), puisque ces prises de position n’apparaissent pas sur le site du nouveau langage (les emphases sont de moi).

The goal of the Dash effort is ultimately to replace JavaScript as the lingua franca of web development on the open web platform. We will proactively evangelize Dash with web developers and all other browser vendors and actively push for its standardization and adoption across the board. This will be a difficult effort requiring finesse and determination, but we are committed to doing everything possible to help it succeed.

Au cas où un doute subsisterait, le contexte est posé : le but est clairement de remplacer JavaScript.

Why are you circumventing the standards process? We fully intend to cooperate fully with standards processes–the problem is that the current standard processes are limited to Javascript, which is not viable in the long term. Any effort with the historic baggage that Javascript has will be extremely limited. We need to make a clean break, make progress, and then engage the community.

Google ne croit pas à « l’innovation ouverte ». Ils préfèrent concevoir en secret, puis commencer à discuter avec la communauté pour en faire un standard lorsque le langage est terminé.

What will Google developers be using? We will strongly encourage Google developers start off targeting Chrome-only whenever possible as this gives us the best end user experience. However, for some apps this will not make sense, so we are building a compiler for Dash that targets Javascript (ES3). We intend for existing Google teams using GWT and JSCompiler to eventually migrate to the Dash compiler.

Nous le savions déjà, mais les services de Google seront de plus en plus rapides et avancés dans Chrome, car il y aura des optimisations spécifiques pour ce navigateur. Chrome interprètera donc du Dart dans les futurs services de Google, tandis que les navigateurs qui ne supportent pas le langage auront du Dart compilé en JavaScript.

Le remplacement de JavaScript n’est pas ce qui me gène le plus dans cette histoire. Cette nécessité est certes discutable, car JavaScript est en train d’évoluer très rapidement avec le projet Harmony, mais toutes les nouvelles idées sont bonnes à prendre.

Ce qui est très dérangeant en revanche, c’est cette tendance de plus en plus présente chez Google à faire les choses de son côté, et à bénéficier de fait d’un avantage technologique sur ses concurrents.

Brendan Eich, concepteur du langage JavaScript et travaillant actuellement sur le projet Harmony (le futur de JavaScript), est évidemment fortement hostile à ces méthodes de conception. Si vous souhaitez connaître son avis sur le sujet, je vous invite à lire ce fil de discussion sur Hacker News, dans lequel il y explique son point de vue. Selon lui, les concepteurs du langage Dart n’ont pas connaissance des évolutions futures de JavaScript, puisqu’aucun n’a participé à Harmony.

Pour terminer, il ne faut jamais perdre de vue que les standards du web ne gagneront jamais définitivement : c’est un combat qu’il faut mener en permanence pour maintenir l’équilibre entre innovation et standardisation.

4 commentaires

Flux RSS des commentaires de cet article

Ca bouge encore !
Excellent billet.
Mais ça devient difficile de suivre le mouvement.
Trop d’open source tue l’open source ; c’est peut pourquoi Google travaille de son coté …

Le 11 oct. 2011 à 09h52 par Domi

Je ne comprends pas la dernière phrase du commentaire de Domi disant que :

Trop d’open source tue l’open source ; c’est peut pourquoi Google travaille de son coté …

Dart n’est clairement pas dans la philosophie de l’opensource car Google travaille de son côté et ne communique qu’une fois le produit fini.

Ce qui me gène dans cette approche c’est la volonté de complètement se détacher de Javascript.

Pourquoi pas exploiter le concept du fork comme il est discuté au sein de la communauté Drupal pour PHP ?

Le 11 oct. 2011 à 10h20 par ptiswitz

Moi, tout ce qui me semble gênant dans toute cette histoire, c’est qu’une société puisse encore, en 2012, imposer un langage… et que parce que c’est google (et que google, c’est « chouette ») les coders vont buzzer et créer une sorte de fausse émulsion qui modifiera forcément la donne.

Après tout, regardez le nombre de watcher d’un projet tel qu’ angularJS comparé à un emberJS. Le succès amène le succès et avec cela, la critique disparait.

Le 03 août. 2012 à 10h55 par kaneel

Les commentaires sont fermés sur cet article.