动狮网络——专业建站,值得信赖!

动狮网络

当前位置:首页 > 观点荟萃 > 直击ModernWeb2015,JavaScript之父揭露JavaScript幕后开发

直击ModernWeb2015,JavaScript之父揭露JavaScript幕后开发

时间:2015-11-01 人气: 标签: JavaScript
导语:【直击Modern Web 2015】JavaScript之父Brendan Eich:Asm.js构架限制了JavaScript中拖累性能的语法,反而能让JavaScript执行的效率跟Bytecode程序一样,JavaScript之父揭露JavaScript幕后开发秘密。

【直击Modern Web 2015】JavaScript之父揭露JavaScript幕后开发秘密

在Modern Web大会首日,JavaScript之父同时也是Mozilla基金会共同创办人Brendan Eich(音:艾可,德国姓)首先拉开序幕,以JavaScript二十年回顾为题。

Brendan Eich在1995年仅花了10天就开发出JavaScript。他更透露,之所以命名使用了Java这四个字母,完全是行销上考察,他想藉由Java的名气使更多人注意到JavaScript。Brendan Eich想让JavaScript乍看之下很像是Java,但是其实与Java非常不一样。

Java是由被Oracle买下的Sun发表,JavaScript则是由Netscape发表,原本名字叫LiveScript,因为Netscape在自己的浏览器支持Java Applet,Java又名气大噪,就把LiveScript改名JavaScript一起打知名度。而Netscape后来把JavaScript提交给ECMA制定为国际标准,称做ECMAScript,真正跟JavaScript是兄弟的是Adobe Flash的ActionScript和Microsoft的JScript,因为一样都是依ECMAScript标准建制。另外,Brendan Eich打趣地说,「C语言像是曾祖父,C++像祖父,Java则是父亲,然后到JavaScript这一代。」

JavaScript能同时使用多种风格写程序

然而,身为JavaScript的父亲Brendan Eich并未料想到,也不认为JavaScript现今会如此受欢迎,他甚至说「我很多次都以为『它』会死掉。」这样想不是没有原因。

故事追朔至10多年前微软的反托拉斯案,当时美国联邦政府因认为微软企图垄断市场、捆绑贩售行为,而联合19个州及首都哥伦比亚特区共同起诉,微软排挤Java、Flash等非微软产品,JavaScript上头的Netscape浏览器(Navigator)使用率也不断下滑,使得其公司在广告及产品销售部分的收入锐减,JavaScript连带受到影响。最终微软让步,和联邦司法部达成和解。

现在JavaScript的父亲改变想法,Brendan Eich用两项特性来称赞自己的孩子JavaScript非常「Dynamic」及「Multi-paradigm」,它可以同时使用多种风格来写程序。他也说,程序语言的发展不会跟当初想的一模一样,「因为程序也会长大,就像我们说的语言一样,如英文、中文。不变的是,它们将愈变愈适合人类,没有东西一开始就是完美的,唯有不断地改变及修正,去芜存菁。」

JavaScript执行的效率达到跟Bytecode程序一样

Brendan Eich仅仅利用10天创造了JavaScript,他说明创作的灵感来自Self语言,Self语言以精简做为设计原则,它没有类别(Class)概念,只有物件(Object)概念,同时把信息作为最基本的操作。正因为如此,JavaScript成为一个基于原型(Prototype-based)的语言。

而Java和JavaScript虽然都属于面向对象语言,语法和物件的继承方式却不同。Brendan Eich强调,其中一个很大的差异在于型别,Java是静态型别,也就是说在撰写Java代码时,开发者需要先定义变数的型别,JavaScript却不需要,这使得JavaScript的程序在开发上,更为弹性且容易,不过这却也是JavaScript的致命伤,动态型别使得JavaScript的执行性能受到影响。

不过,现在Mozilla推的Asm.js,是编译过的JavaScript子集,这个构架限制原本JavaScript拖累性能的语法,Brendan Eich解释Asm.js正是为了解决这个问题,让JavaScript执行的效率达到跟Bytecode程序一样。

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

标准ES3定义了JavaScript的核心功能

Brendan Eich用太阳系的结构来形容JavaScript,最核心部分是标准ES3(ECMAScript 3),此标准定义了JavaScript的一些核心功能,并且能向下支持一些较旧的浏览器,同时,他特别展示了多年前的JavaScript网页,依然能在最新的Firefox浏览器上执行,Brendan Eich骄傲地表示,这证明了JavaScript的兼容性相当好。ES6是JavaScript现在2015年标准,与之前版本的语法及概念不同,有相当大的变动。他也提到,一年后将会采用ES7的标准,预计2017年则会进展到ES8的标准。

肯定微软开源!开源已成一种文化

而网络论坛上有一些舆论认为,微软最近积极推行兼容于JavaScript的开源程序语言TypeScript,背后用意则是想强势影响ES7的标准制定,然而,Brendan Eich并不这么认为,他说,因为ES的标准无法被单一组织操控,而微软找来C Sharp之父操刀TypeScript,微软近期开源动作频频可反映出微软认真想参与其中。「越多人贡献心力,对整个生态系的发展有益无害,开源俨然已成了一种文化」。

JavaScrip在1995年问世,到了1997年,人们开始讨论Linux等开放原始码的操作系统,Brendan Eich从那时即认为开源是未来的趋势。

因此他决定在2003年成立Mozilla基金会,再于2005年成立了Mozilla公司,两者皆是负责开放原始码产品的开发、测试和流通和商业活动,基金会后期专注于监测及管理一些没有产品化的计划。

Brendan Eich强调,开源思维不再只是为了商机或是个人爱好,「它不仅是热潮也将改变科技生态,你贡献愈多,得到机会越多。

顶一下 (0)0%
踩一下 (0)0%
热点内容
解决方案
联系方式

    郑州动狮网络技术有限公司
    【大成图文-河南ICP网站备案中心】

    QQ:361461588

    电话:

    邮箱:[email protected]

    网址:www.movelion.com

    地址:河南省郑州市管城区郑汴路升龙环球大厦A座2号馆西门一楼(升龙金泰成名灯广场正门东侧)

在线咨询
新版帮助
扫二微码

网址二维码

微信官方账号

返回顶部