自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

向Brendan致敬-那段華麗的JavaScript歷史

開發(fā) 前端
Brendan大神寫了這樣一篇博客——New JavaScript Engine Module Owner,給我們講述了那一段牛x的JavaScript歷史,里面充滿了睿智的小段子,非常有趣。

Hail to the King, Baby! —— 那段牛x的JavaScript歷史

So it is with gratitude and more than a bit of relief, after a very long 16 years in full, 13 years open source, that I’m announcing the transfer of SpiderMonkey’s module ownershipto @dmandelin.

—— Brendan Eich

1995年,Brendan說服Netscape的老板說在netscape中需要一個屬于自己的腳本語言,在考察了Scheme和Java之后,10天之內,Brendan實現了JavaScript引擎的基本原型。從1995年到現在,經歷了瀏覽器大戰(zhàn),經歷了Mozilla開源項目的故事,16年之后的昨天,Brendan將SpiderMonkey的Module Ownership轉移給了Mozilla的Dave Mandelin。

為此,Brendan大神寫了這樣一篇博客——New JavaScript Engine Module Owner,給我們講述了那一段牛x的JavaScript歷史,里面充滿了睿智的小段子,非常有趣。

◆ 96年的時候,Brendan和chouck將JavaScript的運行放到了非主線程中,于是當網頁加載一段需要大量計算的JavaScript代碼時不會影響頁面中其他元素的渲染,至今大家也在Firefox可以看到“slow script running”的對話框;

◆ 快進到2008年,Firefox 3成功發(fā)布,Mozilla的JS團隊取得巨大的性能提升,當時主要競爭對手還是來自WebKit的JavaScriptCore引擎,之后又成功炮制TraceMonkey,——一個基于類型優(yōu)化的實時JIT引擎,是早于Chrome和V8的面世;

◆ 在2006年的時候,Brendan就接觸到了V8團隊,當時Brendan非常希望V8能夠開源,并且完全可以想辦法接入到Firefox中,甚至于替代Firefox的SpiderMonkey,而且當時Adobe正在考慮將Tamarin提交給Mozilla,用Brendan的話說就是多多益善,“the more the merrier”。當時正是JavaScript JIT前期探索階段;

◆ 直到2008年V8才正式開源,Google對此很謹慎,以防打草驚蛇的提醒到微軟。(配合這款引擎,Chrome應聲而出)很明顯,95年時候“Netscape + Java kills Windows”的說法激怒了微軟,最后什么結果大家也都知道了。不過歷史同樣重現,Chrome的刺激帶來了微軟的IE9和Chakra。

◆ V8長達兩年的絕密飛行“傷害”了JavaScript,意味著Apple和Mozilla需要自己探索陡峭的JS優(yōu)化之路,不過后來借助V8的開源,這個難度大大降低。不過隨著Mozilla放出TraceMonkey,Apple放出SquirrelFish,加上Chrome的V8,都向世人證明了JavaScript不再低效,不再是一個玩具語言,當然隨著AJAX的流行,JavaScript變的越來越流行。

◆ JavaScript的路依然漫長……

◆ TraceMonkey面世左右,Dave Mandelin加入了Mozilla。新的篇章開始。

◆ 新的JIT技術不斷出現,Mozilla將Webkit中的Method JIT融入SpiderMonkey,優(yōu)化別名JaegerMonkey;更多優(yōu)化全面的Benchmark出現,其實主要強調來自Mozilla的Kraken;

◆ 而V8也開始Phase II,Crankshaft面世,開始向類型優(yōu)化JIT的方向前進;

◆ 傳統(tǒng)的JavaScript GC方式也開始變革,Mozilla先提出來Compartment GC分配內存的方式;而以往粗暴需要Pause的Allocation模式開始向Incremental和Generational GC探索;

◆ IonMonkey是Mozilla的下一代優(yōu)化JIT引擎,會跟Crankshaft接近,更加優(yōu)化類型推演,還包括inline function等多種優(yōu)化手段

◆ 如Brendan所言,JavaScript的路還很漫長,不過充滿希望

◆ Dave在11年Velocity大會上的演講稿非常值得一看

J◆ avaScript歷久彌新,相信他擁有更美好的未來,而Brendan永遠是心中的JS大神。

Hail to the King!

原文鏈接:http://www.mijia.org/blog/?p=292

【編輯推薦】

  1. JavaScript誕生記:C語言和Self語言一夜情的產物
  2. 一位反JavaScript主義者的覺醒
  3. 最流行的JavaScript框架間對比信息表
  4. 一道面試題引發(fā)的面壁:認識JavaScript的settimeout和異步
  5. JavaScript重構深入剖析
責任編輯:陳貽新 來源: 開發(fā)者的那些事
相關推薦

2011-10-24 09:42:00

C語言

2009-07-24 09:02:41

Windows 7 R軟件開發(fā)開發(fā)團隊

2019-10-24 15:30:23

程序員技能開發(fā)者

2011-06-14 09:17:05

RISC安騰unix

2020-08-12 10:25:39

JavaScript開發(fā)技術

2020-12-25 10:28:41

JavaScript模塊module

2013-09-24 17:54:33

搜索搜索轉型

2012-08-16 13:24:17

ipv6教育

2021-04-20 09:49:32

人工智能無人機技術

2011-08-12 09:35:05

javascript

2010-06-10 09:32:36

openSUSE使用

2022-03-02 15:10:31

DateJavaScript前端

2011-07-12 13:21:34

2014-08-28 09:45:30

2013-11-20 14:56:40

iOS 7.1優(yōu)化

2012-11-28 01:55:07

軟件測試

2011-11-28 09:05:01

JavaScriptDart微軟

2016-08-02 10:22:10

JS微軟Node

2013-03-06 09:58:39

開發(fā)方式軟件開發(fā)程序員
點贊
收藏

51CTO技術棧公眾號