Delphi与C#之父:技术理想架构开发传奇(1)

查看: 1506|回复: 5
威望1604 在线时间490 小时推广积分45 金币645 信誉值0 最后登录注册时间帖子精华1积分941阅读权限48UID42485
金币645 积分941帖子
Anders Hejlsberg(安德斯-海森博格) 坐在自己的办公室,双眼直直的盯着前方。他要做一个决定,决定自己未来的命运和理想。这是1996年一个普通的下午,几个小时前,他刚与比尔-盖茨结束了一次愉快的午餐,同为软件界的精英,他们相谈甚欢,盖茨给他开出三百万以上的年薪和数万股的微软股票。这是一个诱人的条件,但更重要的是,盖茨许诺他可以有充分的时间和资源投身自己感兴趣的技术方向。
Anders在犹豫,他是否真的要离开已经工作了十三年的Borland。从Turbo Pascal、SideKick再到Delphi,Borland是Anders辉煌的起点,他在这里成为人们敬仰的软件大师,并一手铸就了 Borland传奇;在Borland,Anders有太多美好的回忆和未完成的理想。
然而,随着1994年Philippe Kahn(Borland公司创始人)的离去,Anders渐渐失去了最强有力的支援;Borland的新任CEO Delbert Yocam希望加强Delphi在IDE市场的王者地位,因为Delphi才是Borland最主要的财务来源;但Anders已经看到Java和虚拟机语言的潜力,与其在已有的产品上徘徊不前,他更想专注于新产品Borland Java(后来的JBuilder)的研发;Borland的管理层的技术短视和Anders的技术追求显得如此格格不入;Anders回忆那段经历时曾说“那时,我感觉自己并不是不可缺少的人”。
风靡一时的Turbo Pascal
Borland的内部矛盾很快引起了微软的注意,Anders在开发界的名头和对技术的理解使微软急不可耐,甚至对Borland使用了最直接的攻击。微软人力部门派遣加长型的大轿车到Borland大门口找Anders吃饭,并开出了年薪百万美元以上的条件;在苦等无应、按捺不住之下,很快就再次联系Anders,这次给出的条件是两百万美元,但依然没能打动Anders。微软开始思索金钱以外的东西。第三次,比尔-盖茨亲自出马,除了开出三百万的价码,还给Anders完成技术理想的许诺。
经过短暂的犹豫,Anders完成了自己的决定,这个决定足以像Turbo Pascal和Delphi那样再次振动整个开发界;因为这个决定,促成了VJ++、C#和微软.NET战略的诞生。
Visual J++
1996年,Anders正式加盟微软,成为Visual J++和WFC(Windows基础类库)的架构师。他的第一个项目与其在Borland的技术理想相当接近,在微软知名的Visual Studio平台上打造一个基于虚拟机的语言和像Delphi一样彻底解放程序员生产力的IDE。这就是J++语言和VJ++开发工具。我们知道,编程语言和IDE的开发相当考验一个架构师的功力,作为用汇编打造Turbo Pascal和亲手开发Delphi的软件大师(自Anders离开Borland后,Delphi的底层架构在三年内一直无人可以修改),Anders 不负众望,微软很快在新版Visual Studio 6.0版本中引入了J++;微软平台的程序员找到了击败Java阵营的工具。
在相当一段时间里,J++成为微软抗衡Java的最有力武器;同时,由于Anders对Java的一些想法,改进后的J++甚至吸引了一大批 Java程序员。后来由于微软在Java开发工具授权问题上和Sun公司的纠纷以及Borland公司对微软大张旗鼓的挖角的报复,迫使微软停止了 Visual J++的后续开发。在Borland对微软和Anders个人的起诉书上写有这样一句话:“Anders正在帮助微软开发Delphi for Java”。
作为Anders在微软的第一个产品,J++曾一度取得成功;但最后的纠纷使Anders意识到,商业环境的变化已经无法再像当年做 Pascal那样随意,想要完成自己的梦想,必须帮助微软打造自己的技术平台和编程语言,而这门语言不是C++,因为他不想受C++标准委员会的限制;这门语言也不是Java,因为他看到Java不完美的地方和商业纷争;Anders要的,是运行在独立平台上的一门完美语言 。
VJ++之后,Anders作为.NET概念的发起人之一,被任命为微软.NET的首席架构师主持开发工作。众所周知,.NET框架最初是个模糊的概念,即使是推出.NET战略一年之后,开发者依然无法看清.NET的技术愿景。其实,Anders也在不断的思考,从Turbo Pascal到Delphi再到现在的.NET,所有这一切都是致力于对开发者生产力的解放;但在微软,他要做的是平衡技术理想和商业价值的关系;还好,比尔盖茨履行了他当年的诺言,Anders可以按照他的想法打造.NET;程序员出身的盖茨相信,好的技术必然会带来好的商业价值。
在经过不断的反思和讨论之后,Anders确定了.NET未来的走向:一个致力于敏捷软件开发、快速应用开发、平台无关性和网络透明化的软件开发平台。.NET将是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。它应该包含许多有助于互联网和内部网应用迅捷开发的技术。
这就是我们现在所看到的.NET,更重要的是,为了实现这一平台,Anders需要一门新的编程语言,它既要像Java一样通过虚拟机实现平台的跨越,还要避免一些开发者普遍抱怨的Java语言存在的缺点;同时,这门语言的革新将使得程序员可以同时进行Windows应用软件和网络应用软件以及组件和服务的开发。这门语言就是C#。
Anders曾笑称自己“把上世纪末和本世纪初的全部献给了C#”。作为C#的架构师,Anders对其倾注了自己的全部精力。2003年,在 Channle 9的一次访谈中,《Java编程思想》的作者Bruce Eckel向Anders证实一段传闻:“我听说C#是一个工程师小组在一个屋子里设计出来的? ”,Anders苦笑作答:“是的。4年来,我们一直呆在这个屋子里。现在,每周一、三、五,我们仍然在这里会面。”
我们可以想象Anders为使C#只允许单一继承,同时保证一个类可以实现多个接口功能的苦苦思索;也可以想象他为C#支持完整反射的反复论证;这一切都是为了他的技术理想,而这个理想自大学时代开发Turbo Pascal时就未曾变过。
现在,我们已经看到了.NET和C#的成功,这不仅体现在每期的编程语言排行榜上,在Windows平台和众多.NET开发的网站上,.NET和C#现在已经无处不在。在Delphi的辉煌过后,Anders正在用自己的理想续写新的技术传奇。
附件: 你需要才可以下载或查看附件。没有帐号?
气若幽兰情欲动,香腮小鼓染花红。
威望1604 在线时间490 小时推广积分45 金币645 信誉值0 最后登录注册时间帖子精华1积分941阅读权限48UID42485
金币645 积分941帖子
c#之父是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和M1crosoft第一次真正的交手。也正是由于这次的相争,让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开发工具大军的核心人物,不但广为人知
,成为许多软件人员效法的对象,而且屡获大奖。他不但获得了信息软件业界的推崇,最后也终于获得了信息学术界的认可,可说是实至名归。
气若幽兰情欲动,香腮小鼓染花红。
威望5806 在线时间386 小时推广积分490 金币7399 信誉值0 最后登录注册时间帖子精华0积分4383阅读权限32UID147974
金币7399 积分4383帖子
看历史,学语言C#。。
忍①埘颩呯蒗靜,煺①埗海闊迗悾
威望52 在线时间0 小时推广积分0 金币2 信誉值0 最后登录注册时间帖子精华0积分26阅读权限1UID165417
悬铁剑, 积分 26, 距离下一级还需 24 积分
金币2 积分26帖子
新人&&来支持下。。。。
威望78 在线时间3 小时推广积分0 金币21 信誉值0 最后登录注册时间帖子精华0积分43阅读权限1UID156685
悬铁剑, 积分 43, 距离下一级还需 7 积分
金币21 积分43帖子
威望50 在线时间1 小时推广积分0 金币10 信誉值0 最后登录注册时间帖子精华0积分27阅读权限0UID167210
头像被屏蔽
金币10 积分27帖子
提示: 作者被禁止或删除 内容自动屏蔽
技术组组长勋章
论坛元老勋章
技术组成员勋章
高级贡献勋章
管理团队勋章
优秀会员勋章
黑客新兵勋章
( 粤ICP备号 )&&&&
Powered by Discuz! X2
Comsenz Inc.你的位置:
Delphi与C#之父:安德斯-海森博格 技术理想架构开发传奇
Anders Hejlsberg(安德斯-海森博格) 坐在自己的办公室,双眼直直的盯着前方。他要做一个决定,决定自己未来的命运和理想。这是1996年一个普通的下午,几个小时前,他刚与比尔-盖茨结束了一次愉快的午餐,同为软件界的精英,他们相谈甚欢,盖茨给他开出三百万以上的年薪和数万股的微软股票。这是一个诱人的条件,但更重要的是,盖茨许诺他可以有充分的时间和资源投身自己感兴趣的技术方向。
Anders在犹豫,他是否真的要离开已经工作了十三年的Borland。从Turbo Pascal、SideKick再到Delphi,Borland是Anders辉煌的起点,他在这里成为人们敬仰的软件大师,并一手铸就了 Borland传奇;在Borland,Anders有太多美好的回忆和未完成的理想。
然而,随着1994年Philippe Kahn(Borland公司创始人)的离去,Anders渐渐失去了最强有力的支援;Borland的新任CEO Delbert Yocam希望加强Delphi在IDE市场的王者地位,因为Delphi才是Borland最主要的财务来源;但Anders已经看到Java和虚拟机语言的潜力,与其在已有的产品上徘徊不前,他更想专注于新产品Borland Java(后来的JBuilder)的研发;Borland的管理层的技术短视和Anders的技术追求显得如此格格不入;Anders回忆那段经历时曾说“那时,我感觉自己并不是不可缺少的人”。
风靡一时的Turbo Pascal
Borland的内部矛盾很快引起了微软的注意,Anders在开发界的名头和对技术的理解使微软急不可耐,甚至对Borland使用了最直接的攻击。微软人力部门派遣加长型的大轿车到Borland大门口找Anders吃饭,并开出了年薪百万美元以上的条件;在苦等无应、按捺不住之下,很快就再次联系Anders,这次给出的条件是两百万美元,但依然没能打动Anders。微软开始思索金钱以外的东西。第三次,比尔-盖茨亲自出马,除了开出三百万的价码,还给Anders完成技术理想的许诺。
经过短暂的犹豫,Anders完成了自己的决定,这个决定足以像Turbo Pascal和Delphi那样再次振动整个开发界;因为这个决定,促成了VJ++、C#和微软.NET战略的诞生。
Visual J++
1996年,Anders正式加盟微软,成为Visual J++和WFC(Windows基础类库)的架构师。他的第一个项目与其在Borland的技术理想相当接近,在微软知名的Visual Studio平台上打造一个基于虚拟机的语言和像Delphi一样彻底解放程序员生产力的IDE。这就是J++语言和VJ++开发工具。我们知道,编程语言和IDE的开发相当考验一个架构师的功力,作为用汇编打造Turbo Pascal和亲手开发Delphi的软件大师(自Anders离开Borland后,Delphi的底层架构在三年内一直无人可以修改),Anders 不负众望,微软很快在新版Visual Studio 6.0版本中引入了J++;微软平台的程序员找到了击败Java阵营的工具。
在相当一段时间里,J++成为微软抗衡Java的最有力武器;同时,由于Anders对Java的一些想法,改进后的J++甚至吸引了一大批 Java程序员。后来由于微软在Java开发工具授权问题上和Sun公司的纠纷以及Borland公司对微软大张旗鼓的挖角的报复,迫使微软停止了 Visual J++的后续开发。在Borland对微软和Anders个人的起诉书上写有这样一句话:“Anders正在帮助微软开发Delphi for Java”。
作为Anders在微软的第一个产品,J++曾一度取得成功;但最后的纠纷使Anders意识到,商业环境的变化已经无法再像当年做 Pascal那样随意,想要完成自己的梦想,必须帮助微软打造自己的技术平台和编程语言,而这门语言不是C++,因为他不想受C++标准委员会的限制;这门语言也不是Java,因为他看到Java不完美的地方和商业纷争;Anders要的,是运行在独立平台上的一门完美语言 。
VJ++之后,Anders作为.NET概念的发起人之一,被任命为微软.NET的首席架构师主持开发工作。众所周知,.NET框架最初是个模糊的概念,即使是推出.NET战略一年之后,开发者依然无法看清.NET的技术愿景。其实,Anders也在不断的思考,从Turbo Pascal到Delphi再到现在的.NET,所有这一切都是致力于对开发者生产力的解放;但在微软,他要做的是平衡技术理想和商业价值的关系;还好,比尔盖茨履行了他当年的诺言,Anders可以按照他的想法打造.NET;程序员出身的盖茨相信,好的技术必然会带来好的商业价值。
在经过不断的反思和讨论之后,Anders确定了.NET未来的走向:一个致力于敏捷软件开发、快速应用开发、平台无关性和网络透明化的软件开发平台。.NET将是微软为下一个十年对服务器和桌面型软件工程迈出的第一步。它应该包含许多有助于互联网和内部网应用迅捷开发的技术。
这就是我们现在所看到的.NET,更重要的是,为了实现这一平台,Anders需要一门新的编程语言,它既要像Java一样通过虚拟机实现平台的跨越,还要避免一些开发者普遍抱怨的Java语言存在的缺点;同时,这门语言的革新将使得程序员可以同时进行Windows应用软件和网络应用软件以及组件和服务的开发。这门语言就是C#。
Anders曾笑称自己“把上世纪末和本世纪初的全部献给了C#”。作为C#的架构师,Anders对其倾注了自己的全部精力。2003年,在 Channle 9的一次访谈中,《Java编程思想》的作者Bruce Eckel向Anders证实一段传闻:“我听说C#是一个工程师小组在一个屋子里设计出来的? ”,Anders苦笑作答:“是的。4年来,我们一直呆在这个屋子里。现在,每周一、三、五,我们仍然在这里会面。”
我们可以想象Anders为使C#只允许单一继承,同时保证一个类可以实现多个接口功能的苦苦思索;也可以想象他为C#支持完整反射的反复论证;这一切都是为了他的技术理想,而这个理想自大学时代开发Turbo Pascal时就未曾变过。
现在,我们已经看到了.NET和C#的成功,这不仅体现在每期的编程语言排行榜上,在Windows平台和众多.NET开发的网站上,.NET和C#现在已经无处不在。在Delphi的辉煌过后,Anders正在用自己的理想续写新的技术传奇。
c#之父是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和M1crosoft第一次真正的交手。也正是由于这次的相争,让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开发工具大军的核心人物,不但广为人知
,成为许多软件人员效法的对象,而且屡获大奖。他不但获得了信息软件业界的推崇,最后也终于获得了信息学术界的认可,可说是实至名归。
看历史,学语言C#。。
新人&&来支持下。。。。

我要回帖

更多关于 cs1.6 的文章

 

随机推荐