逃離美國,跨越8000公里遠程辦公,國外工程師開發了世界上最強的虛擬機

天空之城 2022/12/25 檢舉 我要評論

「從前」有一門編程語言叫Smalltalk,它是世界上第一個純粹的面向對象編程語言。

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

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

但是Smalltalk運行速度太慢(尤其是是計算密集型任務),比C語言慢很多,并且很吃內存。

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

1

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

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

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

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

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

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

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

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

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

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的要求。

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

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

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

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

早期的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..... 稱他為虛擬機之神,一點兒也不為過。

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

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

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

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

搶先看最新趣聞請贊下面專頁
用戶評論
你可能會喜歡