按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
的竞赛,以求全速催生Latté。当然Borland退出JIT编译器的第一阶段战争之后的影
响是不久之后Netscape便不再使用Borland的Java JIT编译器,改为使用Symantec的
Java JIT编译器。至此Symantec终于获得了JIT编译器第一阶段的战争胜利,保住了
Java开发工具第一厂商的颜面。但是Symantec真的获胜了吗?那可不能断言,因为JIT
编译器战争才刚开始。
在Symantec的Java JIT编译器打败了Borland的JIT编译器之后,Symantec便把脑筋动
到了SUN的身上,希望SUN也能够使用Symantec的Java JIT编译器,把Symantec推向Java
核心技术的领导厂商宝座。不过Symantec的盘算显然是落空了,因为SUN已经决定收
购一家专门研发Java编译器技术的软件公司,并且准备开发自己的JIT编译器,那就
是后来的SUN HotSpot编译器技术。另外Microsoft和IBM也开始加入了Java JIT编译
器的竞赛之列。IBM为了和SUN争夺Java领导者的地位,不但自己研发IBM的JDK,甚至
也研发IBM的Java JIT编译器。严格地说,当时IBM的Java JIT编译器品质比SUN提供
的好多了,不但稳定而且执行速度比SUN的快了许多,让SUN也颜面无光,很不是滋味。
甚至可以说IBM的Java JIT编译器品质不会比Symantec的Java JIT编译器差到哪里。
更麻烦的是Microsoft为了让IE能够和Netscape竞争,也可以执行Applet,因此也开
始研发精良的Java JIT编译器。特别是当Microsoft得到了Anders Hejlsberg之后,
在编译器技术方面有了重大的突破。虽然Microsoft的JIT编译器一直不像其他厂商的
Java JIT编译器那么符合标准,但是其品质却是相当的精良。在Microsoft不断地改
善之下,依我当时的测试,经其编译后的Java ByteCode执行的速度是最快的,连IBM
和Symantec的JIT编译器都不是对手。因此从我的观点来看,在这个Java JIT编译器
的阶段,应该是Microsoft获了冠军。要不是Microsoft没有持续支持最新的JDK标准,
又混杂了一些Microsoft自己的东西,到最后很可能使用最为广泛的Java JIT编译器
反而就是Microsoft的JIT编译器。
至于Symantec,在取得了JIT编译器表面上的优势之后,立刻又把重点放在了开发直
接把Java ByteCode编译成原生应用程序的原生Java编译器。稍后Symantec成功地开
发出了这种编译器,让Borland大为紧张,并且准备跟进。而Symantec也把这个原生
Java编译器加入到Visual Café中,成为一项吸引人的功能。不过很快地这个功能却
引起了许多Java使用者的批评,因为他们认为这违反了Java〃Write Once,Run
Everywhere〃的精神,如此一来厂商必须为每一个不同的平台开发原生Java编译器,
这会造成Java应用程序在不同的平台执行的反应不一致的现象,又陷入C/C++语言开
发的应用程序在不同的平台表现不一的相同问题。后来连SUN也不赞成这种做法,当
然这是因为SUN想力推自己的HotSpot编译器技术。因此原生Java编译器在风行了一阵
短暂的时间之后就不再吸引人注意了,而Borland原本为JBuilder开发原生Java编译
器的计划也因此而打住。
Microsoft VJ++的威胁
1996年,Anders Hejlsberg来到Microsoft之后的第一个作品即将推出,那就是
Microsoft VJ++。VJ++的即将推出,对于许多软件公司而言都是一个很大的震撼。
对于SUN来说,这是Microsoft在Java领域的挑战。在SUN自己的Java开发工具不争
气的窘境之下,又得面对擅长开发工具的Microsoft,特别是由Anders领军开发的
精品。对于其他的Java开发工具厂商来说,也是提心吊胆。Visual Café在JBuilder、
Visual Age For Java陆续推出之后市场占有率已经慢慢地被瓜分,现在又得再次面对
Microsoft的竞争,昔日Symantec C/C++失败的阴影又缠上了心头。而Microsoft的死
对头IBM更是在VisualAge For C/C++、VisualAge For BASIC连番失败之后,好不容
易推出了VisualAge For Java,准备在Java开发工具市场打一场好球赛,没有想到
现在Microsoft又来搅局。
对于Borland来说,这个消息更是令人不安,因为Borland本身的Java开发工具仍然处
于研发阶段,还没有推出,而且看样子将会是市场上最后一个推出的Java开发工具,
落后主要竞争对手已经很多了。现在Microsoft居然更早一步推出Java开发工具,而
且是由Anders Hejlsberg主持开发的。Borland当然知道Anders Hejlsberg的实力,
自然不敢轻视VJ++的影响力。更麻烦的是在VJ++推出之前,Microsoft一直对VJ++保
持模糊的态度,不愿意表明VJ++是否是一个纯正Java开发工具。更让Borland惊讶的
是,Borland内部对于VJ++ Beta的测试表明VJ++编译出来的程序代码在某些方面居然
比Delphi等原生的Windows开发工具执行得还快速。这意味着VJ++不但对于Java开发
工具可能会有严重的影响,甚至对于一般的Windows开发工具都有可能造成威胁。不
过Borland分析如果VJ++真的开始对Windows开发工具产生威胁,那么VB将会是受到影
响最大的开发工具。但Borland仍然感到忧心,因为VJ++仍然可能对于Delphi和C++
Builder产生一定的影响,这是Borland不乐意见到的。当然这也加速了Borland研发
Latté的决心,因为已经不能再拖了。
记得当时我还和Borland在亚洲新加坡R&D总部的Mr。 Inn Nam Yong谈过VJ++的表现
以及对于VJ++可能产生影响的忧虑。Mr。 Yong也说VJ++的表现令他们吃惊。看来Anders
Hejlsberg在VJ++的编译器技术上下了苦功,其表现早已超过了当时一般的Java编译
器技术,的确是令人刮目相看,更麻烦的是从VJ++的身上依稀可以看到Delphi的身影。
Borland的R&D已经了解了这个情形,Borland的编译器小组也在研究相关问题的技术。
由此可见当时Borland已经如临大敌,开始准备相关的技术,并且已经掌握了初期的
状况。
Microsoft VJ++在1996年11月终于正式推出了,全世界也都屏息以待,准备看着VJ++
会产生多少的毁灭力量,而SUN更准备看看Microsoft是否会违反任何SUN和Microsoft
之间的Java协议。当然SUN是担心Microsoft想破坏Java的开发。VJ++在一开始果然获
得了一些回响,毕竟这是Microsoft推出的Java工具,使用Microsoft开发工具的软件
人员当然会考虑VJ++。同时VJ++也吸引了一些想使用Java语言、但是仍打算呆在
Windows平台的开发人员。
不过VJ++推出之后也很快受到了所有Java开发工具以及支持Java平台厂商的全面围剿。
他们害怕Microsoft对Java市场的入侵,会让其他厂商再次无法生存。之后连SUN也开
始领军围攻Microsoft,因为SUN除了害怕Microsoft会慢慢地主宰Java平台和标准之
外,还发现Microsoft正在很有技巧地逐步破坏Java语言和标准,例如VJ++便提供了许
多非标准的Java用法并且很明显地把VJ++绑死在Windows平台,破坏Java的〃Write
Once,Run Everywhere〃的美梦。而且,Java开发人员如果大量使用VJ++,那么便再
也离不开Windows平台。Microsoft计划通过提供一流的〃类Java开发工具〃来限制开发
人员的自由选择权的企图是昭然若揭了。
由于SUN的带头批判,想使用Java的开发人员和企业很快地发现VJ++并不是标准的Java
开发工具,因此对于VJ++的热情很快消退了下来。而VJ++对于Java以及Windows开发
工具的威胁也很快地解除了。VJ++对于Microsoft来说很可能是自DOS版的Microsoft
Pascal之后第2次在开发工具的大失败。不过依我的观点来看,VJ++在本质上是一个
优秀的产品,不论是编译器、Framework和集成开发环境都有高水平之作。VJ++之所
以败阵下来实在是因为形势比人强,Java平台也是第一次不是由Microsoft所主宰的
市场。在Java联军的合攻之下,即使是软件巨人也得回避三分。
因为第一次在Java出击就弄得灰头土脸,并且SUN摆明了不会允许Microsoft在Java平
台成气候,使得Microsoft下定了和SUN正面开战、在Java市场上全面开火的决心,进
而造成了SUN控告Microsoft违反Java合约的规定的结果,而Microsoft稍后则干脆把
Java支持从操作系统中移除。当然,这是Microsoft和SUN之间的Java平台之战,已超
出本书讨论的范围,也许应该由Microsoft或是SUN的人来说明这整个过程。
虽然事后证明VJ++在Java开发工具是失败了,但是Anders Hejlsberg在VJ++中花费的
心力却没有白费,因为VJ++的编译器技术以及Framework和集成开发环境的技术都在
稍后融入Microsoft 计划的基础核心技术之中。例如C#的语言和Java很相像,
C#的编译器技术想必也借重了许多当初VJ++优秀编译器的技术,因此C#编译器的最佳
化结果也在一些方面胜过了现在许多原生Windows开发工具的编译器水准。Anders
Hejlsberg的努力正激活了Java和的正面决战。
IBM VisualAge For Java的推出
IBM在PC开发工具市场的表现一直令人摇头,因为其〃玩玩便跑〃的作风总是让人无法
放心使用它的开发工具。但是也许是IBM的招牌太大,再加上它会免费向购买IBM机器
或是软件的客户奉送IBM开发工具,因此也总是有人会去使用IBM的开发工具。我个人
在受了IBM VisualAge For C/C++的教训之后,便对IBM的开发工具敬谢不敏�