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

开发 前端
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年到现在,经历了浏览器大战,经历了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大会上的演讲稿非常值得一看

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

Hail to the King!

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

【编辑推荐】

  1. JavaScript诞生记:C语言和Self语言一夜情的产物
  2. 一位反JavaScript主义者的觉醒
  3. 最流行的JavaScript框架间对比信息表
  4. 一道面试题引发的面壁:认识JavaScript的settimeout和异步
  5. JavaScript重构深入剖析
责任编辑:陈贻新 来源: 开发者的那些事
相关推荐

2011-10-24 09:42:00

C语言

2009-07-24 09:02:41

Windows 7 R软件开发开发团队

2019-10-24 15:30:23

程序员技能开发者

2011-06-14 09:17:05

RISC安腾unix

2020-08-12 10:25:39

JavaScript开发技术

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前端

2014-08-28 09:45:30

2011-07-12 13:21:34

2013-11-20 14:56:40

iOS 7.1优化

2012-11-28 01:55:07

软件测试

2011-11-28 09:05:01

JavaScriptDart微软

2013-03-06 09:58:39

开发方式软件开发程序员
点赞
收藏

51CTO技术栈公众号