Journal Une nouvelle cible pour Dart

Posté par (page perso) . Licence CC by-sa
Tags :
15
14
nov.
2013

La version 1.0 de Dart SDK vient d'être publiée. Ce langage de programmation a pour but de remplacer Javascript à long terme: plus structuré, plus sûr, plus performant… Les promesses habituelles des nouveaux produits sont là.

Dart propose une approche plus radicale que les solutions concurrentes (Haxe, Typescript, asm.js…): remplacer l'interpréteur javascript. Sur le site il est ainsi possible de télécharger une version patché de Chromium qui embarque un interpréteur Dart. Pour être compatible avec les autres navigateurs, il est possible de compiler le code Dart en javascript. Il est aussi possible de l'utiliser hors d'un navigateur pour écrire programmes en ligne de commande ou des serveurs.

Proche de Java, D ou C#, le langage semble assez simple à apprendre et puissant (closures, mixins, generics…) , mais ne propose pas de features orientées performances (struct, raii, gestion manuelle de la mémoire…). Toutefois l'interpréteur semble bien se débrouiller.

Contrairement à beaucoup de nouveaux langages, l'outillage semble complet: IDE basé sur Eclipse avec débugger, gestionnaire de dépendances, bibliothèques, documentation bien fournie.

A suivre…

https://www.dartlang.org/
http://googledevelopers.blogspot.fr/2013/11/dart-10-stable-sdk-for-structured-web.html

  • # RAII

    Posté par . Évalué à 4.

    Je ne voie pas la technique RAII (Ressource Aquisition Is Initialization) comme une feature orientée performance, mais plutôt comme une feature qui simplifie l'écriture du code. J'ai raté quelque chose ?

    Note : rien à voir, mais je me plante tout le temps entre RAII et RTTI (Run-time type information).

    • [^] # Re: RAII

      Posté par (page perso) . Évalué à 2.

      Je n'ai pas trouvé comment mieux exprimer "mécanisme pour libérer une ressource système rare et coûteuse lorsqu'elle n'est plus accessible".

      http://devnewton.bci.im

  • # google s' eparpille

    Posté par . Évalué à 1.

    Ça ne fait pas doublon avec PNaCl ?

    • [^] # Re: google s' eparpille

      Posté par . Évalué à 2.

      Non, Dart vise à remplacer JavaScript (donc du code interprété par le navigateur), alors que NaCl permet d'exécuter du code natif en passant par le navigateur.

  • # A ce propos

    Posté par (page perso) . Évalué à 3.

    Le mois passé il y avait un talk sur Dart à SoftShake 2013, une série de conférences à Genève.
    Les slides de la présentation sont disponibles en suivant ce lien.

  • # Et les autres navigateurs ?

    Posté par . Évalué à 2.

    Quelle est la position des autres éditeurs de navigateurs par rapport à ce langage ? Notamment, est ce que Mozilla compte l'inclure dans Firefox ?

    • [^] # Re: Et les autres navigateurs ?

      Posté par (page perso) . Évalué à 6.

      Mozilla ne veut pas parce que ça leur ferrait trop de travail (2 machines virtuelles à développer et sécuriser) parce que JavaScript existera encore très longtemps sur le web, même si Dart réussi son pari. C'est pour cela qu'ils misent sur asm.js, ça permet de rester compatible avec l'existant tout en évitant de trop augmenter la charge de travail.

      « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

      • [^] # Re: Et les autres navigateurs ?

        Posté par (page perso) . Évalué à 5. Dernière modification le 14/11/13 à 22:32.

        asm.js ce n'est pas une deuxième vm?

        Sinon je ne vois pas trop le rapport: rien ne les empêche d'implémenter dart avec leur vm javascript en le précompilant en asm.js (on n'est plus à une bidouille près…).

        http://devnewton.bci.im

        • [^] # Re: Et les autres navigateurs ?

          Posté par . Évalué à 3.

          asm.js n'est pas sensé être utiliser directement par les devs.
          C'est une lib qui est utilisé quand tu utilise emscripten, un compilateur LLVM bytecode -> Javascript.
          Du moins c'est ce que j'ai crut comprendre mais je peut me tromper.

          Puis niveau adoption de Dart, aucun navigateur ne l'utilise actuellement à part Dartium.
          On pourra parler de son adoption quand il sera inclut de Chrom{e,ium} par défaut.

          • [^] # Re: Et les autres navigateurs ?

            Posté par (page perso) . Évalué à -1. Dernière modification le 15/11/13 à 10:17.

            asm.js n'est pas sensé être utiliser directement par les devs.

            C'est ce que je lui reproche: côté client asm.js est illisible, contrairement à Dart.

            Puis niveau adoption de Dart, aucun navigateur ne l'utilise actuellement à part Dartium.

            Pour une fois qu'ils n'essayent pas de passer en force… Contrairement à Mozilla avec asm.js!

            http://devnewton.bci.im

            • [^] # Re: Et les autres navigateurs ?

              Posté par (page perso) . Évalué à 1.

              C'est ce que je lui reproche: côté client asm.js est illisible, contrairement à Dart.

              En même temps, c'est pas dans l'objectif d'asm.js d'être lisible, et si on compilait du natif en Dart en restreignant le langage pour qu'il soit le plus optimisé possible (comme c'est le cas pour emscripten) je ne suis pas absolument certain que le code Dart généré serait lisible.

        • [^] # Re: Et les autres navigateurs ?

          Posté par (page perso) . Évalué à 4.

          asm.js ce n'est pas une deuxième vm?

          Non.

          « Rappelez-vous toujours que si la Gestapo avait les moyens de vous faire parler, les politiciens ont, eux, les moyens de vous faire taire. » Coluche

      • [^] # Re: Et les autres navigateurs ?

        Posté par . Évalué à 1.

        Mozilla ne veut pas parce que ça leur ferrait trop de travail (2 machines virtuelles à développer et sécuriser)

        Ça leur donnerait une excuse de sortir des versions et d'agiter le bâton des nouveautes/features au nez du développeur et utilisateur et quand Dart sera implémenté, on parlera de Interpreted™, une autre techno "qu'elle est mieux".

        Plus sérieusement, même si l'approche asm.js permet de gonfler les perfs ça reste basé sur du branlant, javascript et ma machine en a assez de faire fondre la neige du Groenland qui a mis à jour la présence de ressources minières et que nos gentils industriels vont siphonner sans vergognes… heu, hem, pardon. :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.