逃離美國,跨越8000公里遠端辦公,他開發了世界上最強的虛擬機器

碼農談IT發表於2022-12-19

“從前”有一門程式語言叫Smalltalk,它是世界上第一個純粹的物件導向程式語言。


Smalltalk有很多忠實擁躉,在Java崛起之前,它獨自可以抗衡C++。


著名的《設計模式》一書,其中的程式碼示例就是C++和Smalltalk。


逃離美國,跨越8000公里遠端辦公,他開發了世界上最強的虛擬機器


但是Smalltalk執行速度太慢(尤其是是計算密集型任務),比C語言慢很多,並且很吃記憶體。


Smalltalk還是動態語言,對於a+b這樣的操作,不到執行時,不知道是整數還是字串。此外,動態型別雖然極端靈活,但對於大規模軟體開發來說,並不十分友好。



1



90年代中期,一個豪華的創業團隊秘密組建,開發了一個叫做Strongtalk的語言。


Strongtalk保留基本的 Smalltalk-80 語法和語義的同時,增加了型別系統,並且極大地提升了效能。


優雅的語法 + 強悍的效能,Strongtalk有可能一飛沖天


就在Strongtalk釋出之前,力推Java的Sun公司注意到了它,立刻將其收購,把它扼殺在了搖籃之中。 


這個團隊轉而去開發 Java虛擬機器,不久便推出了HotSpot,讓Java擺脫了執行速度慢的惡名。

逃離美國,跨越8000公里遠端辦公,他開發了世界上最強的虛擬機器


這個豪華團隊的人員包括:


Gilad Bracha:他是Java語言規範合著者,也是Java虛擬機器規範的主要貢獻者,他最早提出Gradual typing,可以給動態語言增加靜態型別,後來被PHP、Python、Typescript採用。 


Urs Hölzle:他提出的型別反饋技術讓虛擬機器有了巨大的效能提升,後來成為谷歌的第八位員工和第一位工程副總裁,塑造了谷歌的大部分開發流程和基礎設施,他領導了谷歌高效資料中心的設計,據說這些資料中心的耗電量不到傳統資料中心的一半。


Lars Bak :虛擬機器的巫師,也是我們今天的主人公。


逃離美國,跨越8000公里遠端辦公,他開發了世界上最強的虛擬機器



2



Lars Bak是個丹麥人,1988年在丹麥奧胡斯大學獲得計算機碩士,對設計和實現虛擬機器有濃厚興趣。


Lars Bak 1991年加入了Sun公司的Self語言小組,開發Self虛擬機器,Self語言雖然不流行,但是它開創的即時編譯技術卻極大地影響了後來的虛擬機器。 


1994年,Lars Bak加入豪華創業團隊,主刀開發Strongtalk,被Sun收購以後,他成為Sun Java 軟體部門HotSpot團隊的工程經理和技術主管,開發了高效能Java 虛擬機器。


2002年,在事業上正值巔峰的Lars Bak卻“逃離”了美國,回到了家鄉丹麥奧胡斯,原因很簡單:


1. 他想讓女兒上丹麥語學校


2. 他也想要一個更健康的生活方式---美國的開發工作太緊張了。


在奧胡斯經歷了一個玩票似的創業以後,Lars Bak徹底閒了下來,閒到了計劃花一年的時間去粉刷他的農場!


這時候遠在美國的Google正在密謀開發一個全新的瀏覽器Chrome,這個瀏覽器要支撐起Google的野心:在Web上執行復雜的應用程式,讓自己的網路服務觸及到全世界的每個角落


想在瀏覽器中執行復雜應用程式,高效能地執行JavaScript則是核心關鍵。


於是Google想到了虛擬機器大神Lars Bak,一個遠洋電話打過來,請他出山開發JavaScript引擎。 


Google的辦公環境可是遠近聞名,美食、遊樂場、健身房......應有盡有,但是Lars Bak根本不感冒,他要求在8000公里外,跨越9個時區遠端辦公,並且不當經理,自己幹。 


為了把天才招致麾下,Google答應了Lars Bak的要求。


逃離美國,跨越8000公里遠端辦公,他開發了世界上最強的虛擬機器


從此Lars Bak就開始了遠端辦公的生涯,在丹麥生活,為Google工作,工作和生活保持了完美的平衡。


隨著JS引擎專案的進展,不斷有人加入Lars Bak這個團隊,他家裡坐不下了,不得不把辦公室搬到奧胡斯的一個大學中。


所有人都騎著腳踏車上班,下午5點就下班,和Google總部主要透過電子郵件聯絡,偶爾開電話會議。


經過4年的開發,JavaScript引擎V8 和Chrome 瀏覽器一起問世,引發了巨大轟動。


逃離美國,跨越8000公里遠端辦公,他開發了世界上最強的虛擬機器

早期的V8直接把JavaScript程式碼編譯成CPU可以直接執行的機器碼, 在測試中,V8處理JavaScript的速度比最常見的IE瀏覽器要快56倍,從此JavaScript甩掉了只能在瀏覽器中執行簡單程式碼的惡名,變得可以執行大型程式了。


Lars Bak開發V8原本主要作為瀏覽器的JS引擎,讓人沒想到的是,Ryan Dahl創新性地利用V8引擎,發明了Node.js,讓JavaScript跳出了瀏覽器的束縛,開始向伺服器端和客戶端進軍,JavaScript突然間爆火。


隨後幾年,Lars Bak和團隊持續改善V8, 但是JavaScript已經被壓榨乾淨,JavaScript有著難以克服的缺陷,於是他們乾脆另起爐灶,推出了一門新的語言Dart。 


Dart野心很大,最初是開發Web程式,後來擴充套件到移動應用,伺服器端應用,客戶端應用,但是一門語言的成功依賴很多因素,尤其是生態系統,強如Lars Bak也不一定能保證Dart的成功,Dart未來如何,還得繼續觀察。



3



Lars Bak一輩子都在開發虛擬機器:Beta、 Self、 StrongTalk、 Java HotSpot、 V8 、 Dart VM.....  稱他為虛擬機器之神,一點兒也不為過。


逃離美國,跨越8000公里遠端辦公,他開發了世界上最強的虛擬機器


在虛擬機器方面,他發明了18項專利,其中有一個著名的專利就是“把函式的部分位元組碼編譯成機器碼來混合執行”,是他在Sun開發HotSpot時發明的, 在虛擬機器領域,這是個相當基礎的專利。


當Oracle買下Sun以後,就揮舞著這個專利大棒,對Google發起了訴訟。


Lars Bak為人極為低調,他開發了這麼多偉大的產品,但一直默默呆在奧胡斯,在丹麥,有另外一個Lars Bak更加知名,那是一位職業腳踏車選手。


但是很明顯,計算機界的Lars Bak才是對世界影響更為深遠的人。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024924/viewspace-2928565/,如需轉載,請註明出處,否則將追究法律責任。

相關文章