安德斯·海爾斯伯格

安德斯·海爾斯伯格

安德斯·海爾斯伯格(Anders Hejlsberg),1960年12月出生於丹麥哥本哈根,曾在丹麥科技大學學習工程學,計算機科學家。Turbo Pascal編譯器的主要作者,Delphi、C#和TypeScript之父,.NET(dotnet)創立者。

安德斯·海爾斯伯格為MS-DOS和CP/M設計了Pascal編譯器,Borland買下該編譯器改稱Turbo Pascal,之後安德斯·海爾斯伯格開發Turbo Pascal並帶領小組設計了Turbo Pascal的替代品Delphi。

生平


Anders Hejlsberg
Anders Hejlsberg
安德斯·海爾斯伯格曾在丹麥技術大學學習工程,但沒有畢業,大學時期他曾替 Nascom microcomputer撰寫程式,他曾為Nascom-2電腦撰寫藍標籤(Blue Label) Pascal compiler,到了DOS時代他又重新改寫這套compiler。當時他在丹麥擁有個叫Poly Data的公司,他編寫了Compass Pascal編譯器核心,後來叫Poly Pascal。1986年他首次認識了Philippe Kahn。

公司


安德斯·海爾斯伯格把Compass Pascal編譯器核心授權給了美國Borland公司,並作為僱員加入Borland公司,並且是後來所有Turbo Pascal版本與Delphi前3個版本的架構師。Philippe Kahn為第一個版本的Turbo Pascal添加了用戶界面與編輯器。

微軟公司


1996年Hejlsberg加入微軟公司。據說,比爾·蓋茨親自參與了這次挖角行動,年薪三百萬美金,並許諾安德斯·海爾斯伯格在微軟將得到技術上的足夠自由和資源支持。據說該事件也是微軟公司和Borland公司後續官司的導火索。
進入微軟公司后,首先主持了Visual J++的開發工作,這之後,作為.Net概念的發起人之一,安德斯·海爾斯伯格被任命為微軟.Net的首席架構師,主持.Net的開發工作。

人物生平


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人獲得這樣的榮譽。
後來微軟希望通過開發最新的軟體開發語言來贏得軟體開發者的擁戴,在微軟公司把視窗操作系統和軟體向網路遷移的新市場戰略中,C#語言是最重要的環節。微軟動用了最好的資源。Anders擔任了C#語言的首席設計師,同時也是微軟.NET戰略構架的重要參與決策者。考慮一下Anders的經歷,就不會奇怪微軟將此重任交給他了。畢竟C#也不是他對軟體開發方式重大變革的首次。現在經過幾年時間的埋頭苦幹,C#已成為微軟反擊Java語言的最有力武器。

業績成就


鑒於他為軟體開發做出的巨大貢獻,Anders在《Dr.Dobb's》雜誌的2001年西部會議上被授予“Prestigious Excellence in Programming Award”,《Dr.Dobb's》雜誌的主編Jonathan Erickson說:“這一榮譽,我們每年只頒給那些在軟體開發領域做出非凡貢獻的人員,Anders開發的C#和他整個職業生涯中為軟體開發所做出的巨大貢獻有目共睹,他無愧於這一榮譽!”

社會評價


比爾蓋茨也高度評價說:“我們為Anders獲得這一榮譽感到無比自豪,Anders在C#創建中所做的努力將會改變現在的軟體開發方式,並將在以後的十年繼續產生影響。”
“程序員是最好的職業”,Anders說:“每兩年,CPU的速度要加倍,內存容量是原來的四倍,但是我們的大腦還是原來的大小,很顯然,將需要更多的程序員來補充這些。”
______
註:海爾斯伯格曾在微軟博物館視頻上表明他是1960年生的,但很多其它資料顯示,他是1961年生的。2006年,在巴塞羅那微軟技術教育大會(TechED)上,安德斯再次確認他生於1960年。

成功路程


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和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開發工具大軍的核心人物,不但廣為人知,成為許多軟體人員效法的對象,而且屢獲大獎。他不但獲得了信息軟體業界的推崇,最後也終於獲得了信息學術界的認可,可說是實至名歸。

成就


抗衡Java的第一次嘗試
進入微軟公司后,首先主持了Visual J++的開發工作。深厚的編譯器開發內功,使得Visual J++產生很大反響,僅僅運行速度遠遠高於Java這一點,就使得不少人關注Visual J++,並且有不少軟體開始由Java轉向Visual J++開發。後來由於在Java開發工具授權問題上和Sun公司的糾紛,微軟停止了Visual J++的後續開發。
抗衡Java的第二次嘗試
由於微軟亟待一種抗衡Java的工具,根據比爾蓋茨的構想,微軟開始實施.NET計劃。不可否認,安德斯·海爾斯伯格的到來,使得.NET計劃能儘快實施。
自2002年.net framework發布以來,獲得很大成功。2011年12月份Tiobe排行榜上,C#以8.205%的份額緊逼C++的8.252%份額,有可能替代C++的第三的統治地位。C#的巨大成功是安德斯·海爾斯伯格在編譯器領域的領袖地位的又一次體現。