javascript的诞生及发展
起源
JavaScript 因为互联网而生,紧随着浏览器的出现而问世。回顾它的历史,就要从浏览器的历史讲起。
此处我们使用时间线的形式,简单回顾这段辉煌的历史:
1990 年底,欧洲核能研究组织,发明了万维网(World Wide Web)。
1992 年底,美国国家超级电脑应用中心(NCSA),开发了第一个浏览器,Mosaic。
1994 年 10 月,Mosaic 通信公司成立,不久后改名为 Netscape。开始开发面向普通用户的新一代的浏览器 Netscape Navigator。
1994 年 12 月,Navigator 发布了 1.0 版,市场份额一举超过 90%。
Netscape 公司很快发现,Navigator 浏览器需要一种可以嵌入网页的脚本语言,用来控制浏览器行为(表单验证)。管理层对这种浏览器脚本语言的设想是:功能不需要太强,语法较为简单,容易学习和部署。
那一年,正逢 Sun 公司的 Java 语言问世,市场推广活动非常成功。Netscape 公司决定与 Sun 公司合作,浏览器支持嵌入 Java 小程序(后来称为 Java applet)。
但是,浏览器脚本语言是否就选用 Java,则存在争论。后来,还是决定不使用 Java,因为网页小程序不需要 Java 这么“重”的语法。但是,同时也决定脚本语言的语法要接近 Java,并且可以支持 Java 程序。这些设想直接排除了使用现存语言,比如 Perl、Python 和 TCL。1995 年,Netscape 公司雇佣了程序员Brendan Eich开发这种网页脚本语言。
但是,他对 Java 一点兴趣也没有。为了应付公司安排的任务,他只用 10 天时间就把 Javascript 设计出来了。
由于设计时间太短,语言的一些细节考虑得不够严谨,导致后来很长一段时间,Javascript 写出来的程序混乱不堪。如果 Brendan Eich 预见到,未来这种语言会成为互联网第一大语言,全世界有几百万学习者,他会不会多花一点时间呢?
总的来说,他的设计思路是这样的:
(1)借鉴 C 语言的基本语法;
(2)借鉴 Java 语言的数据类型和内存管理;
(3)借鉴 Scheme 语言,将函数提升到”第一等公民”(first class)的地位;
(4)借鉴self 语言,使用基于原型(prototype)的继承机制。
在名称方面,JavaScript 一开始被命名为 Mocha(摩卡),然后经历了 Mocha=>LiveScriot>JavaScript 的过程。
1996 年 8 月互联网巨头微软公司进入浏览器领域,推出 JScript,和 NetScript 公司开始争夺博主地位。同年 11 月,Netscape 公司决定将 JavaScript 提交给国际标准化组织 ECMA(European Computer Manufacturers Association)
希望 JavaScript 能够成为国际标准,以此抵抗微软。
1997 年 7 月,ECMA 组织发布 262 号标准文件(ECMA-262)的第一版,规定了浏览器脚本语言的标准,并将这种语言称为 ECMAScript。这个版本就是 ECMAScript 1.0 版。
之所以不叫 JavaScript,一方面是由于商标的关系,Java 是 Sun 公司的商标,根据一份授权协议,只有 Netscape 公司可以合法地使用 JavaScript 这个名字,且 JavaScript 已经被 Netscape 公司注册为商标,另一方面也是想体现这门语言的制定者是 ECMA,不是 Netscape,这样有利于保证这门语言的开放性和中立性。因此,ECMAScript 和 JavaScript 的关系是,前者是后者的规格,后者是前者的一种实现。在日常场合,这两个词是可以互换的。
JavaScript 的兴起
- 2004 年愚人节时,杀手级应用 Gmail 出现,之前人们认为网页只能看新闻和图片,Gmail 的出现让用户和开发者眼前一亮
- 2005 年,Jesse 将谷歌用到的技术命名为 AJAX,从此前端技术正式出现。在此之前网页开发是后端设计师完成。
- 2006 年,JQuery 发布,目前最长寿的 JS 库,后十年 JQuery 大放异彩,直到 IE 不行了,JQuery 才稍微降温。(JQuery 能让代码在 IE、Firefox、谷歌等都不报错)
JavaScript 的爆发
- V8 引擎
- Chrome 的 JS 引擎是 V8
- 2009 年,Ryan 基于 V8 创建了 Node.js
- 2010 年,Isaac 基于 Node.js 写了 npm
- 至此,js 可以脱离浏览器运行了
- 2010 年,TJ 受到 Sinatra 启发,发布了 Express.js。用它可以代替 java 等做一个后端完整的服务器
- 爆发:React、VUE 等出现
ECMAScript 版本发展
- 时间线:
- 1997 年 6 月,第一版 ECMAScript 发布
- 1999 年 12 月,第三版发布,该版使用最广泛
- 第四版,流产
- 2009 年 12 月,第五版发布,增加了一些功能
- 2015 年 6 月,第六版发布,新浏览器都支持这一版本,之后每年发布一版,版本号以年份命名
- JS 与 ECMAScript 关系:
ECMAScript 写在纸上的标准,JS 是浏览器实现
纸上标准落后于浏览器,先实现再写进标准
- JS 与 ECMAScript 关系:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!