天天看点

创造 JavaScript 仅用 10 天,名称是为了更好推广

avascript除了提供一个非重度开发者也能使用的程式语言外,也是提供开发者由java这类静态型别转至动态型别开发语言的一种选择,但是现在mozilla所推得asm.js,又将javascript带回到了静态型别。

创造 JavaScript 仅用 10 天,名称是为了更好推广

第一天modern web大会由javascript之父同时也是mozilla基金会共同创办人brendan eich(音:艾可,德国姓)首先拉开序幕,主讲第一场主题演讲javascript at 20 years,他说他在1995年仅花了10天就开发出javascript,在会採访brendan eich还表示,javascript之所以用了java这四个字母完全是行销上考量,他想藉由java的名气使更多人注意到javascript。brendan eich想让javascript乍看之下很像是java,但是其实与java的完全不同。

javascript与java其中一个很大的差异在于型别,java是静态型别,也就是说在撰写java程式码时,开发者需要先定义变数的型别,而javascript却不需要,这使得javascript的程式在开发上,更为弹性以及容易,不过却也是javascript的致命伤,动态型别使得javascript的执行效能受到影响。因此brendan eich提到,现在mozilla推的asm.js,是编译过的javascript子集,这个架构限制原本javascript拖累效能的语法,而正是为了解决这个问题,让javascript执行的效率达到跟bytecode一样。

brendan eich在演讲中,展示了两款由支援asm.js的游戏引擎unity与unreal,所打造的3d游戏,过去javascript的执行效能限制了其在网页上的应用,但是因为asm.js,因此连游戏这种运算密集且注重效能的应用,也能在网页平台上执行。brendan eich提到,他设计javascript除了提供一个非重度开发者也能使用的程式语言外,也是提供开发者由java这类静态型别转至动态型别开发语言的一种选择,但是现在的asm.js,又将javascript带回到了静态型别。

brendan eich用太阳系的结构来形容javascript,其中最核心部分是标准es3(ecmascript 3),此标准定义了javascript的一些核心功能,并且能向下支援一些较旧的浏览器,他还特别展示了以前的javascript网页,依然能够最新的firefox浏览器上执行,brendan eich骄傲地表示,javascript相容性相当好。而es6则是javascript现在2015年标准,与之前版本有较大的语法以及概念变动,他也提到,一年后将会採用es7的标准,es8的标准预计将在2017年完成。

而网路论坛上有一些舆论认为,微软最近积极推行相容于javascript的开源程式语言typescript,背后用意则是想强势的影响es7的标准制定,brendan eich表示,他并不这麽认为,因为es的标准无法被单一组织操控的,而微软找来c sharp之父操刀typescript,他觉得微软真的想参与其中,且更多人贡献心力对这个生态系试多多益善的。

现在的微软明显跟过去不一样了,brendan eich认为,最近微软在开源动作频频是玩真的,因为开源是现在的大环境趋势,而他也觉得这跟微软组织内世代交替,文化改变有很大的关系。