打印本文 打印本文 关闭窗口 关闭窗口
第三章 传奇的开始--Delphi
作者:武汉SEO闵涛  文章来源:敏韬网  点击数4153  更新时间:2009/4/23 18:27:02  文章录入:mintao  责任编辑:mintao
有高
学历或不是计算机信息科系出身的优秀程序员最好的效仿对象。

Anders Hejlsberg这位不世出的软件天才,是目前全世界最顶尖的软件技术人员之一。
论实现技术,Anders可能是目前的第一高手,因为他精通程序语言、编译器技术、开发
工具、Framework以及系统架构。我虽然知道许多软件界重要的人物和好手,但是尚
不知有任何人能像Anders一样在这么多领域都能成为大家。下面是笔者整理出
Anders Hejlsberg到目前为止重要的功绩、贡献以及获颁的重要大奖:

" 和Philippe Kahn共同创办Borland

" 开发出Turbo Pascal,当时首创的In-Memory Compiler震惊了全世界

" 开发出全世界最畅销的Pascal产品,Turbo Pascal(这是许多信息人员学习Pascal
和Data Structure使用的经典产品)以及Borland Pascal。Turbo/Borland Pascal合
计销售超过了数百万套。Dr. N. Wirth(Pascal语言的创始人员)也应该向Anders致敬,
表达Anders对于Pascal语言的贡献

" Anders使用汇编语言撰写编译器,其功力无人能出其右。创造出了全世界速度最快、
品质也是一流的Pascal编译器。在Anders离开了Borland之后,几乎没有人能够修改
Anders的编译器

" 开发出影响深远的Delphi这个伟大的RAD工具

" 开发出VJ++语言

" Microsoft .NET的Architect

" Microsoft颁授Microsoft Distinguish Engineer大奖

" 发明C#这个又将造成重大影响的语言

" 获颁2001年Dr. Dobbs'''' Journal的Excellence In Programming大奖

一个人一生能够做出几件让全世界都津津乐道的事业呢?Anders却成就了无数PC界伟
大的功绩,并且在程序语言、编译器、开发工具以及Framework方面都有重要的贡献。
PC软件界因为有了Anders而精彩、丰富了许多,也创造了许多令人惊叹的故事。更
棒的是Anders现在仍然在继续贡献他惊人的天分,就让我们拭目以待,看看Anders还
能创造什么功迹吧。不过,不管以后如何,相信Anders应该是大部分软件人员希望学
习的目标。Anders的功力也是大部分软件人员一生企望能够达到的境界。

在2002年Borland Developers'''' Conference中,Anders Hejlsberg是排名第一的
Keynote Speaker,尚在Java的创始人James Gosling之前。根据现场同时聆听这两场
Keynote Speech的听众报道,Anders的Keynote Speech是非常精彩的,而James的
Keynote Speech则相对的枯燥,许多人因此而提前离席。而且Anders在开始进行
Keynote Speech之时,便获得了现场所有听众起立鼓掌致敬,看来,在大多数Borland
开发工具使用者的心中,Anders Hejlsberg是永远的巨星。

Microsoft的挖角和Anders的离开

Anders在不介入Delphi的开发、并且无法主导Borland Java开发工具开发的情况下充
满了挫折感。没有了Philippe Kahn的强力支援,Anders虽然是Borland最顶尖的技术
人才,却也无法对抗Borland管理阶层的力量。当然这也是从Philippe Kahn离开了
Borland之后、Bodand开始转型有关,这在稍后Borland的转变一文中,我会作详细的
说明。

虽然Anders在Borland遇到了挫折,但是对于Microsoft来说这却是千载难逢的好机会,
在此时Microsoft展开了大规模的挖角行动,而且是明目张胆地进行,正是由于
Microsoft如此大胆的行动,因此也造成了不久之后Borland对于Microsoft的法律控诉。

这次的挖角行动中,Microsoft同时锁定了数个Borland最杰出或是重要的人物,当然
Anders是名列第一的挖角对象。时值1996年,Microsoft终于展开了行动,使用的方
式是最直接的攻击。Microsoft直接派遣加长型的大轿车到Borland大门口找Anders吃
饭,第一次Microsoft开出了年薪百万美元以上的条件。不过在Borland知道了这件事
情之后,也很快进行了加码的动作,因此Anders并没有对Microsoft进行响应。
Microsoft在苦等无应、按捺不住之下,很快就再次用大轿车找Anders。这次Microsoft
提出了两百万美元以上的条件,希望Anders能够首肯。对于这次的喊价,Borland可有
点为难了,因为两百万美元不是笔小数目,这已经比当时Borland许多副总裁的年薪还
高。此外,如果Borland答应也加到两百万以上,那么是不是Chuck也要如此加码?其
他的Delphi R&D小组要如何调整?这些都是非常棘手的问题。

不过Borland很快找到了解决的方案,那就是允许Anders从每一套卖出的Delphi版本
中抽取一定数量的版权费。如此一来Delphi卖得愈好,Anders便能取得愈多的回馈。
不过就我的了解,Anders注重的并不是金钱上的问题,因为在Borland创立的初期,
由于Turbo Pascal的编译器都是Anders撰写的,因此当时Anders也是卖一套Turbo
Pascal就可以抽取版税的。依照Turbo/Borland Pascal全世界销售数百万套来算,
Anders早就是富翁了。薪水多一点,少一点并无所谓,Anders心中想的是自由发展的
空间。在Borland提出了Delphi的随版抽税,再加上Microsoft并不知道Anders真正想
要的东西,因此Anders仍然没有响应Microsoft提出的优厚条件。

不过,Anders实在是太重要的人物,而且Microsoft在面对Java与日俱增的威胁下,
非常渴望能够有像Anders这样的人才带领Microsoft开发下一代的开发工具,这当然
也是由于Microsoft以前向Borland挖来的人都做出了不小的贡献所致。Microsoft食
髓知味,当然希望能够得到Borland的镇山之宝。在Anders两次不为所动之后,
Microsoft决定祭出最后的王牌,由Bill Gates亲自找Anders吃饭,进行最终的挖角
行动。

不管读者喜不喜欢Bill Gates,不可否认的是Bill也是一个天才。自古英雄惜英雄,
在Anders和Bill相谈甚欢的情形下,Microsoft开出了年薪三百万以上、数万股的
Microsoft股票这个超高的条件,再以当时Microsoft高贵的股价来计算,真是一笔庞
大的数字,也许对于搞软件技术的人来说,这已经是不可能的天文数字了。不过这些
条件并不是打动Anders的主要原因,Bill最后提出的条件是"答应给Anders一个小组
和极多的资源,让Anders尽情地发挥"。这个条件可说是打到了Anders的心底,因为
Anders正渴望有人能够支持他完成新的计划和想法。我想,在软件产业中大概也只有
Microsoft能够拥有这种雄厚的资源可以挖角任何人吧。

在Bill Gates提了这样的条件之后,Borland再也没有本钱能够和Microsoft进行比价
了,只好眼睁睁地看着Anders离开Borland前往Microsoft再开创下一个人生的高峰。
在Anders到了Microsoft之后,Bill Gates果然重用Anders,也立刻让Anders负责激
活Microsoft的下一拨开发工具计划,当然这个计划也是Microsoft对抗SUN/Java的整
体计划之一。Anders到了Microsoft之后立刻展现了实力,让Microsoft的编译器技术
又精进不少,最明显的例子就是Microsoft后期的Java Virtual Machine是PC上执行
效率最好的,而且在2、3年后,VJ++编译出来的虚拟机械码的执行效率不但比任何的
Java开发工具还快,在某些方面甚至比原生的Windows开发工具,例如Delphi、VB、
甚至是VC++还有效率。这真是令人震撼,当然Anders为VJ++打下的基础现在也展现在
NET的C#编译器以及.NET的JIT(Just In Time)编译器之上,.NET的JIT在许多程序代
码最佳化方面比Delphi还先进。因此在2、3年前当VJ++即将推出之际,在Borland内
部也引起了非常大的骚动,并且严阵以待,当然这又是另外一个故事了。

对于Anders来说,到了Microsoft之后不久又再次登上了生涯的另一个巅峰。因为当
初Anders在Borland之时,就有如孙子兵法中叙述的"藏于九地之下",虽然是不世出
的天才,但是仅为少数的人所知,即使是使用Borland产品的人在当时可能也不知道
Anders这号人物。因为Anders和Borland的作风很像,都是行事低调,不到最后绝不
随意出手。但是Anders被挖角到Microsoft之后,由于Microsoft的企业文化向来是前
进、积极的侵略性方式,因此Anders也就转变为"动于九天之上",负责Microsoft开
发工具大军的核心大将,不但广为人知,成为许多软件人员效法的对象,而且屡获大
奖。他不但获得了信息软件业界的推崇,最后也终于获得了信息学术界的认可,可说
是实至名归。

Anders的离开对于Borland来说是一个很大的损失,不过对于Delphi R&D小组来说却
是有好有坏,因为Delphi开发小组虽然失去了最重要的支柱,但是也给Danny Thorpe
一个快速崛起的机会,在1年后,Danny果然立刻成为了Delphi/C++Builder/Kylix中
最杰出的人物之一(另外一个当然就是Anders的老搭挡Chuck Jazdzewski了),Danny
也是我认为目前在Borland RAD(注)部门中功力最厉害的人物。在稍后的内文中我会
对Danny进行比较详细的说明。

注:Borland RAD部门是指Borland的Rapid Application Development部门,RAD负责
的产品包含了C++Builder、Delphi、Kylix以及未来的.NET以及Mobile的新产品。

巅峰之作和最后的胜利者

在Zack于Delphi 3开发的后期和Paul Gross逐渐取得了主控权之后,Delphi的发展方
向也偏向了Zack希望的Multi-Tier的技术以及由Paul Gross稍后主导的Borland
Golden Gate计划。1997年,Delphi还是像Delphi 1/2一样以强劲的生命力,以一年
一个大版本的速度准时推出了。当时Delphi 3也称为Delphi 97。Delphi 97和
Delphi l/2一样有一个最重要的战略目标以及主要的革新技术,那就是Multi-Tier和
COM/DCOM的支持。因此,当时97推出之际使用的行销术语是"Component Foundry",
意指Delphi 97能够开发任何的软件组件(事实上是指VCL、COM/DCOM以及ActiveX组
件),而且使用组件来开发Multi-Tier的应用系统。

Delphi 97无论是在品质、功能或是市场和销售上都是非常成功的。也许是为了证明
即使是没有了Anders,Borland的Delphi R&D小组仍然有实力开发出优秀的Delphi产
品,因此Delphi 3一推出的品质就在高水平的地步,后来Delphi 97销售的结果也证明
了它没有令人失望,Delphi 3的推出让Delphi一举突破了150万套的销售大关,也几
乎成为Borland有史以来最畅销的单一系列开发工具,我也认为Delphi 3是Delphi所
有版本中最好的一个。

不过,Delphi 97在即将推出之时也令一些人感到忧虑,因为在当时几乎没有任何开
发工具强调Multi-Tier的开发,大多数的开发工具仍然着重在Client/Server的功能。
Delphi 97将许多新功能集中在Multi-Tier的开发的确是一个不小的冒险,因为在当
时Multi-Tier的观念还非常的新颖,许多人对于Multi-Tier是什么?能够用来开发什
么?为什么要使用Multi-Tier等等问题都不是很清楚。更重要的是,在那个时候
Multi-Tier的基础工程都尚未完全准备好,使用者要如何使用Multi-Tier技术来开发
应用系统、甚至是学习Multi-Tier的技术呢?

我所谓的"Multi-Tier的基础工程都尚未完全准备好",是指在那个时候Microsoft的
DCOM技术都还没有推出。那么,Borland该如何在Windows平台上提供Multi-Tier应用
系统需要的分布式技术呢?说到这里,我们也不得不佩服当时Borland这些Delphi
R&D小组的眼光,他们几乎已经精确地看到了未来的软件计算世界将会由网络和分布式
技术主导,因此,即使是在操作系统平台尚未准备好的情形下,Borland也决定快速
向前出发。

另外一个驱使Delphi 97走向Multi-Tier的重要原因便是当时Borland已经准备走向组
件技术的领域,准备在中间件(Middle-Tier Software)中成为一个关键的软件开发厂
商,这就是Paul Gross和Zack Urlocker激活的Golden Gate Strategy。而Paul Gross
也就是由于Golden Gate计划扬名立万、进而成为当时Borland整个研发部门的副总裁
(Vice President),后来又成为Microsoft下一个挖角的对象。

为了配合Golden Gate计划并且成为分布式技术的领导厂商,Borland由Paul Gross主
导并购了Boston一家有名的顾问公司,这家顾问公司拥有一个颇为知名的中间件
"Entera"。Entera是一个以RPC(Remote Procedure Call)通信协议为骨干的中间件,
Borland希望通过Entera快速进入中间件的市场。由于Entera的客户端能够执行在
Windows的操作系统中,因此,Entera在Windows平台上拥有基础的分布式技术支持
能力,这刚好提供了Delphi 97需要的技术,所以Delphi的R&D小组立刻使用VCL封装
了Entcra的底层API,提供了一个称为OleEnterpriseConnection的VCL组件,让
Delphi 97能够和以RPC为基础的中间件连接。

因此在Delphi 97中Borland提供了三种分布式连接组件,分别是使用DCOM技术的
DCOMConnection、使用TCP/IP技术的SocketConnection以及OleEnterpriseConnection。
在那个时候最成熟的技术应该是OleEnterpriseConnection,而使用DCOM技术的
DCOMConnection在Microsoft本身DCOM尚不成熟的背景之下,表现得并不好。至于
SocketConnection,我认为Borland一直没有很认真地地实现SocketConnection,因此
最好只可以用来作为学习的对象,尚未到达可以真正应用的水准。不过稍后随着时间
和技术的进步,OleEnterpriseConnection逐渐没落,而DCOMConnection则反而因为
Microsoft的DCOM的慢慢改善而成为比较实际的应用对象。当然,这些又属于
Delphi 4的开发故事了。

虽然Delphi 97采取了比较冒险的做法,但是由于其品质良好,又支持COM/VCL组件的
开发,因此也很快征服了Delphi使用者的心而大获成功。当时许多Delphi的使用者仍
然是以开发Client/Server应用系统为主,不过由于Delphi 97好用的COM技术以及应
用Web的WebBroker技术,再加上Multi-Tier的功能,都让使用者大呼过瘾,把Delphi
作为学习这些先进技术的好工具,因此Delphi 97在当时到达了巅峰的地步。而
Delphi/VB和PowerBuilder/Gupta缠斗的情形也逐渐明朗。Delphi/VB的销售量和市场
占有率已经远超过PowerBuilder/Gupta 了,PowerBuilder/Gupta也注定将从通用开发
工具以及主从架构开发工具市场中让出绝大的市场份额。

其时PowerBuilder仍然不肯服输,并且坚称PowerBuilder在总收入方面仍然是第一。
这是因为PowerBuilder在当时仍然非常的昂贵,比Delphi/VB至少贵了两三倍以上。
但是在不断地快速流失市场的情况下PowerBuilder的售价很快就出现了大幅的下降,
至此Delphi和VB终于获得了全面的胜利;Client/Server开发工具的战争已止,但是
接下又上演了另一出精彩的Java开发工具大战。

危机的开始

在Delphi 3再次获得了胜利之后,Delphi 4决战的目标已经从Delphi、VB、PowerBuilde
r
和Gupta混战的形势转变为和VB对战的局势。原本Delphi有继续进击的机会,因为在
当时Delphi 3的功能的确强劲,而且许多功能都领先业界至少半年以上的时间,不过
可惜的是,在1996年Borland担任CEO的Delbert Yocam先生正好在这个时候开始了改
造Borland的计划,几乎造成了对Delphi不可挽回的错误,这要从Zack Urlocker被
Delbert Yocam拔擢成Borland Marketing的副总裁开始说起。

1996年11月,Borland邀请了Del Yocam入主Borland成为新的CEO,希望通过Delbert
Yocam在管理方面丰富的经验改善Borland长久以来在公司管理方面的积弱不振。
Delbert Yocam原本是Apple计算机公司的副总裁,应该是拥有丰富的管理经验,不过
不知道Delbert是不是在大型计算机公司呆惯了,因此花钱花得特别凶。Delbert在一
进入Borland之后立刻花了大钱更换总裁办公室里所有的家俱和装潢,其后到各地出差
时又要求头等舱以及总统套房,花钱像流水一样。当时我便对这位新的CEO没有什么好
印象。

Delbert在进入Borland之后一直想改造Borland。在Delphi 3大获成功之后,Delbert
便把重点集中在Delphi的身上。Delbert认为Delphi非常成功,是Borland的摇钱树,
因此一直想从这个产品线获得更多的收入。好大喜功的Delbert觉得Delphi的根基已
经很稳固,因此可以更快速地从Delphi身上取得资源。这让Delbert在1998年下了一
个严重的错误决策,几乎折损了Delphi的大好基业。

Borland和Microsoft的法律大战

在Microsoft不断地挖角,甚至把Anders也挖走之后,Borland已经到了"士可忍,孰
不可忍"的地步。Microsoft挖角的动作愈来愈像是恶意挖角,似乎是想把Borland搞
垮。Borland无法忍受的是Microsoft不但在操作系统和开发工具上进行不公平的竞争,
现在甚至进行人事上的不公平竞争。Microsoft不思在产品上和Borland一决雌雄,反
而进行挖墙角的破坏,Borland实在是忍无可忍了。

1997年5月,Delbert Yocam终于向美国法院提出了对于Microsoft的控告。当时Borland
提出的控诉理由是"Microsoft对于Borland进行Brain Drain"的行动。Microsoft在30
个月内从Borland挖角了34名Borland关键的开发者,而且每一名被挖角的人到了
Microsoft之后都担任和在Borland类似的角色,这摆明了就是要利用这些人在Borland
的知识快速地帮助Microsoft提升和Borland的差距,并且了解Borland内部的产品和技
术的开发状况。这种不公平的竞争应该是没有任何一家公司能够容忍的。

在Borland正式提出了诉讼之后,具备侵略性企业文化的Microsoft当然就立刻反击,
和Borland对簿公堂。Borland和Microsoft从开发工具战场一直斗争到法律战场,互
不相让的情形让许多看客大呼过瘾。Borland对于Microsoft来说似乎就是打不倒的勇
者,不管情势再艰辛,仍然能对抗到底,因为Borland知道,对于Microsoft一旦让步,
以后就永远没有机会了。当时,业界许多人都已经预测Borland迟早会采

上一页  [1] [2] [3] [4] [5]  下一页

打印本文 打印本文 关闭窗口 关闭窗口