Java之父James Gosling近日接受了著名IT网站eWEEK高级编辑的采访,谈论了Java的创新方向、Java平台的未来、Sun的传统和新的Java应用商店等众多话题。
Q:你怎么看待Google对Java的使用,或者说他们使用的Java子集?
A:Google非常古怪。它们有种“优越感”。
现在很难说Google推Android的意图是什么。该平台的免费可能是最大的吸引力。但是据我所知,人们都在闭门开发自己的Android手机,导致目前所有的Android手机都互相不兼容。
保持兼容性正是我们收取授权费的理由之一,我们需要组织一群人来进行兼容性测试,以及在不同的手机厂商之间进行协调,确保诸如GPS API之类的东西保持一致。Android世界在收费方面还没有成熟。所有的手机厂商在按照自己的意愿开发,这意味着秩序的混乱。你可以说这是百花齐放,但也可以说是一塌糊涂。据我看来,一塌糊涂的可能性更大。(而相对应的,在前几周51CTO报导的谷歌开发者日2009现场上,谷歌全球副总裁、大中华区总裁李开复先生对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模块系统也有一些令人兴奋的地方。(欲更多的了解Jigsaw项目,可参考51CTO整理的Jigsaw项目简介:Java 7的新模块系统一文)
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是实现这一点的关键所在。(有关Gosling所说的这点,可参考基于JVM的语言正在开始流行一文,以及51CTO的Scala编程语言专题和Groovy开发技术专题)
Q:因此你更能认可今天的动态语言?
A:我不知道“认可”一词是否恰当。在恰当的时间和恰当的地方,我认为它们是非常伟大的。不过,由于它们中多数都进行了设计决策,导致有时运行过慢。
Q:你们在软件中采取什么措施来处理并行性问题?
A:在Java本身中,就有存在并发库,而且它们都非常成功。在企业版中,其框架已经让人们可以很好的进行并行编程。而且这些框架实际上还可以为人们完成一些自动并行化处理。用户编写了一个顺序模块后,最后它会自动被并行化。但是对于诸如在大规模多线程机器上执行的科学计算这类应用来说,这确实是一个很大的问题。因此才有了Fortress语言的诞生。(相关阅读:Java 7将向细颗粒并行化发展)
Q:那么说这并不是工具的问题?或者说工具有助于解决这个问题吗?
A:最近30年以来,处理多线程编程问题一直是博士论文讨论的话题,但是至今还没有一个杀手级的解决方案。因此现在才存在各种各样我们可以借助工具完成的东西。如果你研究一下NetBeans,就会发现其中有许多东西是用来监视线程、监视线程背后的数据、监视阻塞。对于几百个线程的程序来说,这些工具效果可能还不错。但如果你要处理成千上万的线程,它们就力不从心了。
Q:另一个问题是,什么时候我们能看到Java的新版本?
A:我曾经希望是去年。但是Neil Gafter(一位以研究Javafx未来发展为爱好的微软的工程师)所做的工作因为可笑的原因而丢失。而Google首席Java架构师Josh Bloch又莫名其妙的反对,导致未能如我所愿。如果没有获得同样热情的社区反应,现在还很难说我们何时进行下一次推出新版本的尝试。(51CTO编辑推荐:Java EE 6遥遥无期 预览版两极分化)
Q:据你所言,你对JavaFX的被选用印象深刻。你是否感觉你们获得了这款RIA产品的成功?
A:我不这样认为。我们有很多地方需要改进。但是我感到满意的是我们正处在正确的方向。我们成功的将其与Adobe工具整合。JavaFX未来将可以被广泛的应用于不同的设备商。(推荐阅读:JavaFX对Java开发者到底意味着什么)
Q:Java是否会成为云计算的一个平台?
A:从第一天开始,人们就一直在Java中进行云计算之类的事情。与云类似的事情已经成为我们所有工作的一部分。Kenai项目是我们的开发者云。而且与NetBeans整合的实际上还运用了REST API,这是一件非常时髦的事情。我们也是最近六个月才开始进行这个工作的。
原文:Gosling: What's Good for Google May Not Be Good for Java
【编辑推荐】