Java之父:我们看中的并非Java语言,而是JVM

Java之父James Gosling近日接受了著名IT网站eWEEK高级编辑的采访,谈论了Java的创新方向、Java平台的未来、Sun的传统和新的Java应用商店等众多话题。

Q:你怎么看待Google对Java的使用,或者说他们使用的Java子集?

A:Google非常古怪。它们有种"优越感"。

现在很难说Google推Android的意图是什么。该平台的免费可能是最大的吸引力。但是据我所知,人们都在闭门开发自己的Android手机,导致目前所有的Android手机都互相不兼容。

保持兼容性正是我们收取授权费的理由之一,我们需要组织一群人来进行兼容性测试,以及在不同的手机厂商之间进行协调,确保诸如GPS API之类的东西保持一致。Android世界在收费方面还没有成熟。所有的手机厂商在按照自己的意愿开发,这意味着秩序的混乱。你可以说这是百花齐放,但也可以说是一塌糊涂。据我看来,一塌糊涂的可能性更大。

Q:你认为本届JavaOne大会上最重要的事件是什么?

A:我们现在处于一个所有事物都紧密相关的时代。在最近几个月中我花费时间最多的是Sun的Java应用商店。对我来说,这是一个重大的事件。它与我们之前看到的任何应用商店都不同。另外,JavaFX目前的发展要好于我的预期。我们刚刚推出JavaFX时,希望它能被应用在各种联网设备上,当时人们认为我们是在开玩笑。

51CTO相关报导:JavaOne 2009揭示Java领域几大趋势

具备Java功能的LG电视,实际上就是在Java商店中发布的一个产品。尽管它只在韩国出售,因为它是针对韩国市场的一个有线电视机顶盒产品。但是它已经成为有线电视机顶盒的标准,它具有非常健壮的Java引擎,该设备可以非常好的运行JavaFX。这只是其中一个例子,我认为JavaFX不久后将会被应用在各种设备上。

一两年前人们认为我们在开玩笑。事实上,未来还有更多使用JavaFX的产品。现在我们能够以CE厂商的价位来完成这个工作,这是一个令人吃惊的事实,如果你把所有这一切加在一起,它将转化为一个让人难以置信的巨大市场。Java应用商店的难点在于管理部署的过程。今天你看到的应用商店管理桌面计算机上的应用部署,但不久之后你会看到它将扩展到手机和有线电视机顶盒等众多领域。我们不会直接进行手机业务,更可能与手机运营商联手。

Q:现在Java的创新在什么地方?

A:创新发生在Sun内部的每一个角落。他们在你希望看到的任何方向研发非常酷的技术。GlassFish团队正在迅猛发展。OpenDS已经真正取得成功。而OpenJDK也引起了人们真正的关注。而Jigsaw模块系统也有一些令人兴奋的地方。

Q:Jigsaw项目是OSGi的一个补充还是不同的另外一个项目?

A:我认为两者兼而有之。OSGi是一种不同领域模块化的项目,它涉及范围非常广。因此我们需要一个更轻量级的标准。

51CTO编辑推荐阅读:OSGi为什么重要:向模块化转移的主攻手

Q:那么说它与OSGi具有相同的功能?

A:是的。不过它还包含了一些与OSGi毫不相关的一些东西。

Q:据我所知,Eclipse在支持OSGi方面做的很好,许多企业Java厂商也正在推广它。

A:甚至我们也在使用它。但是它在小领域表现并不好。我认为它过于臃肿。

Q:接下来会发布什么语言?人们说JVM现在支持所有语言了,其中一个或将取代Java。

A:或许。实际上我希望如此。Java不能永远不会迎来替代者。但是我们看中的并非Java语言,而是JVM。事实上我们可以让所有语言一起工作。你可以编写JRuby代码与Scala代码进行高性能交互,它可以非常平滑的实现。JVM是实现这一点的关键所在。

Q:因此你更能认可今天的动态语言?

A:我不知道"认可"一词是否恰当。在恰当的时间和恰当的地方,我认为它们是非常伟大的。不过,由于它们中多数都进行了设计决策,导致有时运行过慢。

Q:你们在软件中采取什么措施来处理并行性问题?

A:在Java本身中,就有存在并发库,而且它们都非常成功。在企业版中,其框架已经让人们可以很好的进行并行编程。而且这些框架实际上还可以为人们完成一些自动并行化处理。用户编写了一个顺序模块后,最后它会自动被并行化。但是对于诸如在大规模多线程机器上执行的科学计算这类应用来说,这确实是一个很大的问题。因此才有了Fortress语言的诞生。

Q:那么说这并不是工具的问题?或者说工具有助于解决这个问题吗?

A:最近30年以来,处理多线程编程问题一直是博士论文讨论的话题,但是至今还没有一个杀手级的解决方案。因此现在才存在各种各样我们可以借助工具完成的东西。如果你研究一下NetBeans,就会发现其中有许多东西是用来监视线程、监视线程背后的数据、监视阻塞。对于几百个线程的程序来说,这些工具效果可能还不错。但如果你要处理成千上万的线程,它们就力不从心了。

Q:另一个问题是,什么时候我们能看到Java的新版本?

A:我曾经希望是去年。但是Neil Gafter(一位以研究Javafx未来发展为爱好的微软的工程师)所做的工作因为可笑的原因而丢失。而Google首席Java架构师Josh Bloch又莫名其妙的反对,导致未能如我所愿。如果没有获得同样热情的社区反应,现在还很难说我们何时进行下一次推出新版本的尝试。

Q:据你所言,你对JavaFX的被选用印象深刻。你是否感觉你们获得了这款RIA产品的成功?

A:我不这样认为。我们有很多地方需要改进。但是我感到满意的是我们正处在正确的方向。我们成功的将其与Adobe工具整合。JavaFX未来将可以被广泛的应用于不同的设备商。

Q:Java是否会成为云计算的一个平台?

A:从第一天开始,人们就一直在Java中进行云计算之类的事情。与云类似的事情已经成为我们所有工作的一部分。Kenai项目是我们的开发者云。而且与NetBeans整合的实际上还运用了REST API,这是一件非常时髦的事情。我们也是最近六个月才开始进行这个工作的。