⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 borand传奇,有关borand公司的书籍
💻
📖 第 1 页 / 共 5 页
字号:

第1阶段--Java JIT编译器的战争

Borland也许不是最晚开始研发Java技术的厂商,但是明显地落后于其他竞争对手则
是不争的事实。Borland在Latté万事尚未具备的情形下,展开Java竞赛的第一步便
是从Borland传统的拿手绝活开始,那就是从Java JIT编译器开始出发。不过由于Borland
当时对于Java技术尚未拥有良好的掌握,因此一开始是和Pascal的祖师爷Dr. Niklaus 
Worth合作,由Dr. Niklaus Worth以及他的学生们为Borland研发Java JIT编译器,
而Borland本身的Latté小组则平行地开发Latté其他的功能。由于当时Java已经逐
渐在校园流行,而且吸引了许多学术研究的兴趣,Dr. Niklaus Worth以及他的学生
们很早便开始投入Java相关的研究。因此当Borland找上门之后,自然便一拍即合。
Borland缩短了开发时程,而Dr. Niklaus Worth研究小组则乐得有人赞助研发费用。


Dr. Niklaus Worth研究小组的第一个作品就是在1997年初左右推出的Java JIT编译
器,这个由Dr. Niklaus Worth研究小组研发的JIT编译器可以让编译后的Java ByteCode
执行速度比当时SUN的Java编译器以及Symantec的JIT编译器快了数倍。Borland宣布
此JIT编译器之后立刻震惊了Java界,因为当时缓慢的Java执行速度是所有使用Java
的人都希望能够立刻大幅改善的。而Borland推出的Java JIT编译器似乎给所有Java
开发人员看到了未来的希望。虽然严格地说当时即使是使用Borland最新的JIT编译器
编译Java程序,其执行速度仍然是很"龟速"的,但是对于使用Java来学习程序设计或
是撰写、执行一些小的Applet来说仍然是很好用的。因此当Borland一推出此JIT编译
器之后,便立刻打响了Borland在Java界的知名度,所有Java开发厂商也开始视Borland
为认真的竞争对手。否则以当时Borland的气势来看,除了Delphi之外,Borland几乎
已经一无所有了。

Borland在Java的处女作Java JIT编译器一炮而红,立刻吸引了当时浏览器霸主Netscape
的注意。由于当时Netscape大力支持Java以便和Microsoft竞争,因此非常需要有品
质精良的Java JIT编译器内建在Netscape之中,以顺利且快速地执行Java Applet,
增加Netscape的竞争力和吸引力,突显与Microsoft IE的不同。不久之后Netscape便
找上了Borland,希望能够在Netscape中附带Borland的Java JIT编译器。

对于Borland来说,这又是一个千载难逢的机会。因为这不但证明了Borland在Java技
术的努力成果,更重要的是Netscape在当时是不可一世的软件公司,全世界有数百万
的使用者。这意味着一旦Netscape内建Borland的Java JIT编译器,Borland在全世界
将立刻拥有数百万的Latté潜在使用者,对于Borland来说是好得不能再好的条件了。
因此Borland立刻答应了Netscape的提议,让Netscape搭配Borland的Java JIT编译
器。但是这一举动也立刻牵一发而动全身,进而导致了Java JIT编译器的大混战。

在Netscape和Borland达成了协议并且开始出货之后,却引起了Symantec的忧虑和不
满。因为当时Symantec是Java开发工具的老大,而Borland连个Java开发工具都尚未
推出,可是Netscape却跑去使用Borland的Java JIT编译器,这不是让全世界都知道
Borland的实力并且让Symantec脸上无光吗?为了颜面以及避免失去Java开发工具的
市场,很快Symantec便决定开始反击。Symantec立刻也集中资源投入Java JIT编译器
的研发,开发出比Borland Java JIT编译器更快的Symantec JIT编译器,并且准备开
发一个直接把Java ByteCode编译成原生Windows程序代码的Java编译器。就在Borland
 Java JIT编译器风光不久之后,Symantec也宣布了新的Java JIT编译器。Symantec
的Java JIT编译器比Borland Java JIT编译器更有效率,编译后的Java ByteCode执
行效率比Borland的快了2~3倍。

在Symantec Java JIT编译器宣布之后,又轮到.Borland脸上无光了。才刚和Netscape
谈好合作条件,没有想到效率王位还没坐热就立刻被Symantec踢了下来,这如何向
Netscape交待?因此Borland立刻进行改善JIT编译器的研发工作,力图再次超越
Symantec。果然Borland的努力没有白费,不久之后Borland的JIT编译器又打破了
Symantec JIT编译器创下的效率纪录。自此Borland和Symantec便展开了Java JIT编
译器的"竞速"比赛,不断地试图打败对方。也由于Borland和Symantec的JIT竞赛,当
然更重要的原因是Java的执行速度在当时实在是太过缓慢,引起了IBM、Microsoft以
及SUN在Java编译器方面的研究。

Symantec在当时不愧是Java开发工具的王者,在和Borland几次的JIT编译器交手之后,
便开始逐渐地占了上风。由Dr. Niklaus Worth研究小组研发的Java JIT编译器也
逐渐不再是Symantec的对手。至此Borland决定收回Java编译器的技术,开始自行研
发。Borland发觉光是和Symantec在Java JIT编译器竞争没有多大用处,当务之急是
赶快推出自己的Java开发工具。因此Borland开始退出和Symantec在Java JIT编译器
的竞赛,以求全速催生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平台之战,已超

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -