Skip to content

Commit

Permalink
fix: concepts & title format
Browse files Browse the repository at this point in the history
  • Loading branch information
doodlewind committed Oct 7, 2020
1 parent 72936cf commit 283b5a6
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 5 deletions.
6 changes: 3 additions & 3 deletions appendices.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@
* <a id="Dart">**Dart**</a> *n.* 一门基于类的面向对象语言。它由 Google 开发,其初始设计目标是在 Web 浏览器中取代 JavaScript。
* <a id="declarative">**declarative**</a> *adj.* 声明式,表示一种以「对所需结果特质进行描述」为基础的计算方式。
* <a id="delegation">**delegation**</a> *n.* 委托,一种使对象从其他对象中获取部分状态和行为(而非从类定义中获取)的机制。
* <a id="discriminated-union">**discriminated union**</a> *n.* 一种带有多种可选内部结构的数据记录,其实际结构由显式的 tag 标签值确定。
* <a id="discriminated-union">**discriminated union**</a> *n.* 差异联合体,一种带有多种可选内部结构的数据记录,其实际结构由显式的 tag 标签值确定。
* <a id="destructuring">**destructuring**</a> *n.* 解构,用类似数组或对象字面量的语法,来引用数组或对象的某些属性。
* <a id="desugar">**desugar**</a> *v.* 去糖化,将一种编程语言中的语句或操作,分解为更为基础的语句或操作。
* <a id="DevDiv">**DevDiv**</a> *n.* 微软的开发者工具部门,即 Developer Tools Division。
Expand Down Expand Up @@ -748,9 +748,9 @@

[[Netscape and Sun 1995](./references.md#netscape:press:javascript), Page 1-2]

#### 网景公司和太阳公司宣布推出 JavaScript:面向企业网络和互联网的开放跨平台对象脚本语言
**网景公司和太阳公司宣布推出 JavaScript:面向企业网络和互联网的开放跨平台对象脚本语言**

##### 28 家行业领先企业支持将 JavaScript 作为 Java 的补充,实现便捷的在线应用开发
28 家行业领先企业支持将 JavaScript 作为 Java 的补充,实现便捷的在线应用开发

---

Expand Down
2 changes: 1 addition & 1 deletion notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* <a id="6">[6]</a> Java 的秘密 alpha 版本是 1995 年 3 月或 4 月发布的。
* <a id="7">[7]</a> Jon Bentley [[1986](./references.md#littlelangs)] 引入了「小语言」(little language)术语,以表示那些小而易于学习的语言。它们专注于解决特定领域的问题,并不包含许多传统语言中的特性。
* <a id="8">[8]</a> Mocha 的诞生日期没有已知的确切记录,但 Brendan Eich 相信这一时间是 5 月 6 日到 15 日。
* <a id="9">[9]</a> 最早的 Mocha 实现使用了大型的 *discriminated union*<sup>[g](./appendices.md#discriminated-union)</sup> 来表达不同的数据**<sup>[g](./appendices.md#value)</sup>,并基于引用计数来做内存管理。
* <a id="9">[9]</a> 最早的 Mocha 实现使用了大型的*差异联合体*<sup>[g](./appendices.md#discriminated-union)</sup>来表达不同的数据**<sup>[g](./appendices.md#value)</sup>,并基于引用计数来做内存管理。
* <a id="10">[10]</a> 在 Brendan Eich 进入 Netscape 的第一个月里,他在服务器团队工作。
* <a id="11">[11]</a> Eich 的讨论对象包括曾在 General Magic 公司工作过的 John Giannandrea,他在那里实现了两门可以同时在客户端与服务端使用的编程语言。
* <a id="12">[12]</a> `eval` 的设计,可以支持某种形式上对代码的部分求值,或者将提供给客户端的代码在服务端执行,和 Telescript [[General Magic 1995](./references.md#telescript)] 代理类似。
Expand Down
2 changes: 1 addition & 1 deletion part-1.md
Original file line number Diff line number Diff line change
Expand Up @@ -572,7 +572,7 @@ IE 团队非常重视与 Netscape 的竞争。他们希望当时作为 Active Sc
## 从 Mocha 到 SpiderMonkey
在 1995 年全年和 1996 年的大部分时间里,Brendan Eich 都是唯一全职从事 *JavaScript 引擎*<sup>[g](./appendices.md#JavaScript-engine)</sup><sup>[25](./notes.md#25)</sup>开发工作的 Netscape 开发者。在 1996 年 8 月发布的 Netscape 3.0 版本中,JavaScript 1.1 仍然主要包含 1995 年 5 月的 10 天原型代码。在发布这个版本后,Eich 认为是时候偿还*引擎*<sup>[g](./appendices.md#engine)</sup>的技术债<sup>[26](./notes.md#26)</sup>,并努力使 JavaScript「成为一门更干净的语言」了。但 Netscape 管理层则希望他研究语言规范。他们对微软针对 JavaScript 规范缺失的批评很敏感,并认为即将开始的语言标准化进程需要这样一份规范作为输入。Eich 拒绝了,他想把重新实现 Mocha 作为开始。要想编写规范,他需要的是仔细检查 Mocha 的实现。他认为在检查 Mocha 时重写 Mocha 是最有效率的方法,这也能让他在初始的设计错误被纳入规范前纠正它们。
由于对辩论感到沮丧,Brendan Eich 离开办公室,在家工作了两个星期。在此期间,他重新设计实现了 JavaScript 引擎的核心。此举的收获是一个更快、更可靠和更灵活的运行引擎。他舍弃了将 JavaScript 值表示为 *discriminated union*<sup>[g](./appendices.md#discriminated-union)</sup> 的实践,改为使用包含即时原始值的标记指针(tagged pointer)。他还实现了诸如嵌套函数、函数表达式和 `switch` 语句之类的特性,这些特性从未在原始引擎中实现过。基于引用计数的内存管理器也被替换成了基于标记 / 清除算法的垃圾收集器。
由于对辩论感到沮丧,Brendan Eich 离开办公室,在家工作了两个星期。在此期间,他重新设计实现了 JavaScript 引擎的核心。此举的收获是一个更快、更可靠和更灵活的运行引擎。他舍弃了将 JavaScript 值表示为*差异联合体*<sup>[g](./appendices.md#discriminated-union)</sup>的实践,改为使用包含即时原始值的标记指针(tagged pointer)。他还实现了诸如嵌套函数、函数表达式和 `switch` 语句之类的特性,这些特性从未在原始引擎中实现过。基于引用计数的内存管理器也被替换成了基于标记 / 清除算法的垃圾收集器。
当 Eich 返回办公室时,新引擎已经取代了 Mocha。Chris Houck 这位早期的 Netscape 开发者也参与了进来,成为了 JavaScript 团队的第二位专职成员。Houck 根据电影《Beavis and Butt-Head Do America》[[Judge et al. 1996](./references.md#beavis)] 中的桥段,将新引擎命名为「*SpiderMonkey*<sup>[g](./appendices.md#SpiderMonkey)</sup>」<sup>[27](./notes.md#27)</sup>。Clayton Lewis 加入团队担任经理,并聘请来了 Norris Boyd。技术作家 Rand McKinny 被派来协助 Eich 编写规范。
Expand Down

0 comments on commit 283b5a6

Please sign in to comment.