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 是浏览器实现
        纸上标准落后于浏览器,先实现再写进标准

本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!