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

简介:

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


3f028db488bd6780bf7aa8a147c78f773de2d730

第一天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认为,最近微软在开源动作频频是玩真的,因为开源是现在的大环境趋势,而他也觉得这跟微软组织内世代交替,文化改变有很大的关系。

文章转载自 开源中国社区 [http://www.oschina.net]

相关文章
|
JavaScript 前端开发
【快捷键配置】常用HTML类名、CSS样式名称、JS方法变量名、vue代码片段
【快捷键配置】常用HTML类名、CSS样式名称、JS方法变量名、vue代码片段
|
10月前
|
JavaScript 前端开发 开发者
JavaScript基础——JavaScript变量名称命名规范
JavaScript变量命名规范是编写高质量代码的重要部分。通过遵循基本规则、使用常见命名约定并应用最佳实践,可以提高代码的可读性和可维护性。希望本文能帮助开发者在日常编程中更好地理解和应用JavaScript变量命名规范,从而编写出更清晰、更可靠的代码。
646 11
|
JavaScript 前端开发
js传递参数时变量名动态拼接(含数字或指定规律的变量名称)
js传递参数时变量名动态拼接(含数字或指定规律的变量名称)
788 0
|
JavaScript 数据格式 JSON
js获取对象长度和名称
1.对象的长度不能用.length获取,用js原生的Object.keys可以获取到 var obj = {'name' : 'Tom' , 'sex' : 'male' , 'age' : '14'};  var arr = Object.
1762 0
|
JavaScript
【js拾遗】名称空间
function NameSpace(ns) { if (!ns) { return null; } var arr = ns.
674 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
305 2
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
243 1
JavaScript中的原型 保姆级文章一文搞懂
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
155 0

热门文章

最新文章