按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
台当时IBM最高档的PC。同时每写一篇VisualAge C/C++3。5的文章,除了《RUN!PC》
原本的稿费之外,IBM会再付一字2。5元的稿费。乖乖,IBM真是大手笔。我算算当时我
的产能,写一篇文章就能够赚2到3万,又有免费的最高档机器可用,真是太好了。不
过后来我还是觉得IBM在此市场可能不会深耕。在不愿意违背自己写作习惯和得罪
Borland的顾虑下,最后还是没有答应。现在想想当时真是太笨了,放着好赚的稿费不
赚,嘻。
IBM的C/C++开发工具之所以在市场无法成功,是因为IBM并不了解在此竞争激烈的市
场中使用者到底要什么。另外一个原因则是IBM并不以PC上的开发工具软件为重要的
事业。即使无法竞争和获利,对于IBM来说也没有什么影响,因为IBM主要是靠硬件和
大型软件为主,不像Borland这可是生命之争。因此IBM只是兴起玩玩,随即放下。所
以我觉得在PC平台使用IBM的工具是很危险的,因为IBM随时都可能会放弃这个市场。
不知道现在VisualAge C/C++到底下场如何?是不是还在3。5或是4。0版?IBM已经数年
没有任何的维护和改善了。
快速殒落的潜力之星:Sybase的C/C++RAD工具Optima++
1996年左右,Sybase并购了Wat之后终于推出了石破天惊的C/C++开发工具:
Optima++。Optima++是当初结合了Wat的最佳化编译器以及类似Delphi的组件拖曳
开发环境的第一个RAD C/C++开发工具。更棒的是Optima++的组件架构(类似Delphi的
VCL)完全是以纯正的C/C++程序代码撰写的。这可不得了,因为这代表Optima++是一个
融合了Visual C/C++和Delphi两大王者开发工具为一身的超级赛亚人工具。
在我知道这个工具、并且尝试实际使用之后,极为震惊。因为对于我这个使用了C/C++
5、6年的人来说,它比Delphi更具有吸引力。因此我立刻在《RUN!PC》上介绍了这个
不可置信的工具。果然,Optima++很快开始风卷市场,虽然没有立刻占据很大的市场
份额,但是已经造成了一股气势,开始为Visual C/C++和Delphi带来压力。
我记得当时台湾Sybase办的产品发表会也吸引了数百人与会,不可一世。我的文章在
《RUN!PC》6上发表之后,台湾的Sybase立刻和我联络,由当时的余协理和我见面,
也是希望我继续为Optima++写文章,台湾Sybase也提供额外一字加2元稿费的待遇。
但是我告诉余协理,Optima++1。0虽然很棒,但是仍然有一些臭虫,而且和中文环境
相冲突,无法处理中文,需要立刻解决这个问题才能够在台湾的市场成功。她答应我
立刻向总公司反应。我也老实地告诉她,在问题没有解决之前,我无法写一些不确实
的东西。后来台湾Borland的总经理方先生也找我去询问有关Optima++的事情,我告
诉他Optima++是好东西,但是中文有问题。如果中文问题能够解决,那么将对Borland
和Microsoft的产品有很大的影响,当时我还不知道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++一个如此有潜力的产品就这样消失了,真是令人遗憾。Optima++应该有很好
的机会可以成功的。我相信,如果当时Sybase知道C++Builder后来的成果,可能就不
会放弃Optima++了,而C/C++的RAD工具一直要到后来的C++Builder来完成这个梦。
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++竞争时每一个版本都有大幅的改
善。看来寡占的市场的确是不好的。
^v^v^v^v^v^v^v^v^v
第三章 传奇的开始Delphi
〃是惊世之作的Delphi让Borland重新站了起来,没有当初的Delphi,就没有今日的
Borland!〃
〃是Turbo Pascal诞生了Borland,但却是Object Pascal给予了Borland重生的机会!〃
创造传奇故事的主角Delphi
没有人会知道在两年后Borland C/C++会遭遇到这么大的失败,也没有人会预料到
Borland又会再次因为Pascal而东山再起。Borland奋斗史精彩的地方就在于每当似乎
要不支倒地之际,Borland的R&D人员就会创造出一个明星级的产品来拯救Borland。
在其他和Microsoft对抗的软件公司纷纷消失的时候,Borland却一次又一次地站了起
来。〃打不死的勇者〃这句话贴切地形容了Borland的韧性。Borland靠Pascal起家,通
过C/C++绽放光芒,进而达到了巅峰的状态,随后又再次靠着Pascal浴火重生。Borland
这个从C/C++跌倒,再通过明星工具Delphi重回战场的过程可以说是惊心动魄,其中更
牵涉到了Borland两位创始人Philippe Kahn以及Anders Hejlsberg相继离开Borland
的密闻,也激活了Borland逐渐转型的历史轮轴。对于Borland来说,这段发展史可以
算是非常关键的里程碑,更重要的是,Delphi的崛起也在软件工具业界产生了巨大的
影响。Delphi不但激活了Windows平台上RAD战争的序幕,开启了Windows平台主从架
构的改变,同时也对组件技术做出了巨大的贡献。直到现在,Delphi创造的组件技术
仍然深深地影响了JavaBeans以及的组件思想和技术,这在稍后的内文中读者可
以逐渐地了解。而故事的起源便在1993年左右……
Delphi的发展起源
当Borland以Turbo Pascal获得了成功,并且令Charles Petzold等人跌破眼镜之后,
到了1992/1993年的Borland Pascal 7。x,Borland似乎已经把传统的Pascal开发工具
发展到了极限,再往下还能做什么呢?Borland Pascal在销售了数百万套之后,程序
语言的焦点已经从Pascal转移到了C/C++,Borland Pascal无法继续快速成长,进而
转入了递减的状况,Borland必须做些新的东西才能够延续这条产品线。
当时Borland Pascal产品的Architect,即Anders Hejlsberg,眼看Microsoft Visual
Basic的成功,觉得当时Visual Basic是比较初级的开发工具,是一个学习Windows
程序设计的好工具,但是尚无开发真正应用系统的能力。因此,Anders和Borland
Pascal的小组决定展开一个规模前所未有的项目计划,这个开发工具项目在一开始便
设定了数个目标,希望能够达成并且超越Visual Basic。这些初始的目标是:
● 延续Borland Pascal的传统,提供一个快速编译的开发环境
■ Borland/Turbo Pascal的高明之处便是由Anders使用汇编语言撰写的Pascal
编译器不但编译快速,而且能够产出极为有效率的机器码。当时的Visual Basic只是
解译器(Interpreter),无法产生真正的执行机器码,因此在这一方面Borland决定要
远远地超过VB,但是Borland的挑战是要开发出一个编译速度能够媲美解译器速度的
新一代编译器。
■ Anders另外一个重要的决定便是改善Borland Pascal程序语言,让这个新的
开发工具程序语言具备面向对象的功能。这在当时是非常重要的决定,因为不但需要
大幅修改编译器,也正式将Borland Pascal超越Pascal之父对Pascal定义的结构,让
Pascal拥有现代语言最新的功能。虽然这个决定有很大的因素是因为Borland决定通过
面向对象的方式建立新一代的Framework和组件架构,因此需要程序语言方面的支持。
不过,这在当时整个信息界对于面向对象技术还