致敬Brendan-那段华丽的JavaScript历史

老枪
 老枪
发布于 2011年06月26日
收藏 8

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 ownership to @dmandelin.

—— Brendan Eich

1995年,Brendan说服Netscape的老板说在netscape中需要一个属于自己的脚本语言,在考察了Scheme和Java之 后,10天之内,Brendan实现了JavaScript引擎的基本原型。从1995年到现在,经历了浏览器大战,经历了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成功发布,Mozilla的JS团队取得巨大的性能提升,当时主要竞争对手还是来自WebKit的JavaScriptCore引擎,之后又成功炮制 TraceMonkey,——一个基于类型优化的实时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优化之路,不过后来借助V8的 开源,这个难度大大降低。不过随着Mozilla放出TraceMonkey,Apple放出SquirrelFish,加上Chrome的V8,都向世 人证明了JavaScript不再低效,不再是一个玩具语言,当然随着AJAX的流行,JavaScript变的越来越流行。
  • JavaScript的路依然漫长……

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

  • 新的JIT技术不断出现,Mozilla将Webkit中的Method JIT融入SpiderMonkey,优化别名JaegerMonkey;更多优化全面的Benchmark出现,其实主要强调来自Mozilla的Kraken;
  • 而V8也开始Phase II,Crankshaft面世,开始向类型优化JIT的方向前进;
  • 传统的JavaScript GC方式也开始变革,Mozilla先提出来Compartment GC分配内存的方式;而以往粗暴需要Pause的Allocation模式开始向Incremental和Generational GC探索;
  • IonMonkey是Mozilla的下一代优化JIT引擎,会跟Crankshaft接近,更加优化类型推演,还包括inline function等多种优化手段
  • 如Brendan所言,JavaScript的路还很漫长,不过充满希望
  • Dave在11年Velocity大会上的演讲稿非常值得一看

JavaScript历久弥新,相信他拥有更美好的未来,而Brendan永远是心中的JS大神。

Hail to the King!

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

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:致敬Brendan-那段华丽的JavaScript历史
加载中

最新评论(12

呆瓜
呆瓜

引用来自“笨蛋EGG”的评论

引用来自“Wolfan”的评论

引用来自“程明卫”的评论

喜欢JavaScript ,灵活又强大

喜欢,可是学了半天还只是个初级~ 泣。

相当牛啊···高人····学半天就上初级了····看了N天,还在复制粘贴的未入门阶段……求学习方法……

特别喜欢js,尤其那个闭包,太有感觉了。
笨蛋EGG
笨蛋EGG

引用来自“Wolfan”的评论

引用来自“程明卫”的评论

喜欢JavaScript ,灵活又强大

喜欢,可是学了半天还只是个初级~ 泣。

相当牛啊···高人····学半天就上初级了····看了N天,还在复制粘贴的未入门阶段……求学习方法……
mallon
mallon

引用来自“张敏峰”的评论

引用来自“mallon”的评论

不知道现在的JavaScript和Lua相比效率如何,功能相差不多,Lua编译出来才一百多K,V8接近10M...体积大倒无所谓了,关键要快,跨平台性要好,要简单...

编译?虽然JS可以用在服务器端,但只是个别应用吧?还有更好的语言适合“编译”场合

我说的是解释器,或者讲语言的runtime本身的体积...
南瓜先生
南瓜先生
JavaScript的发展,富客户端技术功不可没。在广泛使用的同时,也提醒老机器,该下岗了
FrontNg
FrontNg
如果这个世界没有了JavaScript 会怎么样?
特效都只有flash...
客户端无法验证,导致服务器压力大,
更不用说ajax了

戴威
戴威

引用来自“影子明”的评论

引用来自“喵了个咪”的评论

引用来自“影子明”的评论

都是小屁孩子呀! 中国这么大的屁孩子都在干嘛呢! 沉思中......

忙于对抗老师的洗脑

这只是一个方面,整天玩弄时间,坐享其成!

每天都堆在作业和培训班里,当年我也想要学点自己的东西啊
一号男嘉宾
一号男嘉宾
老外没那么傻,自己国家的人民都不相信的砖家,人家会相信吗?看透国家看透砖家~
胡晅晖
胡晅晖
学了一会儿,没有深入
脚本引擎确实很强大
东厢里的一只喵
东厢里的一只喵

引用来自“程明卫”的评论

喜欢JavaScript ,灵活又强大

喜欢,可是学了半天还只是个初级~ 泣。
mallon
mallon
http://shootout.alioth.debian.org/mobile/compare.php?lang=lua&lang2=v8
返回顶部
顶部