Java的创始人James Gosling说这些天来他不会再担心来自微软的竞争了,尽管这一软件巨头正在努力用自己类似Java的语言来力争Java的用户。
随着Java同IBM、Oracle以及其他厂商的绑定,在Web服务软件的发展中,下一个竞争将是微软同Java的鼻祖Sun Microsystem之间的竞争。微软的杀手锏是C#, C#是一种类似于Java的语言,它也将成为Visual Studio.Net软件开发工具包中的一部分,新产品将会在周三发布。
Sun的副总裁Gosling一直轻视C#的存在,但同时他也承认他及其他工作在Sun的人在刚听到这种语言时的确曾为此担心过。
Gosling这周说:"一个答案是'模仿就是最好的恭维方式,谢谢',另一个答案就是'微软人也不会真正理解它,因为它只是一种不具备可靠性、产品化和公开化的Java而已'"。
在CNET News.com的一次采访中,Gosling深入剖析了C#,同时也讨论了Java的用户以及对如何成为一个"巨星"作了解释。
Q:为什么您认为微软的C#只是一种不具备可靠性、产品化和安全性的Java。
A:你会发现在任何情况下无论你怎么堵都会有漏洞,在他们的设计原则中之所以有这样的问题是因为它们必须同时支持C和C++,这就意味着它们必须具有无论何时都能访问的记忆模块,对于开发人员来讲这些漏洞的存在就是安全性、产品化和可靠性问题的起源。另一方面,他们又往里加入了许多免费的和非常愚蠢的东西,这是非常令人可笑的事情。
过去,我们确实对C#有过担心,但是在了解了真实情况后,这种担心已经不复存在了。如果微软的许多源程序可以让人忍受的话,那么这确实是一个值得关注的问题。但是我仍然要与开发人员进行讨论,当然这并不是说与开发人员存在大的问题,而是要讨论一下比现实问题更多的公共关系问题。
Q:Java的发展将走向何处?仍然是主要在服务器方面吗?对于桌面电脑有何举措?
A:两方面都会发展,因为我们所建立的网络与通信是绑在一起的,都是相互关联的。无论什么时候想要在蜂窝电话上开展一些应用都必须经过服务器。就好像有人问:血管在你的左臂有还是在右臂有?当然是都有了。
无线技术现在非常火爆因为它很吸引人,桌上电脑也同样会火爆,而且我怀疑火爆的程度更甚于无线技术。你会看到在各个地方很多人都在从事以Java为基础的内部应用以及规范的桌面应用。
火爆的程度是非常令人惊讶的;就象每年我都认为它会走下坡路,但是,Java的领域在逐年上升,而且,令人更惊讶的时,只要有数字系统的地方,就会有Java的应用。它已经成为必不可少的开发环境和开发工具,无论是超级计算机还是小型卡片,Java都能够为其提供统一的基础架构。
Q:现在您在Sun公司有什么计划?
A:对我而言,Java已经是10年前的事了。所以两年前,我决定重新开始我自己的生活,所以我又回到了Sun的研究室。目前我正在从事一种开发工具项目。并没有很多人设计IDEs(integrated development environments)。IDEs的目标是低端开发人员,也就是对代码不是非常熟悉的人。如果你要找一些适用于这些人的工具,那么你将一无所获。23年前,在那个领域的首选工具就是Emacs,我本人也非常信赖最初的Emacs。使我感到害怕的一件事情是它仍然存在,而且从很多角度上说它根本就没有变化。你认为对于低端开发人员来说是好事吗?我并不这样认为。
我们已经有了一套开发工具NetBeans并且已经被Sun购买。从开始到成型都是结构化设计。它是一年半以前我们所公开的一套性能灵活的系统,所以我也为NetBeans设计了一个插件。
Q:IBM已经开发了具有代码公开化的平台Eclipse,目的就是为了能够集成Java开发工具,使软件开发人员能够从不同的软件制造商中选择不同的工具,并把它们融合在一起进行工作。几乎每一个开发工具提供商都加入了这一项目,而Sun却没有,IBM经理也提到过这件事,那么具体情况怎样呢?
A: NetBeans与Eclipse非常相似,因为我们没有加入Eclipse,就说我们的做法不对。可是直到他们宣布了Eclipse,我们才知道它的存在。这似乎有点儿不可思议。对我们而言,Eclipse就象是派生出来的"我也怎样怎样"的东西,是一种非常奇怪的市场竞争的结果。
Q:您认为这两个代码公开化的平台能够相互融合在一起吗?
A:我认为应该是这样的,而且我相信很多人都想看一看这一过程最终是怎么实现的。很难讲它们会怎么发展,但是最重要的是要建立一套标准的APIs(application programming interfaces).一年半以前,我们一直在开发APIs。如果IBM能够加入到我们要长期从事的源代码公开化的工作中的话,那就在好不过了。
Q:在Web服务领域,微软现在来势汹汹,有很多说法认为Java在Web服务上正在走下坡路,因为Java的拥护者直到今年才遵从Web服务的标准。您对此作何看法?
A:关于发展慢的问题我们已经被问过很多次了,同时我们也做出了回应:民主的发展一定会比专政慢,这是事实。Web服务的一个关键方面就是要得到全方位的合作,假设你要建立一套标准的航空订票系统,你就必须把Travelocity, Orbitz 和 Expedia设定在一个room里,他们要在Extensible Markup Language(XML)达成一致协议来确定什么用来描述航班、什么用来描述航班请求。另一做法是硬性规定航空公司,它们的订票系统具体是什么样的,而实际上航空公司未必会喜欢这样,因此,这样做未必会成功。因为Web服务需要相互协商,所以一定会有一个民主的发展过程。
当你想要得到Visa, MasterCard, Citibank 和 American Express的时候,让加入the Liberty Alliance的人(通过Web为服务制订标准)到一起来进行协商是很困难的。但实际上他们还是会一起协商,因为他们知道他们必须在一起协商才能解决他们的问题,因此,他们实际上是在做很有意义的事。
Q:上次我们访问您的时候大概是在4年前,当时您提到当你在一些会议上公开露面时,Java开发人员总是向您要亲笔签名。现在,他们还把你当成明星吗?如果是这样,您现在作何感想?
A:过奖了,圣诞节前,我还在一个人的T-shirt上签名,有一个人问:"您能在我的膝上电脑上签名吗",我这样做了。当然,绝大部分签名都是在纸上。
我对Java充满信心,说句心里话,我是一名工程师,让我高兴的是做了许多工作同时也有人在用它,这太好了。但是,当工作占据了我全部生活的时候,生活就不那么尽如人意了,有一段时间,由于身体原因,我的腕骨损坏和RSI问题(我不能使用键盘)。但是两年前,经过一系列外科手术,奇迹发生了,我又能工作了,从此,我的生活又重新有了乐趣。