第二章 C/C++的圣战

本文回顾了C/C++开发工具市场中Borland、Symantec和Microsoft之间的激烈竞争。在Borland C/C++4.0失败后,Symantec和Watcom C/C++崛起,但最终因Microsoft的MFC优势而败退。Borland C/C++4.5尽管优秀,仍因OLE支持不足而未能取得胜利。这场对决奠定了Microsoft在C/C++市场的领先地位。
摘要由CSDN通过智能技术生成
"在惨烈的、大规模的C/C++战役中,注定只有最强者才能生存下来!"

Borland C/C++的反击

当Visual C++1.0在C/C++开发工具市场获得空前的成功之后,Borland才从Borland
C/C++3.1的胜利梦中惊醒,思考如何面对Visual C++的猛烈攻势。事实上,Borland
如果脑袋清醒一点,好好看清当时C/C++开发工具的市场,那么Borland应该会发现虽
然Visual C++经过两年多的整军经武,实力已经大胜以前。但是,Borland C/C++3.
1在许多方面仍然是可以和Visual C++一争长短的。首先,当时Visual C++的最佳化
编译器仍然落后Borland C/C++3.1;第二,MFC仍然没有完整地封装Windows API,而
且MFC是以较低阶的方式封装Windows API的,面向对象做得并不好,也不是很容易使
用。事实上以我的观点来看,正是因为MFC不好用,所以Visual C++才需要在集成开
发环境中提供以可视化方式产生MFC程序代码的功能。第三是Visual C++当时并没有
很好的封装数据结构的Container Class,而Borland C/C++却有非常好用的BIDS类别
库。第四,也是最重要的,Borland C/C++3.1仍然拥有绝大多数的市场,而且几乎所
有的外围公用程序,Shareware等都是使用Borland C/C++3.1开发的。因此,如果Borlan
d
不着急,好好地开发下一代的C/C++开发工具,即使Microsoft Visual C++能够掠
夺一些市场占有率,但是如果下一代的Borland C/C++能够像Borland C/C++3.0一样
立刻拉开和Visual C/C++的距离,那么Borland在C/C++市场仍将拥有王者的地位。

可惜的是,也许是Philippe Kahn在和Microsoft的FoxPro For Windows一役中被吓着
了,因此急于在Visual C/C++1.0之后立刻推出新的Borland C/C++以扳回颜面。但是
Philippe Kahn忘了,在这段时间之内Borland失去了许多的人才,Eugene Wang也离
开了。更重要的是在过去近3年的时间内,Borland几乎没有持续地开发下一代的
Borland C/C++,短时间内怎么能够仓促地推出新产品呢?

可是Philippe Kahn管不了这么多了。他急忙找来了Carl Quinn等人后便要求立刻开
发出下一代的Borland C/C++,于是Borland C/C++4.0就在这鸭子赶上架的情况下匆
忙地开发了。Borland在开发Borland C/C++4.0时犯了许多的大忌。首先在这么短的
时间内Borland决定全新升级集成开发环境;第二是把OWL完全重写;第三是大幅修改
最佳化编译器;第四是整合当时棘手的VBX,Borland居然让16位和32位的Windows程
序同时使用16位的、丑陋的VBX。

上面所说的每一项都是大工程。Borland早应该在Borland C/C++3.1之后便开始进行
这些工作,现在要在短短的一年多时间内重新开发这么复杂的一个C/C++开发工具,
几乎是不可能的。但是在Philippe Kahn的强力要求下,这些Borland的工程师还是硬
着头皮做了出来。

不过我必须很沉痛地说,当时在Borland C/C++4.0 Beta测试时,我便和台湾Borland
的人说,如果Borland仓促推出Borland C/C++4.0的话,那么不但不会对Visual C++
产生任何的影响,反而是自杀的行为。因为臭虫实在太多了,整个集成开发环境的反
应也很缓慢,它的最佳化编译器更是笑话,错误百出,真像当时恶名昭彰的Microsoft
C 4.0一样。我还开玩笑地说,是不是因为Microsoft从Borland挖了大量的Borland
C/C++人才,因此好胜的Philippe Kahn也还以颜色,从Microsoft反挖Microsoft C
的人,却不幸地挖到了Microsoft C 4.0的人。

但是,显然Borland并没有听到我或其他Beta测试人的心声。在Visual C++1.0推出后
的1年多、推出Borland C/C++3.1之后的第4年,Borland终于推出了新一代的Borland
C/C++ 4.0,这个肩负和Visual C++1.0对抗的新一代C/C++开发工具。

在Borland C/C++4.0刚推出之际,Borland确实为4.0做了极大的造势,我记得在当时
所有重要的计算机杂志中,例如Byte、PC Magazine、Dr. Dobb's等,都有4.0整页的
广告。这个广告的内容是以一个巨大的猫头鹰为主,再搭配蓝色底系的Borland
C/C++4.0,选用巨大的猫头鹰当然是因为OWL的原因,只可惜我现在找不到那幅广告
的画面了。

当时Borland C/C++4.0使用了如下的广告用词:

Visual Is Only A Facial Facade

来讽刺Visual C/C++只提供了产生MFC程序代码的基本精灵,而Borland除了提供相对
应的AppExpert精灵(能够提供类似的功能,以产生使用者选择的OWL程序代码)之外,
Borland C/C++4.0的集成开发环境还提供了可视化的三面版窗口,能够让程序员完整
地掌握整个项目的情形。

下图便是当初令人眼睛为之一亮的AppExpert:

下图则是当时Borland C/C++的注册商标,三面版窗口开发环境。看到此图又令我想
起当初使用C/C++撰写程序的日子,下方程序页面清楚地显示了我1995年在鼎新工作
时写的智能型Windows排程系统,时间过得真快啊。

当时Borland C/C++4.0的三面版集成开发环境真正开创了一个新的局面,因为这个集
成开发环境允许程序员知道每一个应用程序定义的窗口信息,并且能够立刻把它显示
在下方的程序代码窗口中,的确是非常的方便,也比当时Visual C/C++的集成开发环
境来得先进。再加上Borland较为先进的编译器技术和架构更好的C/C++ Framework-
OWL,照理说Borland C/C++4.0应该会获得极大的胜利,可为什么最后会以失败收场
呢?

没错,在Borland C/C++4.0刚推出之际,订单的确如雪片般飞来,销售情形非常好。
这毕竟是Borland在久违了数年之后的大作,许多Borland的用户都迫不及待地升级,
当初我也是拼命地要求台湾Borland第一个给我Borland C/C++4.0。但是在推出一段
时间之后,市场的反应就急速地冷却下来,因为各种负面的批评不断涌现。这主要的
原因当然是因为Borland C/C++4.0的品质实在不好,就像前面我在Beta测试时说的,
由于Borland太急于推出4.0,因此并没有在最后阶段修正许多的臭虫,又没有经过最
后系统微调的工作,同时又过于大胆地加入太多先进的技术,造成了整个产品的不稳
定,而犯下了大错。下面几点应该是造成当初Borland C/C++4.0惨遭滑铁卢的主要原
因:

集成开发环境方面:臭虫太多,容易当掉而且反应速度缓慢

编译器方面:最佳化玩得过火,产生错误的编译程序代码

OWL方面:采用全新的多重继承架构,虽然是正确的做法,却和Borland C/C++3.1
中的OWL不兼容,造成许多程序员无法升级C/C++项目

VBX方面:大胆的采用在16/32位都能使用VBX的技术,造成一些VBX无法顺利地在Borland
C/C++4.0中使用

我想其中最可惜的就是OWL了。OWL 2.0在各方面都有一流的表现,实在是MFC强劲的
竞争对手,获得了各方一致的肯定和称赞。无奈的是,由于OWL 2.0做了基本架构的
改变,这虽然是为了解决当初OWL l.x使用了不标准的C/C++编译器技术的问题,但是
这造成了原来Borland C/C++3.x程序员极大的困扰,因为升级不易。对于新的C/C++
使用者来说,又因为Borland C/C++4.0本身不稳定的因素而却步,因此造成了OWL
2.0叫好不叫座的下场,真是可惜了OWL小组的努力。

还记得当时我的项目使用了FarPoint的SpreadSheet
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值