信息产业,战况频仍。linux v.s windows、<span lang=en-us>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,我抱着期待,也希望届时看到一个耳目一新的产品。至少,到时候我是一定会去买一套来玩玩的。
闽公网安备 35060202000074号