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

📄 c++圣战篇.txt

📁 c++圣战 作者 台湾李维 介绍了c++语言的发展和编译工具的竞争历史
💻 TXT
📖 第 1 页 / 共 4 页
字号:
虽然Borland及时的在OWL 2.5中加入了OLE的支持,无奈Microsoft随后又在OLE中 
加入了许多其它的功能,因此让OCF并无法完整的支持OLE所有的功能,Borland无法不断
的延后Borland C/C++的推出,因此在1994年未,Borland终于推出了决战的4.5版本。 

C/C++开发工具的最后圣战 

『虽然已经过去了许久的时间,但是我仍然忘不了那场最惨烈的战役!』1994年未, 1995初
Borland在痛定思痛之后,终于清除了Borland C/C++ 4.0中所有的问题,也开发出了自
Borland C/C++ 3.1以来最稳定,最快速的Borland C/C++ 4.5的版本,准备和Microsoft
决一死战。我还记得当时在书籍市场中许多有关Borland C/C++和Microsoft C/C++的书籍
都是使用十字军的封面,而Borland C/C++的系列丛书都是以蓝色为色系,而Microsoft的
则是以红色为色系,仿佛两大军团终将决战似的。 

C/C++四大天王决战一役的Borland主将-Borland C/++ 4.5不过这次的战役不光是Borland
的蓝军和Microsoft的红军相对抗,在Symantec的华丽军团经过了经军经武,Watcom的白
色劲旅枕戈待旦,而且都从Microsoft License了MFC之后,蓝,红,花,白四大军团决战
的日子终于到了。首先当Symantec和Watcom分别取得了MFC之后,Symantec便推出了C/C++ 
7.x的版本,和Watcom C/C++混战了起来。两个使用系出同门的C/C++ Framework产品战得
不亦乐乎,随后Borland C/C++ 4.5和Visual C/C++的新版本也加入了这场最重要的决战。
但是让Symantec和Watcom C/C++大吃一惊的是Microsoft使用的MFC居然比它们的版本高
出了一个版本(1.x对2.x),而且新版本的MFC包含了完整的OLE支持能力。而Borland虽
然也有OCF,但是仍然不敌新版MFC中的OLE能力。由于当时几乎所有的应用程序都需要支
持OLE,但是却只有使用Visual C/C++最新的版本才能够开发完整OLE能力的应用程序,因
此不管OLE到底有没有用,反正先加入再说。因此市场上的情势很快的就发生了巨大的变化,
几乎大部份的应用程序开发因为OLE的原因都选择使用Visual C/C++,Symantec和Watcom
军团很快的就败阵下来。 

至于Borland C/C++ 4.5虽然是一流的产品,如果没有OLE的因素,Visual C/C++新 
版本真的并没有比4.5好。虽然4.5也有OCF,但是在市场上只有Borland和Novell, 
WordPerfect选择使用OCF,在和Microsoft的Visual C/C++经过将近一年的缠斗之 
后,其它大部份的厂商都选择了Microsoft的MFC 2.x版,真是形势比人强。基本上 
OCF的架构真的是个好东西,只是OCF无法完整的支持OLE,因为OLE的发展是掌握在 
Microsoft手中,因此虽然OCF的架构良好,终究在功能上不及对手。Microsoft结 
合操作系统,开发工具和应用程序的手段真是无往不利。击败Lotus,Borland是如 
此,歼灭Netscape也是如此。 

对于Symantec和Watcom来说,这场战役就如同『长平之战』,秦军坑杀40多万赵军 
一样。杀得Symantec和Watcom全军覆没,大败而归,至此Symantec弃受PC的C/C++ 
开发工具市场,转而开始研发Java开发工具,进而在稍后推出了著名的Visual Cafe, 至
于Eugene Wang则离开了Symantec,自此也离开了PC开发工具的领域。 而Watcom则是更
为凄惨,整个公司在DOS的市场逐渐式微,而Window平台的开发工具又大败而归,两头落
空。不久之后Watcom便被新兴而起的Sybase并购,从此消失于竞争激烈的市场。 

归纳Symantec和Watcom失败的原因是C/C++的Framework MFC掌握在Microsoft手中,
在决战时刻Microsoft居然手握比Symantec和Watcom更新的MFC利器,而且在Visual 
C/C++精进最佳化的技术并且改善整合发展环境之后,Symantec和Watcom诉求的重点功能
完全被Microsoft封死。因此在产品,技术,市场和气势上完全不如对手的情形下,自然只
能任人宰割了。 

对于Borland而言,虽然没有像Symantec和Watcom那么溃不成军,但也是再次败下阵来。
虽然平心而论Borland C/C++ 4.5的确是一个非常好的产品,无论在OWL,最佳化编译器,
整合发展环境方面都有一流的表现,和Borland C/C++ 4.0比较起来简直有如脱胎换骨一
般,到现在Borland C/C++ 4.5仍然是我最喜欢的版本之一。但是无奈当初Borland C/C++
4.0给人挥之不去的负面印象,以及无法完整支持当时如火如荼的OLE技术,因此还是在
决战之中败了下来。好在蓝色的Borland大军毕竟是训练有素的,虽然自此让Microsoft占
据了超过50%的市场,成为C/C++开发工具的老大,但是Borland仍然掌握了超过30%的市场,
稍做喘息,并且支撑Borland 在各重要战役失败之后维持公司的运作,等待Delphi的浴火
重生,再重新出发。

经过这一役之后,Microsoft终于清除了大部份的对手,对于Microsoft而言程序语言开发
工具的战争已经结束,这个市场注定将被Microsoft占据大部份的市场。在Microsoft手握
操作系统,Office软件和开发工具三大获利市场之后,Microsoft也开始将矛头对准下两个
竞争目标,关连数据库以及主从架构开发工具。在Microsoft正式进军这两个市场之后,当
然也展开了连番的好戏,尤其是在主从架构开发工具方面又开启了VB,PowerBuilder,
Gupta/Centura和Delphi的惊天动地大会战。另外一个意外开启的战争则是Microsoft在
1995年和Netscape的挑起的浏览器大战。 

对于Borland而言,在C/C++最后一役之后,基本上我认为开发工具的圣战已然结束,Borland
也正式开始走下坡。更严重的是我认为自此之后Borland不但丧失了C/C++的江山,也失去
了对于C/C++开发工具的创意,这是我感觉最遗憾的地方,到现在为止我仍然认为Borland
尚未重拾当初在Borland C/C++ 3.0/3.1时代独领C/C++创意风骚的精神。也许,也许,要
看看C/C++ For Kylix或是C++ Builder 6是否能够重新找回这个失去已久的精神,不要再
让我失望了。 

雄霸数年的C/C++的世界冠军-Borland C/C++ 3.1-永远的怀念 

永不成气候的C/C++开发工具-IBM Visual C/C++ 

IBM在C/C++开发工具扮演的角色一直令人啼笑皆非,因为在C/C++编译器战争最激烈的时
刻,IBM这个全球信息大厂却一直是缺席的。一直到了1995之后,C/C++编译器市场大势已
定之后才慢慢的加入战局,推出VisualAge C++ 3.0,企图进攻此市场。但是此时市场早已
由Microsoft的Visual C/C++称雄。IBM的VisualAge虽然以创新的可视化设计家能够定义
对象之间的关系,但是在其它方面却乏善可陈,整个整合发展环境也缓慢如蜗牛,需要非常
高文件的硬件配备才能够顺利的执行,和Visual C/C++以及Borland C/C++等工具比较起来
就像是恐龙一般,因此几乎没有在市场上引起任何的反应。 

在IBM推出VisualAge 3.0并没有在PC的C/C++开发工具市场获得任何的明显成果之 
后,IBM又再次的集中了许多的资源,开发下一代3.5的版本,希望能够在此市场占 
有一定的比率。我知道IBM在VisualAge投注了大量的资源,因为从Beta版开始台湾 
的IBM便有人和我接触,希望我也在RUN!PC上为VisualAge 3.5写一些文章。因此在 
1996年的6月我写了一篇C/C++编译器的比较文章,下面的资料便是数年前当时还在 
Beta版的VisualAge 3.5和其它编译器的比较: 

从上面的数据中可以看到其实VisualAge 3.5的表现还不错,只是对于当时还在使用AMD
DX4-100/32M RAM机器的我来说,实在是跑不太动VisualAge 3.5。后来台湾IBM负责
VisualAge的产品经理请我吃饭,在此饭局中这位李经理同时请了贺元(后来为资迅人的总
裁),薛晓岚(后来为资迅人的副总裁)以及其它两位作者,希望大家在计算机杂志中继续的
为VisualAge 3.5写写东西,一起Promote此产品。在这个饭局中我是第一次和贺元,薛晓
岚见面,当时贺元在中文PC Magazine有一技术专栏。记得当时我向这位李经理提起我的机
器几乎无法跑VisualAge 3.5,他还立刻一口答应愿意借我一台当时IBM最高檔的PC,同时
每写一篇VisualAge的文章,除了RUN!PC原本的稿费之外,IBM会再付一字2.5元的稿费.
乖乖,IBM真是大手笔,我算算当时我的产能,写一篇文章就能够赚2到3万,又有免费的
最高档机器可用,真是太好康了。不过后来我还是觉得IBM在此市场可能不会深耕,在不愿
意违背自己写作习惯和得罪Borland的顾虑下,最后还是没有答应。现在想想当时真是太笨
了,放着好赚的稿费不赚,嘻。 

IBM的C/C++开发工具之所以在市场无法成功是一是因为并不了解在此竞争激烈的市场中使
用者到底要什么。另外一个原因则因为IBM并不以PC上的开发工具软件为重要的事业,即
使无法竞争对于IBM来说也没有什么影响,不像Borland这可是生命之争。因此IBM只是兴
起玩玩,随即放下。所以我觉得在PC平台使用IBM的工具是很危险的,因为IBM可能随时
会放弃此市场。例如不知道现在VisualAge C/C++到底如何,是不是还在3.5或是4.0版,
已经数年没有任何的维护和改善了。 

稍后IBM为了想在OS2和Window平台上推出能够和Microsoft相抗衡的Basic工具,因 
此秘密的研发了一个Object Basic。我也曾看过这个工具,但是Object Basic跑起来慢得
跟乌龟一样.后来不知道是不是一直无法改善这个问题,因此IBM从没有推出此产品,现在
IBM似乎只对Java有兴趣,VisualAge For Java还算发展的不错,希望不会有一天IBM对
VisualAge For Java的态度会和VisuaAge For C/C++以及Object Basic一样才好. 

快速殒落的潜力之星-Sybase的C/C++ RAD工具Optima++ 

在1996年吧,Sybase并购了Watcom之后,终于推出了石破天惊的C/C++开发工具,Optima++。
Optima++是当结合了Watcom的最佳化编译器以及类似Delphi的组件拖曳开发环境的第一个
RAD C/C++开发工具,更棒的是Optima++的组件架构(类似Delphi的VCL)完全是以纯正的
C/C++程序代码撰写的。这可不得了,因为这代表Optima++是一个融合了Visual C/C++和
Delphi两大王者开发工具为一身的超级赛亚人工具。 

在我知道这个工具,并且取得实际的使用之后,令我极为震惊。因为这个工具对于我这个使
用了C/C++ 5,6年的人来说,是比Delphi还具有吸引力。因此在当年我立刻的在RUN!PC上
介绍了此不可置信的工具。果然,Optima++很快在开始风卷市场,虽然没有立刻的占据很大
的市场量,但是已经造成了一股气势,开始为VisualC/C++和Delphi带来了压力。 

我记得当时台湾Sybase办的产品发表会也吸引了数百人与会,不可一世。在我的RUN!PC文
章出版之后,台湾的Sybase立刻和我连络。由当时的余协理和我见面,也是希望我继续为
Optima++写文章,台湾Sybase也提供额外一字加2元稿费的待遇。但是我告诉余协理,
Optima++ 1.0虽然很棒,但是仍然有一些臭虫,而且和中文环境相冲突,无法处理中文,
需要立刻的解决问题才能够在台湾的市场成功。她答应我立刻的向总公司反应。我也老实的
告诉她在问题没有解决之前我无法写一些不确实的东西。后来台湾Borland的总经理方先生
也找我去询问有关Optima++的事情,我告诉他Optima++是好东西,但是中文有问题。如果
中文问题能够解决,那么将对Borland的产品有很大的影响,当时我还不知道Borland由于
Optima++的影响,已经开始准备发展C++ Builder。 

在1996年底左右吧,Optima++ 1.5终于进入Beta的阶段,但是在我拿到Beta版时仍 
然非常的失望,因为中文的问题仍然没有解决。后来台湾Sybase又找我去,这次和 
我见面的是台湾Sybase总经理郭俊男先生,以及Sybase的新加坡技术总裁,不过我 
忘记这位先生的名字了。我们见了面之后,我立刻的把Optima++ 1.5中文的问题以 
及许多的臭虫告诉他们,希望他们能够解决,如此Optima++ 1.5才能够在中文市场 
成功。可是出乎意我意料的是,他们似乎并不急着这些问题,反而询问我是否有意 
愿为Sybase工作,做PowerBuilder的产品经理。 

也许是因为我为Delphi写了太多的东西,让PowerBuilder受了很大的影响,因此他 
们希望我到Sybase工作,以打击Delphi并且Promote PowerBuilder。当时他们提出 
的待遇条件实在是非常,非常的诱人,比我当时的薪水高出一倍左右(我当时在资 
策会工作)。不过由于我对PowerBuilder实在没有什么兴趣,因此我告诉他们如果 
是做Optima++的产品经理,那么我将会考虑并且接受。 

没有想到Sybase的新加坡技术总裁告诉我Optima++在1.5推出之后就可能会停止, 
因为Sybase要把资源移去为当时愈来愈红的Java研发一个新的Java RAD开发工具, 
那就是后来的PowerJ。于是他问我如果不愿意做PowerBuilder的产品经理,那么是 
不是愿意做PowerJ的产品经理?由于当时我已经知道Borland开始了Open 
JBuilder的研发,而我对Open JBuilder的兴趣远大于PowerJ,因此并没有答应 
Sybase。果然,在Optima++ 1.5推出之后,不但中文的问题没有解决,Sybase也没 
有继续的对Optima++研发下去。 

一个如此有潜力的产品就这样消失了,真是令人遗憾,Optima++应该有很好的机会 
可以成功的,我相信如果当时Sybase知道C++ Builder后来的成果,可能就不会放 
弃Optima++了。而C/C++的RAD工具一直要到后来的C++ Builder来完成这个梦,又 
是Borland成功的进入这个工具市场。 

C/C++的开发工具之争到此算是告一段落了,虽然后来Borland继续推出了Borland C/C++ 
5.0但是品质仍然不够好,市场反应也不佳,后来Borland终于在Borland C/C++ 5.02之
后宣布停止此条产品线的开发,Borland C/C++的光荣历史也就从此打止,真是令人不胜感
叹,而Visual C/C++从此在C/C++开发工具市场中再也没有对手。不过没有竞争的市场的确
会让人松懈的,后来的Visual C/C++进步的幅度愈来愈小,MFC也数年没有什么大进步,不
像当时和Borland C/C++竞争时每一个版本都有大幅的改善。看来寡占的市场的确是不好的。 




⌨️ 快捷键说明

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