Dart语言比JavaScript(Node.js)有什么好处

时间:2011-10-10 11:28:29

标签: javascript node.js dart

就他们试图解决的问题而言,我没有看到Dart的重点。

我读到它是由于JavaScript的缺点而创建的,但是没有给出这些缺点。

有人可以解释学习Dart的好处而不是我学习Node.js吗?

2 个答案:

答案 0 :(得分:64)

主要问题我认为它解决了创建大型多开发人员应用程序的问题。

在Javascript中,我可以编写完全有效的代码:

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

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

这将执行得很好,但它显然是一个错误。

现在由几个开发人员分离函数定义和函数调用,并在几千行代码的代码库上分离几个月。

原始函数x(y)最初可能是函数x(y,z,a),但随后被重构。这是javascript失败的地方,这就是dart有助于解决的问题。

编辑(2013年5月)除了我上面的答案,我认为仍然如此,我认为表演故事也变得非常引人注目。 Lars Bak和Kasper Lund的talk from Google I/O提供了一些证据。

答案 1 :(得分:41)

technical overview似乎很好地总结了差异:

  • 类:当JavaScript 面向对象且提供类(至少在其最新版本中)时,它实际上是基于原型的语言而不是基于类的语言。虽然这本身并不是更糟,但它与大多数主要的OO语言不同,这使得大多数人学习起来更加困难。

  • (可选)静态类型:您不能在纯JavaScript中进行静态类型(如:“由编译器检查”)。优点(和缺点)众所周知,并已得到广泛讨论。

  • 对库的语言支持:“在此之前加载该文件”是实现库的一种非常原始的方式,大多数现代语言以某种方式明确支持库。

该页面还提到了工具,但这并不是语言之间的固有差异。当然,静态编译和键入的语言更容易为其编写好的工具,但这不是编程无法解决的根本区别。