JavaScript 的诞生史

314 阅读3分钟

JavaScript 是一种轻量级的脚本语言,它具有强大的操控浏览器的能力,经过了二十多年的发展,已经成为了现代网页开发中不可替代的核心语言。但是即便是如此广泛使用的语言,JavaScript 依然存在诸多设计缺陷,这与它戏剧性的诞生历史是密不可分的。

JavaScript 因互联网而生,紧随浏览器的出现而问世。

1990年,李爵士(Tim Berners-Lee)发明了万维网(World Wide Web),但当时浏览网页并没有图形界面,只能在终端中使用命令行进行操作,非常不方便。

随后在1992年,世界上第一款浏览器 Mosaic 诞生,从此人们便可以在图形化界面上便捷地浏览网页了。

1994年,Mosaic 的公司更名为 Netscape(网景公司),在 Mosaic 的基础上,发布了新一代的浏览器 Navigator,并且立即占据了大量的市场份额。

然而当时的 Navigator 浏览器只能用来浏览,不具备与用户之间进行互动的功能,因此 Netscape 急需一种脚本语言,使得浏览器可以与网页进行互动。

由于当时 Java 语言的问世和火热,网景公司决定与 Java 的母公司 Sun 进行合作,要求未来设计的脚本语言必须“看上去和 Java 足够相似”,并任命 Brendan Eich 为这种“简化版 Java”的设计师。

然而 Brendan 对 Java 并无兴趣,为了应付公司的工作,他只用了10天时间就完成了语言的设计。1995年12月,这门语言向市场推出,最初被命名为 Mocha,后经 Sun 公司的许可,更名为 JavaScript。

当时,Brendan 的总体设计思路是这样的:

(1)借鉴C语言的基本语法

(2)借鉴Java语言的数据类型和内存管理

(3)借鉴Scheme语言,将函数提升到"第一等公民"(first class)的地位

(4)借鉴Self语言,使用基于原型(prototype)的继承机制

所以 JavaScript 语言实际上是两种语言风格的混合产物----(简化的)函数式编程+(简化的)面向对象编程。

这样的背景也就导致了它存在设计缺陷的必然性。

  • 第一,限于时间仓促以及应付工作的心理,这门语言的一些细节考虑得不够严谨。而且语言的设计初衷,是为了解决一些简单的网页互动,并没有考虑复杂应用的需要。设计者做梦也没想到,JavaScript 未来可以写出像 Gmail 这种极其庞大复杂的网页应用。

  • 第二,JavaScript 结合了函数式编程和面向对象编程的特点,属史上首次,它没有任何先例可供参考。

  • 其次,JavaScript 发展速度非常快,根本没有时间调整设计。JavaScript 一经推出,立刻被广泛接受,呈现爆炸式扩散增长,全世界的用户大量使用。

  • 最后,为了压制微软的 Jscript ,网景公司马上申请了 JavaScript 的国际标准。1997年6月,第一个国际标准 ECMA-262 正式颁布。JavaScript 推出一年半之后,国际标准就问世了,设计缺陷还没有充分暴露就成了标准,这就难免会给以后发现了问题再去修复带来一些麻烦。