第二章 C/C++的圣战

"在惨烈的、大规模的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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Borland C++3.1 神话般的经典开发工具 带有传奇色彩的BORLAND公司,见证了美国软件技术市场上波澜壮阔、激动人心的技术大战和产品大战,最为经典的成功范例就是Borland C++3.1! Borland是中国程序员最为景仰的公司之一,特别是对于资格老一点的程序员而言,他们学习编程的起步就是Borland. 以下是Borland c++入门指南中摘录的一些信息 Borlandc++适用于需要一个专业化、优化的编译器C++和C程序员,它同时适用于A&T公司的C++2.1版和ANSIC的程序员。它快速而有效,据此用户可以创建包括Microsoft Windows应用程序在内的任何应用程序。 Borland C++3.0可以在DOS的环境下运行,更可以在Windows下运行,在Windows之下的Borland C工作环境更亲切,将使您开发程序更得心应手。 C++是一个面向对象(OOP)的程序设计语言.使用户能充分利用OOP的先进设计方法和省时效率高的特点,它是C语言的进一步发展,它是可移植的,所以用户可以很容易地将一个由C++编写的应用程序从—个系统移植到另一个系统。在任何地方,都可以用C++从事任何编程工作。 Borland C++特色 1. Borland C++3.0及3.1可供程序设计人员开发C++及c程序。其中的c++是依照AT&T2.1标准设计的,而C则是ANSI C。因此让您开发的程序兼容性高.移植性(Portable)也更强。 2.全局的优化(Global Optimization):为程序编译出最优的目的码,使执行时间减少,使目的码变小。 3.缩短编译时间:由于编译器及工具的使用,大大减少了编译时间。 4.集成开发可境:(即IDE,Integrated Development Environment),本产品提供一完整的工作平台(Platform),使程序的编写编译、调试、分析、运行相当完整且方便。 5.窗口程序开发:本产品可以开发出Microsoft Windows程序,还包括完整的工具程序:窗口资源编译器(Resource Compiler),在线帮助编译器(Help Compiler)及窗口资源工作程序(Resource Workshop)。 6. DPMI编译器:DPMI (DOS Protected Mode Interface)使编译器可以在DOS或Windows386的保护模式下运行,因此开发大型的程序不用担心内存不足。 7. Easywin:或将DOS程序直接转成Window。程序的功能,不需要改半行令。 8. WinSight:窗口信息跟踪程序,使我们看到程序与Windows之间的联系息。 9.在线帮助,在IDE环境下,任何错误都可由在线帮助得到说明或者想要任何时间查询函数或其他说明,都可使用此项功能。 10.虚拟Run - time面向对象存储管理功能(VROOMM,Virtual Run-time Object-Oriented Memory Manager)。当程序设计人员选定目的码的覆盖功能后,VRAOOMM会处理一切事情,即使程序超过640K。 11.丰富的类库,本产品提供常用的数据结构,例如List, Queue, Qegue, Stack, Array. . 等。 12.丰富的函数库:本产品提供4, 5百个函数,可以说无所不包了。 1.2.1. Borland C++3.1新功能 1. 3.1版将Turbo C++ for Window。改名为Borland C++for Windows, 2. 3.1版配合Windows 3.1版,增加多媒体(Multi-Media)、笔(Pen)和MCI (Media Control Interface)之控制接口。 3. 新增Win Spector I具程序,此工具程序是当Windows程序发生General Protection Faults时,提供发生此错误的地方,及当时机器的状态。 4. 在Borland C++ for Window,提供最优化的选项。 5. 彩色语法高亮显示(Color Syntax Highlighting),在源程序中设置不同的显示的颜 色。可在DOS IDE内的Options I Environment I Colors I Edit及Windows IDE内的Options Environment I Highlight内设置。 6. 可利用参数(-3)或IDC内的Options I Compiler I Advanced Coded Generation 80368设置产生386的目的码。 7. 可在程序内控制最大打开文件数,在_NFILE. H内#DEFINE_NFILE_n
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值