javascript node.js dart

¿Cuál es el beneficio del lenguaje Dart sobre JavaScript(Node.js)



(2)

El problema principal lo veo como la solución a la creación de grandes aplicaciones de múltiples desarrolladores.

En Javascript, puedo escribir el código perfectamente válido:

function x(y) { return y*y; } document.write(x(3,4,5));

Y esto se ejecutará bien, pero es un error descaradamente.

Ahora separe la definición de la función y la llamada de la función por varios desarrolladores y varios meses a través de un código base de varios miles de líneas de código.

La función original x (y) podría haber sido originalmente la función x (y, z, a), pero desde entonces ha sido reprogramada con el tiempo. Aquí es donde javascript falla para mí, y esto es lo que el dardo ayudará a resolver.

Editar (mayo de 2013) Además de mi respuesta anterior, que creo que todavía es cierta, creo que la historia de rendimiento también es bastante convincente. La charla de Lars Bak y Kasper Lund de Google I / O proporciona algunas pruebas.

No veo el punto de Dart en términos del problema que están tratando de resolver.

Leí que se creó debido a errores de JavaScript, sin embargo, esos errores no se dieron.

¿Alguien puede explicar el beneficio de aprender Dart en lugar de que yo aprenda Node.js?


La descripción técnica parece resumir la diferencia bastante bien:

  • clases: mientras que JavaScript está orientado a objetos y no proporciona clases (al menos en sus últimas encarnaciones), en realidad es un lenguaje basado en prototipos y no un lenguaje basado en clases. Si bien eso no es inherentemente peor , es diferente de la mayoría de los idiomas OO principales, lo que dificulta el aprendizaje para la mayoría de las personas.

  • (opcional) escritura estática: no puede realizar la escritura estática (como en: "verificada por el compilador") en JavaScript plano. Las ventajas (y desventajas) son bien conocidas y han sido ampliamente discutidas.

  • soporte de idiomas para bibliotecas: "cargar ese archivo antes de esto" es una forma muy primitiva de implementar bibliotecas y la mayoría de los lenguajes modernos tienen soporte explícito para bibliotecas de alguna manera.

Esa página también menciona las herramientas, pero eso no es una diferencia inherente entre los idiomas. Por supuesto, un lenguaje estáticamente compilado y mecanografiado es más fácil para escribir buenas herramientas, pero esta no es una diferencia fundamental que no pueda resolverse mediante la programación.