49 votes

Quel est l'avantage de la Dart la langue sur le JavaScript (Node.js)

Je ne vois pas l'intérêt de Dart en termes de problèmes à résoudre.

J'ai lu qu'il a été créé en raison de manquements de JavaScript, toutefois, ces lacunes n'ont pas été donnés.

Quelqu'un peut-il expliquer les avantages de l'apprentissage Dart plutôt que de m'apprendre Node.js?

64voto

Chris Buckett Points 6329

La principale question que je le vois comme la résolution de la création du grand, multi-applications de développeur.

En Javascript, je peux écrire le parfaitement valide code:

function x(y) {
 return y*y;      
}

document.write(x(3,4,5));

Et ce sera d'exécuter très bien, mais c'est manifestement une erreur.

Désormais à la définition de la fonction et l'appel de la fonction par plusieurs développeurs et plusieurs mois sur une base de code de plusieurs milliers de lignes de code.

La fonction initiale x(y) pourrait avoir été à l'origine de la fonction x(y,z,a), mais a depuis été reconstruit au fil du temps. C'est là que le javascript ne parvient pas pour moi, et c'est ce que dart aidera à résoudre.

Edit (Mai 2013) En plus de ma réponse ci-dessus, qui je crois est toujours valable, je pense que la performance de l'histoire est également assez convaincant. Lars Bak et Kasper Lund parler de Google I/O fournit des preuves.

41voto

Joachim Sauer Points 133411

La présentation technique semble résumer la différence assez bien:

  • classes: alors que JavaScript est orienté objet et il n'est pas de fournir des classes (au moins dans ses dernières incarnations), c'est vraiment un prototype de base de la langue et non pas une classe de langue. Alors que ce n'est pas intrinsèquement le pire, c'est différent de la plupart des langages à objets, ce qui le rend plus difficile à apprendre pour la plupart des gens.

  • (facultatif) le typage statique: Vous ne pouvez pas faire le typage statique (comme dans: "vérifié par le compilateur") dans la plaine du JavaScript. Les avantages (et les inconvénients) sont bien connus et ont été largement discutés.

  • support de la langue pour les bibliothèques: "le chargement de ce fichier avant ce" est une façon très primitive de la mise en œuvre des bibliothèques et de la plupart des langages modernes, soutien explicite pour les bibliothèques d'une certaine façon.

Cette page mentionne également l'outillage, mais ce n'est pas inhérents à la différence entre les langues. Accordé, une compilés statiquement et tapé la langue est plus facile d'écrire de bons outils, mais ce n'est pas une différence fondamentale qui ne peut être résolu par programmation.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X