InfoWorld访谈:googledart为何击败JavaScript

谷歌上个月推出了一种名为Dart的网络编程语言,旨在解决JavaScript的缺点,一些人甚至称之为JavaScript杀手。适应大型程序和基于团队的开发,Dart是面向对象的,使用虚拟机。InfoWorld最近采访了Dart的首席软件工程师larsbak,以更好地了解Google对新语言的意图。

InfoWorld:请解释一下Google Dart背后的意图,它是一个JavaScript杀手吗?

贝克:我觉得有点夸张。我们在这里要做的是确保开发人员有其他选择。特别是,我们正试图针对那些正在构建大型应用程序的Dart应用程序开发人员。JavaScript对于简单的Web应用程序来说是一种很好的语言,但是随着应用程序的增长,用JavaScript保存程序结构变得越来越困难。Dart基本上是一种适合大型应用程序的编程语言,它将支持多个团队在同一个源代码库上工作的程序开发。

《信息世界》专栏作家尼尔·麦卡利斯特(Neil McAllister)说,“‘飞镖’击中了网络开发者的靶心。|peterwayner揭示了脚本语言的热点。|订阅InfoWorld的开发者世界通讯,获取有关软件开发的关键新闻和见解。]

InfoWorld:这就是你所说的Dart是一种结构化Web编程语言的意思吗?

是的。您可以用Dart编写小型应用程序,但随着应用程序的扩展,您可以开始向程序中添加类型,而这确实指定了程序员的意图。因此,如果您创建了一个模块,就可以根据您在接口中指定的类型准确地看到您应该如何使用该模块,并且还可以在Dart中进行检查。如果你真的有大团队在同一个源代码空间工作,这实际上是很有意义的。

InfoWorld:在客户机和服务器上运行Dart有什么好处?

贝克:这就像任何其他语言,在双方运行。您可以在进程的后期决定代码是在服务器上运行还是在客户机上运行。您必须记住,如果您正在编写Web应用程序,那么客户机是非常不同的。你在桌面上有一个Web浏览器,它非常强大,你可以在客户端放很多逻辑。但是如果你运行一部手机,它也有一个网络浏览器,你经常想卸载服务器端的一些代码。如果服务器端和客户端的应用程序都是用同一种语言编写的,那么您可以选择在何处执行代码。

InfoWorld:我知道Dart实际上编译成JavaScript代码。为什么不直接使用JavaScript呢?

嗯,因为我们还有别的事。我们有一个Dart虚拟机开发的语言,使更快的性能和更好的启动时间。我认为JavaScript的一个问题是,如果您有一个大型应用程序,那么使用JavaScript启动Web应用程序需要很长时间。如果您使用的是Dart虚拟机,那么我们有一个名为snapshotting的基础设施,它可以使应用程序的启动速度提高10倍。我们可以看到,Web应用程序越来越大,随着它们越来越大,启动性能非常重要。

InfoWorld:开发人员学习Dart语言有多难?

Bak:我们在设计语言时非常小心,如果你懂JavaScript,如果你懂Java或C#之类的基于类的语言,你应该能够在一天内完成工作。它的设计完全符合JavaScript和C程序员的要求。

InfoWorld:你真的认为Dart可以取代JavaScript还是补充JavaScript?你认为这会产生什么样的影响?

Bak:我认为如果你写大的应用程序会有很大的影响,因为你会得到更多的结构。很难预测会产生什么样的影响,因为编程语言是否被接受与品味有很大关系,基本上,人们是否喜欢它,这真的很难预测。我们必须确保我们可以展示我们所拥有的,我们有很好的实现,这样人们可以尝试,如果他们喜欢,我很肯定它会被采纳。当然,也有语言专家对一些设计决策提出质疑,但大多数程序员——主流网络程序员——对此持相当积极的态度。一切都是开源的,所以这是一个非常自由的许可证。你可以不受任何限制地使用它。这是BSD许可证。

InfoWorld:googledart和googlego有什么区别?

Bak:googlego是一种系统编程语言,它对后端服务很有用,而Dart语言更多地用于客户端。有一种方法可以很清楚地说明这一区别,即Dart也是一种脚本语言,因此Dart VM将直接读取任何源代码并执行它,而不需要任何明显的编译过程。如果你使用GO,你必须编译它,就像你在C或C++中编程一样。

信息世界:目前Dart的状况如何?

贝克:这是一个技术预览。我们想很早就把语言传播出去。有一个语言规范的草稿,一个从Dart到JavaScript的转换器,还有一个可用的Dart虚拟机。而且[最近]我们还提供了一个编程环境,因此您可以使用一个很好的工具来尝试Dart。我们需要几个月的时间才能准备好可以用于正式开发的东西,但是我们认为尽早发布它非常重要,这样我们才能得到反馈,并相应地更改语言和实现。

InfoWorld:Dart的客户端平台支持什么?

Bak:如果你把它翻译成JavaScript,它应该可以在所有现代浏览器中运行。我想如果你说的是Dart虚拟机,它已经被开发出来了,所以它可以在各种操作系统上运行。

InfoWorld:Dart是否适用于Android编程?

贝克:现在不行。现在它只存在于这个开源存储库中,目前还没有集成到Android中。

信息世界:那么将来可能会是这样?

Bak:我们希望很多平台都能采用我们的基础技术并将其集成。这有点像我们做v8javascript引擎的时候。我们把它放在开源软件中,有几家公司把它拿来用于他们的产品。我们希望达特也会这样。

InfoWorld:关于googledart,你还有什么想说的吗?

Bak:作为预览的一部分,如果你去开源资源库,我们有一个有趣的应用程序——一个叫Swarm的新闻阅读器,它由15000行Dart组成。我们在VM上运行它,并将其转换为JavaScript。这是一个代码示例,如果您在现有浏览器上运行,或者使用Dart VM,它都能很好地工作。

这篇题为“InfoWorld访谈:为什么Google Dart打败JavaScript”的文章最初发表在信息世界网. 关注编程的最新发展信息世界网. 有关商业技术新闻的最新发展,请关注信息世界网在Twitter上。

在InfoWorld的应用程序开发频道中阅读更多关于应用程序开发的信息。

这个故事“InfoWorld访谈:为什么Google Dart打败JavaScript”最初由

信息世界。