[TOC]
# 第4章 JavaScript是如何创造出来的
了解为什么和JavaScript是如何创建的,这有助于我们理解为什么它是这样的。
1993年,NCSA的Mosaic是第一个广受欢迎的web浏览器。1994年,一家名为网景的公司成立,是为了利用这个新兴的万维网的潜力。
Netscape创建了专有的web浏览器Netscape Navigator,它在20世纪90年代一直占主导地位。许多最初的 Mosaic作者继续在Navigator上工作,但这两个人故意不共享代码。
Netscape很快意识到Web需要变得更加动态。即使您只想检查用户是否在表单中输入正确的值,则需要将数据发送到服务器以提供反馈。1995年,网景雇佣了Brendan Eich,承诺让他在浏览器中实现计划(一种Lisp方言)。[ 4 ]
在开始之前,Netscape与硬件和软件公司Sun(后被Oracle收购)合作,在Navigator中包含更多静态编程语言Java 。因此,Netscape的一个激烈辩论的问题是为什么Web需要两种编程语言:Java和脚本语言。脚本语言的支持者提供以下解释:[ 5 ]
> We aimed to provide a “glue language” for the Web designers and part time programmers who were building Web content from components such as images, plugins, and Java applets. We saw Java as the “component language” used by higher-priced programmers, where the glue programmers—the Web page designers—would assemble components and automate their interactions using [a scripting language].
我们旨在为Web设计师和有时构建Web内容的部分程序员(如图像,插件和Java小程序)提供“胶水语言”。我们将Java视为高成本程序员使用的“组件语言”,胶水程序员(网页设计者)将使用[脚本语言]组装组件并自动执行交互。
那时,Netscape管理层决定了一个脚本语言必须具有类似于Java的语法。这排除了采用Perl,Python,TCL或Scheme等现有语言。为了捍卫JavaScript与竞争性提案的想法,Netscape需要一个原型。
Eich在1995年5月10天写了一篇。JavaScript的第一个代码是Mocha,由Marc Andreesen创造。
Netscape营销后来因为商标原因而将其改为LiveScript,并且因为多个产品的名称已经具有前缀“Live”。在1995年11月底,Navigator 2.0B3 出炉并包含原型,该原型继续其早期存在而没有重大变化。1995年12月初,Java的发展势头越来越大,语言又重新命名为JavaScript。[ 6 ]
[ 4 ] Brendan Eich,“受大众欢迎”,2008年4月3日,http://bit.ly/1lKl6fG。
[ 5 ] Naomi Hamilton,“编程语言的A-Z:JavaScript”,Computerworld,2008年7月30日,http://bit.ly/1lKldIe。
[ 6 ] Paul Krill,“JavaScript的创造者过去,未来”,InfoWorld,2008年6月23日,http://bit.ly/1lKlpXO ; Brendan Eich,“JavaScript简史”,2010年7月21日,http://bit.ly/1lKkI0M。
- 本书简介
- 前言
- 关于这本书你需要知道些什么
- 如何阅读本书
- 目录
- I. JavaScript的快速入门
- 第1章 基础的JavaScript
- II. 背景知识
- 第2章 为什么选择JavaScript?
- 第3章 JavaScript的性质
- 第4章 JavaScript是如何创造出来的
- 第5章 标准化:ECMAScript
- 第6章 JavaScript的历史里程碑
- III. 深入JavaScript
- 第7章 JavaScript语法
- 第8章 值
- 第9章 运算符
- 第10章 布尔值
- 第11章 数字
- 第12章 字符串
- 第13章 语句
- 第14章 异常捕获
- 第15章 函数
- 第16章 变量:作用域、环境和闭包
- 第17章 对象和继承
- 第18章 数组
- 第19章 正则表达式
- 第20章 Date
- 第21章 Math
- 第22章 JSON
- 第23章 标准全局变量
- 第24章 编码和JavaScript
- 第25章 ECMAScript 5中的新功能
- IV. 技巧、工具和类库
- 第26章 元代码样式指南
- 第27章 调试的语言机制
- 第28章 子类化内置构造函数
- 第29章 JSDoc:生成API文档
- 第30章 类库
- 第31章 模块系统和包管理器
- 第32章 其他工具
- 第33章 接下来该做什么
- 著作权