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 potate . É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 devnewton 🍺 (site web personnel) . É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".
Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.
# google s' eparpille
Posté par akimatsumoto . Évalué à 1.
Ça ne fait pas doublon avec PNaCl ?
[^] # Re: google s' eparpille
Posté par lockidor . É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 Sam E. (site web personnel) . É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 matteli . É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 claudex . É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 devnewton 🍺 (site web personnel) . Évalué à 5. Dernière modification le 14 novembre 2013 à 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…).
Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.
[^] # Re: Et les autres navigateurs ?
Posté par jfmartin . É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 devnewton 🍺 (site web personnel) . Évalué à -1. Dernière modification le 15 novembre 2013 à 10:17.
C'est ce que je lui reproche: côté client asm.js est illisible, contrairement à Dart.
Pour une fois qu'ils n'essayent pas de passer en force… Contrairement à Mozilla avec asm.js!
Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.
[^] # Re: Et les autres navigateurs ?
Posté par Guillaume Denry (site web personnel) . Évalué à 1.
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 devnewton 🍺 (site web personnel) . Évalué à 1.
Pourquoi restreindre dart? Il contient déjà les infos nécessaires à de bonnes optimisations.
Le post ci-dessus est une grosse connerie, ne le lisez pas sérieusement.
[^] # Re: Et les autres navigateurs ?
Posté par claudex . Évalué à 4.
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 Le Gab . Évalué à 1.
Ç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 à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.