C++Builder与VC++的比较(下)
一挥间宝兰灰飞烟灭,刹那间微软如日中天。世事如朝之白露,谁与争? 李维与宝兰的故事声明 以下的这篇文章内容是我个人的回忆以及看法,没有任何特别的偏见,许多的事情是根据我的记忆以及从许多人的诉说中得知的,也许内容不是百分之百的正确,不过我想这些内容有一定的尚哦鹊绞强梢员Vさ摹5比挥幸恍┦虑槿范ǖ姆⑸?奔浜退承虿灰欢ǘ己臀业募且湟恢拢?还?蚁氪蟛糠萦Ω檬窍嗳ゲ辉兜摹5比桓魑蝗绻??廊范ǖ氖录??业募且溆形螅?敲次医?浅;队??勒?遥?蚁M?庑┕适碌木??芄灰恢迸阄易呦氯ィ?恍弧?lt;BR>
一直想写一篇我个人在过去10多年来工作中经历的一些事情,以及看着一些我认为是伟大的工程师在这些日子中对于信息界的贡献。如果你和我的年龄差不多,那么你可能会对于这些内容很有兴趣,因为它们说明了当时许多软件的兴起和没落的过程以及原因。虽然这些事情已经距离我们很遥远了,但是我相信许多人仍然对于背后的故事有兴趣。如果你没有经历过那段美好的回忆,那么就把这些内容当成是一个有趣的故事来看吧。但是我想更重要的是让我们一起认识一些伟大的人物,我对于其中的许多人都非常的佩服,也非常的羡慕。我常常在想,如果我也有他们的环境,我是不是也能够和他们一样这么有成就呢?这些人对于以往都有重要的贡献,在未来也将仍然有重要的影响,因为他们都有一身不凡的技术。对于许多重要的人我都尽量的收集了他们的照片,让各位也能够看看这些优秀的工程师和杰出娜宋铩.斎唬?绻?魑灰材轨驈倪@些内容中学习到失败的原因以及成功的经验,那么这篇文章就更有价值了。
和Borland的缘由
记得我在大学时第一个在PC上使用的软件便是SideKick,至今我仍然无法忘记这个让我津津乐道的软件,而Borland在当时也就是以SideKick成为全球知名的软件公司。不过B orland第一个奠立创业基业的软件却是我大二使用来交作业的Turbo Pascal。而Turbo Pascal也是第一个我听到关于Borland的有趣的故事
当年Philippe Kahn (Borland的创使人)和Anders Hejlsberg到美国创业时,便由Ander s以汇编语言撰写了Turbo Pascal的编译器,而Philippe则包办了Turbo Pascal其它的部份。在这两位人兄开发完Turbo Pascal之后,穷得快连登广告的钱都没有了。但是Phil ippe为了在Byte杂志(还记得这个著名的杂志吗?)刊登Turbo Pascal的广告,因此和And ers商量了一个方法,那就是一天他们约了Byte杂志的人到当时Borland的办公室讨论刊登广告的事情。
当Byte的人到了Borland之后,Philippe,Anders和公司的助理小姐故意忙着接电话,接受Turbo Pascal的订单,并且告诉Byte杂志的人等一下。过了一阵子之后Philippe才进入房间向Byte的人道歉,说他们的Turbo Pascal受到市场的热烈欢迎,订单源源不断的到来,因此可能不需要在Byte杂志刊登广告了,接着Philippe向Byte的人展示Turbo Pa scal这个产品。由于在当时的机器中Turbo Pascal能够在少少的RAM中常驻执行,又提供闪电般的编译速度,立刻让Byte杂志的人震惊在当场,凭着专业知识和丰富的经验,By te的人也立刻知道这将是一个革命性的软件,因此马上希望Philip能够在Byte杂志刊登 Turbo Pascal的广告,并且愿意以半价刊登。当然,Philip也立刻的答应了,于是一个革命性的软件Turbo Pascal终于在Byte杂志刊登出来了,售价49.99美元的Turbo Pasca l立刻为Borland带来了大量的财富,Turbo Pascal也立刻的成为PC上除了基本的Basic之外最畅销的开发工具,也正式揭开了Borland影响PC开发工具10几年的序幕。
在Turbo Pascal之后,Borland接着推出了SideKick这套软件,SideKick可以说是随后著名的内存常驻软件(TSR)的始祖,也是让Borland跨出开发工具界,让几乎所有PC使用者认识Borland的关键软件。当然SideKick也很快的成为了全球的畅销软件,继续的把Bor land往顶尖的软件公司上推。
而Turbo Pascal也成了我大二,大三撰写作业的最爱,几乎所有的作业都是使用Turbo Pascal完成的,当然其时Horowise的Data Structure这门课也是使用Turbo Pascal过关的,因此从那个时候开始我便非常喜欢Borland这家公司,慢慢的也开始对Borland有了特别的感情。
大二时Microsoft也推出了Microsoft Pascal,但是它和Turbo Pascal的确是有一段差距,我使用了一次之后便把它丢到垃圾桶。稍后Borland也推出了Turbo Basic,我记得这个编译器非常的棒,编译速度就和Turbo Pascal一样,是一个非常有前途的产品。但是我不知道为什么它只有1.0,之后便和Microsoft Pascal一样消失了。我听说Microsoft 和Borland互相交换条件,Microsoft不进入Pascal的市场,而Borland则退出Basic的市场。至于是不是真的我就不得而知了。
在大二初次的接触到C语言,第一本阅读的书便是王兴隆先生写的C语言,也从此开始和 C语言结下了渊源。平生第一个使用的C编译器便是Lattice C,不知道还有没有人记得。我还记得那个时候使用2个5又1/4磁盘抽换以便编译C程序的情景。稍后Borland终于推出了风行天下的Turbo C编译器,当然,从此之后Turbo C便成了不离身的工具,而Borlan d也藉由Turbo C这第三项畅销产品迈向了世界前10名的项尖软件公司。
当完2年的兵之后,我在中研院首次使用了C++语言,第一个使用的C++编译器则是Zorte ch C/C++,这家公司稍后被Symantec收购成为Symantec C/C++的核心,这个故事稍后再说。后来Borland也推出了Turbo C/C++ 1.0这第一个C/C++编译器,但是在我和Zortech C/C++比较之后,还是觉得Zortech C/C++比较好,因此就继续使用Zortech C/C++。一直到Borland的Turbo C/C++ 2.0编译器推出之后,才逐渐成为C/C++语言的王者,而我也像以往一样把Zortech C/C++换成了Turbo C/C++。
在1991年到Georgia Institute Of Technology念硕士时,终于使用自己的零用钱美金4 9.99购买了生平第一套的正版软件Turbo C/C++ 4.5,随后又购买了Borland Pascal。在毕业前的一个Quarter,Microsoft 推出了Microsoft C/C++ 6.0以及MFC 1.0,由于是第一个C/C++的Framework,因此也花了一些钱购买了一套以便了解MFC。但是在收到之后却很失望,因为Microsoft C/C++ 6.0仍然没有图形整合发展环境,还是在DOS下的整合发展环境,而且MFC 1.0以我的眼光来看又不好用,而且Microsoft C/C++ 6.0的C/C++最佳化编译器在其时是一个笑话,不但产生的程序代码效率不好,甚至会产生错误的程序代码,许多杂志也称Microsoft C/C++ 6.0是一个平庸的(Mediocre)产品。因此就把它丢在一边。在Microsoft C/C++ 6.0不久之后,Borland终于推了Borland C/C++ 3.0。而这套软件也开启了Borland雄霸C/C++编译器常达5,6年之久的序幕。
Borland C/C++ 3.0推出之后由于拥有第一个在Window下的稳定的图形整合发展环境,而且它产生的最佳化程序代码也是Microsoft C/C++ 6.0望尘莫及的,因此很快的几乎所有的C/C++程序员转而使用Borland C/C++ 3.0。因此在那个时候有一个现象,那就是几乎所有的公用程序或是Shareware都是使用Borland C/C++开发的,许多硬件厂商的驱动程序也是使用Borland C/C++ 3.0来撰写的。
1992年我取得Georgia Institute Of Technology的硕士学位之后最想进入的公司便是B orland和Microsoft,不过最后我还是决定回台湾工作。在此时Borland也进入了最巅峰的时期,因为Borland推出了Borland C/C++ 3.1。
Borland在Borland C/C++ 3.0获得空前的胜利之后,并没有松懈下来,因为Borland知道 Borland C/C++ 3.0还缺了一个最重要的胜利因子,那就是如同Microsoft的MFC一样的C /C++的Framework,因为Borland也看出了Framework将会是未来C/C++产品中最重要的一环科技。不过Borland此时面临了一个重要的十字路口,那就是到底要自己开发一个和M FC抗衡的Framework,还是要如何做。因为如果要自己开发Framework,那么势必要花上一些时间,但是Borland想趁Borland C/C++ 3.0如虹的气势再下一城,以便彻底击溃Mi crosoft C/C++。因此最后Borland决定向一家叫White Water的公司购买一套由这家公司开发的一个Framework,这套Framework便是后来鼎鼎大名的OWL的源流。而Borland也因为向White Water购买了这套Framework,因而也引进了一个日后非常重要的人物,那就是后来负责开发Delphi的一员大将 - Zack Urlocker。
C/C++的光荣战役
在Borland购买下White Water的C++ Framework之后,便更命为OWL(Object Window Lib rary),并且很快的推出了以OWL 1.0为核心的Borland C/C++ 3.1。由于OWL比当时的MF C 1.0封装的更为完整和好用,再加入Resource Workshop可视化能力,以及Borland C/ C++ 3.1自己最强劲的编译器和整合发展环境,因此立刻的风靡了全世界,其受欢迎的程度更是远远的超过了它的前一版本Borland C/C++ 3.0。
由于Borland C/C++ 3.1的畅销,立刻让Borland在C/C++市场一举击溃了Microsoft C/C ++,市场占有率超过了50%,是全球第一的C/C++产品,也把Borland推上了最高峰,成为全世界第三大的软件公司。
很快的,我所工作的开发小组也立刻的以Borland C/C++ 3.1来开发系统,Borland C/C ++ 3.1也是我使用过Borland最稳定的C/C++版本之一。也由于那个时候一天到晚都使用 C/C++工作,因此就有了一些小心得。稍后我整理了一些东西便投稿到刚出刊不久的RUN !PC,也许是运气不错,RUN!PC很快的也注销了我的文章。就是这篇文章注销之后,台湾的Borland注意到了我,开始和我连络,并且从此展开了和Borland的互动。而Borland C/C++ 3.1也是第一套Borland免费送我的软件,当然代价就是希望我多写一些Borland产品的文章。
接着Borland又计划推出Windows版的Borland Pascal,不过在Borland开发Borland Pas cal For Windows 时,当时(现在也还是)最具盛名的Charles Petzold(我的第一本Wind ows 程序设计的书就是这位仁兄写的,相信许多人也是看他的书一路学来的)就说除了C /C++之外,Borland不可能做出能够在 Windows 下执行的Borland Pascal,不过很明显的,即使是Windows API的大师Charles也错了。Borland不但做出来了,而且Borland P ascal For Windows 还非常的畅销,当然Borland Pascal For Windows 也是后来Delph i的根基。
当时的Borland可说是不可一世,不但产品大卖,而且日进斗金。Borland在Scotts Val ley豪华的总部也是在那个时候由Philippe Kahn大手笔的花了一亿多美金搭建的(想想1 0年前的60多亿台币可以盖什么样的房子?)。不过也许是Borland太成功了,因此也开始让Philippe Kahn渐渐的养成了好大喜功,目中无人的态度,也种下了Borland开始走向衰退的因子。
Borland 位于美国加州 Scotts Valley 总部