“從å‰â€æœ‰ä¸€é–€ç·¨ç¨‹èªžè¨€å«Smalltalk,它是世界上第一個純粹的é¢å‘?qÅ«)ο缶幊陶Z言。
Smalltalkæœ‰å¾ˆå¤šå¿ å¯¦(shÃ)æ“躉,在Java崛起之å‰ï¼Œå®ƒç¨(dú)自å¯ä»¥æŠ—è¡¡C++。
è‘—å的《è¨(shè)計(jì)模å¼ã€‹ä¸€æ›¸ï¼Œå…¶ä¸çš„代碼示例就是C++å’ŒSmalltalk。
但是Smalltalké‹(yùn)行速度太慢(尤其是是計(jì)算密集型任務(wù)),比C語言慢很多,并且很åƒå…§(nèi)å˜ã€‚
Smalltalk還是動態(tà i)語言,å°äºŽa+b這樣的æ“作,ä¸åˆ°é‹(yùn)行時(shÃ),ä¸çŸ¥é“是整數(shù)還是å—符串。æ¤å¤–,動態(tà i)é¡žåž‹é›–ç„¶æ¥µç«¯éˆæ´»ï¼Œä½†å°äºŽå¤§è¦(guÄ«)模軟件開發(fÄ)來說,并ä¸å分å‹å¥½ã€‚
1
90年代䏿œŸï¼Œä¸€å€‹è±ªè¯çš„創(chuà ng)æ¥(yè)團(tuán)隊(duì)秘密組建,開發(fÄ)了一個å«åšStrongtalk的語言。
Strongtalkä¿ç•™åŸºæœ¬çš„ Smalltalk-80 èªžæ³•å’Œèªžç¾©çš„åŒæ™‚(shÃ)ï¼Œå¢žåŠ äº†é¡žåž‹ç³»çµ±(tÇ’ng),并且極大地æå‡äº†æ€§èƒ½ã€‚
優(yÅu)雅的語法 + å¼·(qiáng)æ‚的性能,Strongtalk有å¯èƒ½ä¸€é£›æ²–天。
就在Strongtalk發(fÄ)布之å‰ï¼ŒåŠ›æŽ¨Javaçš„Sun公叿³¨æ„到了它,立刻將其收購,把它扼殺在了æ–籃之ä¸ã€‚
這個團(tuán)隊(duì)轉(zhuÇŽn)而去開發(fÄ) Java虛擬機(jÄ«),ä¸ä¹…便推出了HotSpot,讓Java擺脫了é‹(yùn)行速度慢的惡å。
這個豪è¯åœ˜(tuán)隊(duì)的人員包括:
Gilad Bracha:他是Java語言è¦(guÄ«)范åˆè‘—者,也是Java虛擬機(jÄ«)è¦(guÄ«)范的主è¦è²¢ç»(xià n)者,他最早æå‡ºGradual typing,å¯ä»¥çµ¦å‹•æ…‹(tà i)èªžè¨€å¢žåŠ éœæ…‹(tà i)類型,åŽä¾†è¢«PHPã€Pythonã€Typescript采用。
Urs H?lzle:他æå‡ºçš„類型å饋技術(shù)讓虛擬機(jÄ«)有了巨大的性能æå‡ï¼ŒåŽä¾†æˆç‚ºè°·æŒçš„第八ä½å“¡å·¥å’Œç¬¬ä¸€ä½å·¥ç¨‹å‰¯ç¸½è£ï¼Œå¡‘é€ äº†è°·æŒçš„大部分開發(fÄ)æµç¨‹å’ŒåŸºç¤Ž(chÇ”)è¨(shè)æ–½ï¼Œä»–é ˜(lÇng)å°Ž(dÇŽo)了谷æŒé«˜æ•ˆæ•¸(shù)據(jù)ä¸å¿ƒçš„è¨(shè)計(jì),據(jù)說這些數(shù)據(jù)ä¸å¿ƒçš„耗電é‡ä¸åˆ°å‚³çµ±(tÇ’ng)數(shù)據(jù)ä¸å¿ƒçš„一åŠã€‚
Lars Bak :虛擬機(jī)的巫師,也是我們今天的主人公。
2
Lars Bak是個丹麥人,1988年在丹麥奧胡斯大å¸(xué)ç²å¾—計(jì)算機(jÄ«)碩士,å°è¨(shè)計(jì)和實(shÃ)ç¾(xià n)虛擬機(jÄ«)有濃厚興趣。
Lars Bak 1991å¹´åŠ å…¥äº†Sunå…¬å¸çš„Self語言å°çµ„,開發(fÄ)Self虛擬機(jÄ«),Selfèªžè¨€é›–ç„¶ä¸æµè¡Œï¼Œä½†æ˜¯å®ƒé–‹å‰µ(chuà ng)çš„å³æ™‚(shÃ)ç·¨è¯æŠ€è¡“(shù)廿¥µå¤§åœ°å½±éŸ¿äº†åŽä¾†çš„虛擬機(jÄ«)。
1994年,Lars BakåŠ å…¥è±ªè¯å‰µ(chuà ng)æ¥(yè)團(tuán)隊(duì),主刀開發(fÄ)Strongtalk,被Sun收購以åŽï¼Œä»–æˆç‚ºSun Java 軟件部門HotSpot團(tuán)隊(duì)的工程經(jÄ«ng)ç†å’ŒæŠ€è¡“(shù)主管,開發(fÄ)了高性能Java 虛擬機(jÄ«)。
2002年,在事æ¥(yè)上æ£å€¼å·”å³°çš„Lars Bakå»â€œé€ƒé›¢â€äº†ç¾Žåœ‹ï¼Œå›žåˆ°äº†å®¶é„‰(xiÄng)ä¸¹éº¥å¥§èƒ¡æ–¯ï¼ŒåŽŸå› å¾ˆç°¡å–®ï¼š
1. 他想讓女兒上丹麥語å¸(xué)æ ¡
2. 他也想è¦ä¸€å€‹æ›´å¥åº·çš„生活方å¼---美國的開發(fÄ)工作太緊張了。
在奧胡斯經(jÄ«ng)æ·äº†ä¸€å€‹çŽ©ç¥¨ä¼¼çš„å‰µ(chuà ng)æ¥(yè)以åŽï¼ŒLars Bak徹底閑了下來,閑到了計(jì)劃花一年的時(shÃ)間去粉刷他的農(nóng)å ´ï¼
這時(shÃ)候é (yuÇŽn)在美國的Googleæ£åœ¨å¯†è¬€é–‹ç™¼(fÄ)一個全新的ç€è¦½å™¨Chrome,這個ç€è¦½å™¨è¦æ”¯æ’èµ·Google的野心:在Web上é‹(yùn)行復(fù)雜的應(yÄ«ng)用程åºï¼Œè®“自己的網(wÇŽng)絡(luò)æœå‹™(wù)觸åŠåˆ°å…¨ä¸–界的æ¯å€‹è§’è½ã€‚
想在ç€è¦½å™¨ä¸é‹(yùn)行復(fù)雜應(yÄ«ng)用程åºï¼Œé«˜æ€§èƒ½åœ°åŸ·(zhÃ)行JavaScriptå‰‡æ˜¯æ ¸å¿ƒé—œ(guÄn)éµã€‚
于是Google想到了虛擬機(jÄ«)大神Lars Bak,一個é (yuÇŽn)洋電話打éŽä¾†ï¼Œè«‹ä»–出山開發(fÄ)JavaScript引擎。
Google的辦公環(huán)å¢ƒå¯æ˜¯é (yuÇŽn)è¿‘èžåï¼Œç¾Žé£Ÿã€æ¸¸æ¨‚å ´ã€å¥èº«æˆ¿......應(yÄ«ng)有盡有,但是Lars Bakæ ¹æœ¬ä¸æ„Ÿå†’ï¼Œä»–è¦æ±‚在8000公里外,跨越9個時(shÃ)å€(qÅ«)é (yuÇŽn)程辦公,并且ä¸ç•¶(dÄng)ç¶“(jÄ«ng)ç†ï¼Œè‡ªå·±å¹²ã€‚
ç‚ºäº†æŠŠå¤©æ‰æ‹›è‡´éº¾ä¸‹ï¼ŒGoogleç”æ‡‰(yÄ«ng)了Lars Bakçš„è¦æ±‚。
從æ¤Lars Bak就開始了é (yuÇŽn)程辦公的生涯,在丹麥生活,為Googleå·¥ä½œï¼Œå·¥ä½œå’Œç”Ÿæ´»ä¿æŒäº†å®Œç¾Žçš„平衡。
隨著JSå¼•æ“Žé …(xià ng)目的進(jìn)å±•ï¼Œä¸æ–·æœ‰äººåŠ å…¥Lars Bak這個團(tuán)隊(duì),他家里åä¸ä¸‹äº†ï¼Œä¸å¾—ä¸æŠŠè¾¦å…¬å®¤æ¬åˆ°å¥§èƒ¡æ–¯çš„一個大å¸(xué)ä¸ã€‚
所有人都騎著自行車上ç,下åˆ5點(diÇŽn)就下ç,和Google總部主è¦é€šéŽé›»å郵件è¯(lián)系,å¶çˆ¾é–‹é›»è©±æœƒè°ã€‚
ç¶“(jÄ«ng)éŽ4年的開發(fÄ),JavaScript引擎V8 å’ŒChrome ç€è¦½å™¨ä¸€èµ·å•世,引發(fÄ)了巨大轟動。
早期的V8直接把JavaScriptä»£ç¢¼ç·¨è¯æˆCPUå¯ä»¥ç›´æŽ¥åŸ·(zhÃ)行的機(jÄ«)器碼, 在測試ä¸ï¼ŒV8處ç†JavaScript的速度比最常見的IEç€è¦½å™¨è¦å¿«56å€ï¼Œå¾žæ¤JavaScript甩掉了åªèƒ½åœ¨ç€è¦½å™¨ä¸åŸ·(zhÃ)行簡單代碼的惡å,變得å¯ä»¥é‹(yùn)行大型程åºäº†ã€‚
Lars Bak開發(fÄ)V8原本主è¦ä½œç‚ºç€è¦½å™¨çš„JS引擎,讓人沒想到的是,Ryan Dahl創(chuà ng)新性地利用V8引擎,發(fÄ)明了Node.js,讓JavaScript跳出了ç€è¦½å™¨çš„æŸç¸›ï¼Œé–‹å§‹å‘æœå‹™(wù)器端和客戶端進(jìn)è»ï¼ŒJavaScriptçªç„¶é–“爆ç«ã€‚
隨åŽå¹¾å¹´ï¼ŒLars Bak和團(tuán)隊(duì)æŒçºŒ(xù)改善V8, 但是JavaScript已經(jÄ«ng)被壓榨干凈,JavaScript有著難以克æœçš„缺陷,于是他們干脆å¦èµ·çˆç¶ï¼ŒæŽ¨å‡ºäº†ä¸€é–€æ–°çš„語言Dart。
Darté‡Žå¿ƒå¾ˆå¤§ï¼Œæœ€åˆæ˜¯é–‹ç™¼(fÄ)Web程åºï¼ŒåŽä¾†æ“´(kuò)展到移動應(yÄ«ng)用,æœå‹™(wù)器端應(yÄ«ng)用,客戶端應(yÄ«ng)用,但是一門語言的æˆåŠŸä¾è³´å¾ˆå¤šå› ç´ ï¼Œå°¤å…¶æ˜¯ç”Ÿæ…‹(tà i)系統(tÇ’ng),強(qiáng)如Lars Bak也ä¸ä¸€å®šèƒ½ä¿è‰Dartçš„æˆåŠŸï¼ŒDart未來如何,還得繼續(xù)觀察。
3
Lars Bak一輩å都在開發(fÄ)虛擬機(jÄ«):Beta〠Self〠StrongTalk〠Java HotSpot〠V8 〠Dart VM..... 稱他為虛擬機(jÄ«)之神,一點(diÇŽn)兒也ä¸ç‚ºéŽã€‚
在虛擬機(jÄ«)æ–¹é¢ï¼Œä»–發(fÄ)明了18é …(xià ng)å°ˆåˆ©ï¼Œå…¶ä¸æœ‰ä¸€å€‹è‘—å的專利就是“把函數(shù)的部分å—節(jié)ç¢¼ç·¨è¯æˆæ©Ÿ(jÄ«)器碼來混åˆåŸ·(zhÃ)行â€ï¼Œæ˜¯ä»–在Sun開發(fÄ)HotSpot時(shÃ)發(fÄ)明的, 在虛擬機(jÄ«)é ˜(lÇng)域,這是個相當(dÄng)基礎(chÇ”)的專利。
ç•¶(dÄng)Oracle買下Sun以åŽï¼Œå°±æ®èˆžè‘—這個專利大棒,å°Google發(fÄ)起了訴訟。
Lars Bak為人極為低調(dià o),他開發(fÄ)了這么多å‰å¤§çš„產(chÇŽn)å“,但一直默默呆在奧胡斯,在丹麥,有å¦å¤–一個Lars Bakæ›´åŠ çŸ¥å,那是一ä½è·æ¥(yè)è‡ªè¡Œè»Šé¸æ‰‹ã€‚
但是很明顯,計(jì)算機(jÄ«)界的Lars Bakæ‰æ˜¯å°ä¸–界影響更為深é (yuÇŽn)的人。
全文完,覺得ä¸éŒ¯çš„話點(diÇŽn)個贊或者在看å§ï¼
ç‰¹åˆ¥è²æ˜Žï¼šä»¥ä¸Šå…§(nèi)容(å¦‚æœ‰åœ–ç‰‡æˆ–è¦–é »äº¦åŒ…æ‹¬åœ¨å…§(nèi))為自媒體平臺“網(wÇŽng)易號â€ç”¨æˆ¶ä¸Šå‚³å¹¶ç™¼(fÄ)布,本平臺僅æä¾›ä¿¡æ¯å˜å„²æœå‹™(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.