信息产业,战况频仍。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,我抱着期待,也希望届时看到一个耳目一新的产品。至少,到时候我是一定会去买一套来玩玩的。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器