URL: https://linuxfr.org/news/dart-va-t-il-remplacer-javascript-comme-langage-dans-les-navigateurs Title: Dart va‐t‐il remplacer JavaScript comme langage dans les navigateurs ? Authors: Bruno Michel Date: 2011年10月11日T00:50:02+02:00 License: CC By-SA Tags: dart, javascript, google et js Score: 51 Google a publié une première version, dite _« preview release »_, de son nouveau langage de programmation : Dart. Google espère que ce langage va remplacer JavaScript comme langage de référence dans les navigateurs. Un [mémo interne](http://markmail.org/message/uro3jtoitlmq6x7t) qui a fuité nous informe des intentions de Google. Les ingénieurs de Google, et tout particulièrement l’équipe travaillant sur V8, considèrent que le JavaScript est une impasse : il serait trop lent, très mal adapté pour des développements de grande taille et souffrirait d’erreurs de jeunesse irréparables. Google a donc décidé de proposer son propre langage, Dart, dont la première version vient tout juste de sortir. Pour le moment, les programmes écrits en Dart peuvent être compilés en JavaScript pour tourner dans les navigateurs. D’ici peu, Chrome devrait être en mesure d’exécuter directement du code en Dart, étape nécessaire pour des performances accrues. Les plans de Google sont ensuite de proposer son moteur aux développeurs des autres navigateurs, mais il semble peu probable dans l’immédiat que ceux‐ci acceptent. Dart se distingue de JavaScript par : * le typage statique optionnel ; * les classes et interfaces (par opposition aux prototypes du JS) ; * l’obligation d’utiliser les « ; » pour séparer les instructions ; * une bibliothèque standard plus riche ; * la possibilité d’être outillé plus facilement (meilleure prise en charge pour l’IDE et outils de ré‐usinage par exemple). Pour autant, Dart a reçu un [accueil très froid](http://dartinside.com/2011/dart-bashing/) de la part des développeurs. Par exemple, Brendan Eich, le créateur de JavaScript, considère qu’il est plus simple et plus efficace de [faire évoluer le JavaScript](http://brendaneich.com/2011/09/capitoljs-rivertrail/) que de développer un nouveau langage. ---- [L’annonce de Dart par Google](http://googlecode.blogspot.com/2011/10/dart-language-for-structured-web.html) [Le site officiel de Dart](http://www.dartlang.org/) [Dart, le Visual Basic du Web ?](http://arstechnica.com/business/news/2011/10/google-aims-dart-at-the-visual-basic-of-the-web.ars) [Javascript Nowhere](http://dev.af83.com/javascript/javascript-nowhere/2011/10/10) ---- Pour ma part, je trouve l’annonce de Dart très décevante. Google a visiblement développé un langage qui correspond à ses besoins (permettre de développer des applications comme GMail ou Google Maps), et en a perdu de vue le plus important : convaincre les autres navigateurs d’accepter Dart. Nombreuses sont les tentatives pour proposer une alternative sérieuse au JS dans les navigateurs, mais aucune n’a encore réussi, faute d’une prise en charge efficace dans plusieurs navigateurs. La **syntaxe est très décevante :** elle est fortement inspirée de Java et C#, et paraîtra rebutante aux développeurs habitués à celle des langages dynamiques comme Ruby, Python ou encore... JavaScript ! Ça me paraît absurde qu’un langage sortant en 2011, impose encore la présence de « ; » pour séparer les instructions se trouvant sur des lignes séparées. Le **typage statique optionnel** est probablement une bonne chose pour le développement d’applications avec une équipe composée de nombreux développeurs, mais cela ne concerne qu’une minorité des développeurs actuels de JavaScript. Et surtout, cela ne justifie absolument pas de créer un nouveau langage : il aurait été possible d’intégrer cela dans une future version de JavaScript. Les **classes** sont la bienvenue. Elles correspondent bien mieux aux habitudes des développeurs que les prototypes. Mais [CoffeeScript](http://jashkenas.github.com/coffee-script/) propose cela depuis longtemps, et avec une syntaxe bien plus réussie. Même chose pour la **bibliothèque standard :** ça existe [déjà](http://sugarjs.com/) et cela pourrait être facilement intégré dans JavaScript. La question des **performances** reste en suspens. Pour le moment, il n’y a pas d’améliorations par rapport à du JavaScript, pour la simple raison que le seul moyen d’exécuter du code Dart, est de compiler en JavaScript. Quand Chrome sera capable d’exécuter nativement du code Dart, cela pourrait changer la donne (en tout cas, c’est ce que pensent les développeurs de V8). Pour autant, tout n’est pas négatif. Il est par exemple intéressant de voir que Google propose un modèle d’_Actors_ dans Dart : [_Isolate_](http://www.dartlang.org/docs/api/Isolate.html). Mais je doute fort que cela suffise pour imposer Dart comme langage dans les navigateurs.

AltStyle によって変換されたページ (->オリジナル) /