.NET之父 - Anders Hejlsberg-LMLPHP

简介

安德斯·海尔斯伯格(Anders Hejlsberg,1960.12~),丹麦人,Turbo Pascal编译器的主要作者,Delphi和.NET之父!

安德斯·海尔斯伯格曾在丹麦技术大学学习工程,但没有毕业,大学时期他曾替 Nascom microcomputer撰写程式,他曾为Nascom-2电脑撰写蓝标签(Blue Label) Pascal compiler,到了DOS时代他又重新改写这套compiler,当时他在丹麦拥有个叫Poly Data的公司,他编写了Compass Pascal编译器核心,后来叫Poly Pascal!

    1996年Hejlsberg加入微软公司。据说,比尔·盖茨亲自参与了这次挖角行动,年薪三百万美金,并许诺安德斯·海尔斯伯格在微软将得到技术上的足够自由和资源支持[1]。据说该事件也是微软公司和Borland公司后续官司的导火索。

进入微软公司后,首先主持了Visual J++的开发工作,后来由于在Java开发工具授权问题上和Sun公司的纠纷,微软停止了Visual J++的后续开发。

    这之后,作为.Net概念的发起人之一,安德斯·海尔斯伯格被任命为微软.Net的首席架构师,主持.Net的开发工作。

生平

Anders Hejlsberg, 一个丹麦天才。他和idsoft的John Carmack都是自学成才的典范。他对语言和汇编的理解全世界没几个人能超越。

当年Philippe Kahn(Borland的创始人)和Anders Hejlsberg到美国创业时,便由Anders以汇编语言撰写了Turbo Pascal的编译器,而Philippe则包办了Turbo Pascal其他的部分。在这两位仁兄开发Turbo Pascal之后,穷得快连登广告的钱都没有了。Philippe为了在Byte杂志(还记得这个著名的杂志吗?)刊登Turbo Pascal的广告,和Anders商量了一个方法,那就是直接约Byte杂志的人到当时Borland的办公室讨论刊登广告的事情。

当Byte的人到了Borland之后,Philippe、Anders和公司的助理小姐故意忙着接电话,接受Turbo Pascal的订单,并且告诉Byte杂志的人等一下。过了一阵之后Philippe才进入房间向Byte的人道歉,说他们的Turbo Pascal受到市场的热烈欢迎,订单源源不断地到来,因此可能不需要在Byte杂志刊登广告了,接着Philippe向Byte的人展示Turbo Pascal这个产品。由于在当时的机器中Turbo Pascal能够在极少的RAM中常驻执行,又提供闪电般的编译速度,这立刻让Byte杂志的人当场震惊。凭着专业知识和丰富的经验,Byte的人立刻知道这将是一个革命性的软件,因此马上希望Philippe能够在Byte杂志刊登Turbo Pascal的广告,并且愿意以半价刊登。当然,Philippe也立刻爽快地答应了,于是一个革命性的软件Turbo Pascal终于在Byte杂志刊登出来了。

当时售价49.99美元的Turbo Pascal立刻为Borland带来了大量的财富,Turbo Pascal也马上成为PC上除了基本的Basic之外最畅销的开发工具,由此正式揭开了Borland影响PC开发工具近20年的历史的幕。 Turbo Pascal是由Anders Hejlsberg亲自开发的,并且和Philippe Kahn谈好的条件是Borland每卖出一套Turbo Pascal,Anders便从中抽取一份版权费。由于当时软件的价格不算便宜,能够写编译器的人更是少之又少,所以编译器工程师通常都能够获得优厚的报酬。因此当时Anders Hejlsberg在完成了Turbo Pascal、并且和PhilippeKahn谈好了合作条件之后,Anders理所当然地认为一套Turbo Pascal会定价数百元美金,因为这不但是当时一般编译器的价格,而且Turbo Pascal还内含了一个开发环 境和编辑器(Editor),这是当时许多工具没有提供的。

没有想到极具商业头脑的Philippe Kahn了解到:如果把Turbo Pascal定价在数百美金,那么Turbo Pascal可能只会卖出数百到数千套,无法冲出大量的销售额。因此,Philippe Kahn以极大的勇气,瞒着Anders Hejlsberg只把Turbo Pascal定价为49.95美金。这种价格在当时对于编译器和开发工具来说简直是不可思议的低价。当Anders Hejlsberg知道了Philippe Kahn的定价后,简直快气昏了。因为在这么低的价格下Anders的版税金一定少得可怜,因此当时Anders说他把最好的Pascal开发工具拿去让一个白痴销售。没有想到的是,Philippe Kahn的定价策略获得了极大的成功。Turbo Pascal以极佳的品质和令人不可思议的低价格成为当时最具吸引力的Pascal开发工具。当然,在Turbo Pascal卖出了让人难以置信的成绩之后,Anders便再也不提他把专业Pascal编译器让白痴去卖这件事了。

虽然Turbo Pascal快速地让Borland在当时全世界的程序员中成为最响亮的软件新星,但是真正让Borland打入一般计算机使用人群、快速成长为软件巨人的大功臣的,却是Borland早期最重要的产品--SideKick。

在Turbo Pascal之后,Borland接着推出了SideKick这套软件。SideKick可以说是随后著名的内存常驻软件(Terminate and Stay Resident-TSR)的始祖,也是Borland跨出开发工具领域、让几乎所有PC使用者认识Borland的关键软件。SideKick在当时以许多丰富的小工具和记事功能让它成为每一个程序员爱不释手的工具。当然SideKick也很快成为了畅销软件,在全球狂卖数10万套,继续把Borland往顶尖的软件公司推进。 所谓的TSE代表Terminate and Stay Resident。这个意思是说,这类软件在执行后会隐藏在内存的某个位置中,但是并没有出现在屏幕上。不过使用者通过一个快捷键就可以立刻调出这类软件让使用者使用,在使用完毕之后又可以按一个快捷键再度隐藏它。这样的软件运行方式在当时是一项全新的创举。

以我的眼光来看,SideKick这个软件对于Borland来说是非常关键的作品,因为我将SideKick归类成"消费型软件"产品。所谓消费型软件,是指可以被所有计算机使用者使用的软件,而不是只给程序员或是开发者使用的软件。凡是现今比较会赚钱或是规模比较大的软件公司大都属于开发"消费型软件"的公司。例如Microsoft除了有和Borland竞争得你死我活的开发工具之外,最重要的是Microsoft拥有两大"消费型软件":Windows操作系统和Office。这两类软件才是Microsoft最赚钱的产品。Oracle是另外一个很好的例子,数据库几乎是现在任何应用都需要使用的软件。同样,SideKick就属于这一类型的软件,因为SideKick可以被所有的开发者使用来增加生产力,而不管开发者使用的是什么语言。因此当Borland推出SideKick之后,立刻在全世界狂卖,也成为继Turbo Pascal之后Borland最赚钱的产品。我认为在后来的数年之中Borland走得比较辛苦,便是因为Borland再也没有推出像SideKick一样属于"消费型软件"的重量级产品,而只有属于程序员和开发者小众市场的产品,这是非常可惜的事情。而"消费型软件"也是到现在我仍然认为Borland应该推出的产品。

由于SideKick的TSR技术是当时独一无二的,而且是如此的好用,这引起了当时许多人的好奇,并且成了所有软件厂商模仿的对象,我还记得稍后许多的计算机信息书籍都以如何学习TSR技术作为卖点。也是因为SideKick和TSR太成功了,因此Borland立刻进行了两个工作。第一当然是马上开发下一版的SideKick,让SideKick继续执类似软件的牛耳,以防止其他软件公司推出类似的软件来分食SideKick打下的天下。 在Borland通过Turbo Pascal和SideKick大获成功之后,也因TSR技术成为大多数开发者津津乐道的软件公司,许多软件公司都开始模仿Borland的TSR技术开发大量的TSR软件。不过当TSR技术大量被运作之后。最后却造成众多的TSR软件彼此冲突,无法正确地相互共存,这主要是因为许多TSR软件都使用了相同的快捷键来调出/关闭软件,或是隐藏在相同的内存位置。我还记得,当时同时使用几个TSR软件时,必须遵照一定的运行次序才可以正常使用。

为了解决这个扰人的问题,Borland开始广邀软件公司,想要以Borland为首制定TSR的标准。如此一来,只要所有的软件厂商遵照Borland制定的标准,那么所有的TSR软件就可以彼此正确地运行在PC之中。当Borland公布了这个想法并且发表了初步的TSR标准规格之后,却立刻引起了Microsoft的紧张。因为当时TSR是如此的流行,Microsoft害怕TSR技术由Borland主导之后会让Borland成为PC软件的霸主,进而严重影响Microsoft想主宰PC的计划。

因此在Borland开始正式制定TSR标准之际,Microsoft便站出来反对Borland定义的TSR标准,并且声明Microsoft将在未来的DOS操作系统中加入对于TSR的支持,因此没有必要再额外制定TSR标准。当时的软件公司,包括Borland在内,都无法和Microsoft对抗。在操作系统厂商表明了反对立场之后,Borland的这个构想很快便迫于形势而放弃了。关于TSR的争议应该算是Borland和Microsoft之间的第一场战争。虽然在没有引起太大的烽火之前便很快收场,不过也算是Borland和Microsoft第一次真正的交手。也正是由于这次的相争,让Microsoft惊讶于Borland快速的兴起,并开始正视Borland这家在当时还算小的软件公司。 虽然在有关TSR的技术之争中Microsoft赢得了胜利,不过很奇怪的是,此后TSR软件反而开始慢慢地退烧。除了一些少数的公用程序软件仍然使用TSR之外,之后便没有什么重量级的软件是使用TSR技术开发的,这算不算是另一桩Microsoft介入之后搞砸的技术呢?

最后再叙述一个从Borland老员工处听来的有趣故事。许多人一直想要知道:Borland的总部在哪里?或是想要知道:为什么Borland会选择Scott Valley作为总部?事情的经过是这样的: 当年Philippe Kahn和Anders Hejlsberg到美国准备开始创业时,由于没有资金,Philippe Kahn就在西餐厅打工,负责端盘子的工作,而Anders Hejlsberg则努力的在开发Turbo Pascal。

当Philippe Kahn存了一笔小钱之后,两个人便开始了创业大计。首先他们必须找到一个公司的总部,可是要在哪里实现Philippe Kahn和Anders Hejlsberg心中的理想呢?虽然当时他们住在L.A.附近,但是光凭Philippe Kahn存的一点小钱是绝不够在L.A.大展宏图的,因此Philippe Kahn和Anders Hejlsberg决定到比较偏远的地方试试。于是这两位仁兄便开着Philippe Kahn的破车往南出发了。听说当Philippe Kahn把车开到Scott Valley附近时刚好没有汽油了,眼看四周的环境觉得还不错,就决定在这个地方展开Philippe Kahn和Anders Hejlsberg的创业之梦。就是这个决定让原本默默无闻的Scott Valley在数年之后竟成为一个家喻户晓的高科技盛地。 Anders在不介入Delphi的开发、并且无法主导Borland Java开发工具开发的情况下充满了挫折感。没有了Philippe Kahn的强力支援,Anders虽然是Borland最顶尖的技术人才,却也无法对抗Borland管理阶层的控制。当然这也与从Philippe Kahn离开之后、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创立的初期,由于TurboPascal的编译器都是Anders撰写的,当时也是卖一套Turbo Pascal就可以抽取一份版税。依照Turbo/Borland Pascal全世界销售数百万套来算,Anders早就是富翁了。薪水多一点,少一点并不是他考虑的最主要因素,他心中想的是自由发展的空间。在Borland提出了Delphi的随版抽税,再加上Microsoft并不知道Anders真正想要的东西,因此Anders仍然没有响应Microsoft的第二次。不过,Anders实在是太重要的人物,而且Microsoft在面对Java与日俱增的威胁之 下,非常渴望能够有像Anders这样的人才带领开发下一代的开发工具,这当然也是由于Microsoft以前向Borland挖来的人都做出了不小的贡献所致。Microsoft食髓知味,当然希望能够得到Borland的镇山之宝。在Anders两次不为所动之后,Microsoft决定祭出最后的王牌,由Bill Gates亲自邀约Anders聚餐,进行最后的挖角冲刺。

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

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

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

轶事

安德斯·海尔斯伯格(Anders Hejlsberg)曾在丹麦科技大学学习工程学。他第一次登上软件界历史舞台是在80年代早期,因为他为MS-DOS和CP/M设计了一个Pascal编译器。当时,还是一个小公司的Borland很快雇用了他,并买下了他的编译器,改称Turbo Pascal。在Borland,Hejlsberg继续开发Turbo Pascal,并最终带领他的小组设计了Turbo Pascal的替代品、开发工具史上的奇迹:Delphi。

1996年,Anders Hejlsberg在Delphi 3发布前离开Borland去了微软(Microsoft)。

在此之前,微软曾多次企图挖走Anders,但都没有成功。据信Anders去微软(主要)不是钱的问题,虽然微软的开价也相当有吸引力: 130万美元年薪外加股票期权和分红,总计超过300万美元。更主要的原因是Anders和Delphi开发组的其他成员在修改编译器的问题上发生了争执;还有,据Borland内部人讲,Anders认为自己不再是“不可缺少的人”。

Anders在Delphi 3中几乎没有做什么工作,Chuck Jazdzewski扮演了一个更重要的角色。(Anders Ohlsson) Anders在Borland时把所有精力都放在了Pascal产品上,也需要新的挑战,这时Bill Gates的亲自邀请,许诺给与挑战的机会,Anders加入了微软就势在必行。

微软用丰厚的薪水、股票认购权和巨额的加盟奖金雇请了 Hejlsberg 之后,Borland 曾提出通过不正当手段吸收新成员的控告。Borland 还曾声称 — 提供了很少的细节来支持指控 — Hejlsberg 正在开发“Delphi for Java”。这场诉讼虽然最终以 Borland 的胜利而收场;但Anders 已经在为微软工作了。

1996年Anders来到微软后,直接主抓Visual J++的研发工作,并在1999年被授予“distinguished engineer”(卓越工程师),在微软仅有16人获得这样的荣誉。

后来微软希望通过开发最新的软件开发语言来赢得软件开发者的拥戴,在微软公司把windows操作系统和软件向网络迁移的新市场战略中,C#语言是最重要的环节。微软动用了最好的资源。Anders担任了C#语言的首席设计师,同时也是微软.NET战略构架的重要参与决策者。考虑一下Anders的经历,就不会奇怪微软将此重任交给他了。毕竟C#也不是他对软件开发方式重大变革的首次。现在经过几年时间的埋头苦干,C#已成为微软反击Java的最有力武器。

borland

有关borland的更多信息,详见:borland传奇

05-01 22:31