推荐序
前言
1 C++
Bjarne Stroustrup
1.1 设计决策
1.2 使用语言
1.3 OOP和并发
1.4 关于未来
1.5 有关教学
2 Python
Guido van Rossum
2.1 Python方式
2.2 优秀的程序员
2.3 多种Python
2.4 权宜之计和经验
3 APL
Adin Falkoff
3.1 纸笔方式
3.2 基本原理
3.3 并行
3.4 遗留
4 Forth
Chuck Moore
4.1 Forth语言与语言设计
4.2 硬件
4.3 应用程序设计
5 BASIC
Tom Kurtz
5.1 BASIC背后的目标
5.2 编译器设计
5.3 语言和编程实践
5.4 语言设计
5.5 工作目标
6 AWK
Al Aho
6.1 算法生命周期
6.2 语言设计
6.3 Unix及其文化
6.4 文档的作用
6.5 计算机科学
6.6 培育小语言
6.7 设计一种新语言
6.8 遗留文化
6.9 变革性技术
6.10 改变世界的“位”
6.11 理论和实践
6.12 等待突破
6.13 通过实例来编程
7 Lua
Luiz Henrique de Figueiredo and Roberto Ierusalimschy
7.1 脚本的功能
7.2 经验
7.3 语言设计
8 Haskell
Simon Peyton Jones, Paul Hudak, Philip Wadler, and John Hughes
8.1 功能性团队
8.2 函数式编程之路
8.3 Haskell语言
8.4 传播(函数式)教育
8.5 形式体系和发展
9 ML
Robin Milner
9.1 可靠性定理
9.2 意义理论(译注)
9.3 超越信息学
10 SQL
Don Chamberlin
10.1 一篇开创性的有重大影响的根本性的论文
10.2 语言
10.3 反馈和演进
10.4 XQuery和XML
11 Objective-C
Brad Cox and Tom Love
11.1 Objective-C工程
11.2 培育一种语言
11.3 教育和培训
11.4 项目管理和遗留软件
11.5 Objective-C和其它语言
11.6 组件、沙子和砖
11.7 作为经济现象的质量
11.8 教育
12 Java
James Gosling
12.1 功能或者简单性
12.2 品味的问题
12.3 并发性
12.4 设计一种语言
12.5 反馈循环
13 C#
Anders Hejlsberg
13.1 语言和设计
13.2 培育一种语言
13.3 C# 238
13.4 计算机科学的未来
14 UML
Ivar Jacobson, James Rumbaugh, and Grady Booch
14.1 学习和教学
14.2 人们的角色
14.3 UML
14.4 知识
14.5 作好变革准备
14.6 使用UML
14.7 层和语言
14.8 一点可复用性
14.9 对称关系
14.10 UML
14.11 语言设计
14.12 培训开发者
14.13 创新、改进和模式
15 Perl
Larry Wall
15.1 革命性的语言
15.2 语言
15.3 社区
15.4 改进和革命
16 PostScript
Charles Geschke and John Warnock
16.1 为永恒而设计
16.2 研究和教育
16.3 长寿命接口
16.4 标准愿望
17 Eiffel
Bertrand Meyer
17.1 一个充满灵感的下午
17.2 可复用性和泛型
17.3 校对语言
17.4 管理成长和演进
后记
受访嘉宾
索引