蔡学镛谈“Linux + Java 会得到什么”

信息产业,战况频仍。Linux v.s Windows、Java v.s .NET、OpenOffice.org v.s Microsoft Office System 、PS2 v.s XBox 、Palm v.s Windows CE 、Symbian v.s Microsoft Smart Phone… 等等。孤军奋战总是势单力薄,团结力量大,于是我们开始看到在不同领域的反微软势力有了整合的迹象,其中最明显者是 Linux + Java 。

Linux逐渐兴起,而Java本来就是软件技术的主流,Linux 负责下面的操作系统,Java负责上面的应用,两者的结合是绝佳的互补。甚至有人将 Linux + Java 唤做 Lava (岩浆)。

对于一个新推出的操作系统来说,会遭碰到两大问题:第一个问题是驱动程序不足,第二个问题是应用程序不足,而Java的存在,可以解决第二个问题。只要该操作系统上具备Java虚拟机器,就可以执行所有的Java应用程序;只要 Java 的应用程序够多、够丰富,就可以解决新操作系统其应用程序不足的窘境。

我记得BeOS的CEO曾说过:新的操作系统假如能够利用Java的力量,将可以有崛起的机会(虽然在2001年时BeOS还没等到此机会就因资本耗尽而关门,后来技术被Palm买走)。但是我认为,倘若新的操作系统真的利用Java而站稳脚步了,恐怕又会想把Java一脚踢开。「狡兔死,走狗烹」,不正是同样的道理。新的操作系统一旦崛起,一定会希望应用程序只能在自己的操作系统上执行,而不能在其它操作系统上执行。

回溯到约六年前,当时IBM和Sun合作开发了一套新的操作系统,称为JavaOS,正是要结合操作系统与Java虚拟机器。只可惜,后来他们发现这样的设计并未取得太多速度上的优势(因为那一阵子 JIT编译器的技术进展很快),而且也会造成驱动程序不足的困扰(这是新的操作系统一定要面对的问题),所以该计划在1998下半年时停摆。不久之后,另一个Open Source的类似计划JOS 也停摆了。

现在Sun即将推出一个名为Java Desktop的产品,它正是整合了Linux和Java。Java Desktop不会有以前JavaOS的问题,因为现在Linux的驱动程序已经很普遍,连Linux原生的程序都很齐备。Java Desktop整合Linux和Java,并预先安装了许多软件(包括了Java的应用软件和Linux原生的应用软件),例如StarSuite。如同大家所预料的一样,Java Desktop的外观与操作方式和Windows很类似。

许多Linux阵营的人都在质疑,在这个称为Java Desktop产品中,Java占的比例太小,Linux占的比例太大,似乎不太适合称为Java Desktop,而应该称为Linux Desktop。不只是Linux阵营有此疑义,连Java阵营(例如www.JavaLobby.org )也充斥着这样的看法。我建议Java Desktop另取名字,以正视听。否则,刚刚买下Ximian的Novell万一以后打算推出Linux + Mono,是不是可以如法炮制,称为.NET Desktop,乖地隆咚!

Linux + Java会不会成功?我认为,在服务器上的Linux + Java机会颇大(事实上,可以算是已经成功了),但是在PC上,Linux + Java短期内是没有赢面的。而Java Desktop似乎是PC等级的软件,这使得我相当怀疑Java Desktop的前景。

就操作系统和虚拟机器的整合来说,恐怕Linux + Java的整合程度会比不上Windows + .NET。 Windows已经渐渐地将许多核心技术改用.NET相关技术来取代,例如Windows核心的COM/DCOM/COM+ ,在进入.NET时代之后都会有适当的替代技术出现。甚至下一个版本的Windows (代号Longhorn)可能就是一个完全整合进 .NET 的崭新操作系统。从Java和.NET在这几年的发展状况来说,Java假如不能解决自身的许多问题,并加快步伐,恐怕龟兔赛跑的情节会再度上演。

竞争带来进步,对于Linux + Java,我抱着期待,也希望届时看到一个耳目一新的产品。

相关推荐