1 C++&Bjarne Stroustrup 1
1.1 设计决策 2
1.2 使用语言 5
1.3 OOP和并发 8
1.4 关于未来 11
1.5 有关教学 14
2 Python&Guido van Rossum 17
2.1 Python方式 18
2.2 优秀的程序员 23
2.3 多种Python 27
2.4 权宜之计和经验 31
3 APL&Adin Falkoff 35
3.1 用纸和笔设计 36
3.2 基本原理 38
3.3 并行 43
3.4 遗留 45
4 Forth&Chuck Moore 47
4.1 Forth语言与语言设计 48
4.2 硬件 53
4.3 应用程序设计 56
5 BASIC&Tom Kurtz 63
5.1 BASIC背后的目标 64
5.2 编译器设计 69
5.3 语言和编程实践 72
5.4 语言设计 73
5.5 工作目标 77
6 AWK&Al Aho 81
6.1 算法生命周期 82
6.2 语言设计 83
6.3 Unix及其文化 85
6.4 文档的作用 89
6.5 计算机科学 92
6.6 培育小语言 93
6.7 设计一种新语言 97
6.8 遗留文化 103
6.9 变革性技术 105
6.10 改变世界的“位” 109
6.11 理论和实践 113
6.12 等待突破 118
6.13 通过实例来编程 122
7 Lua&Luiz Henrique de Figueiredo and Roberto lerusalimschy 127
7.1 脚本的功能 128
7.2 经验 130
7.3 语言设计 134
8 Haskell&Simon Peyton Jones,Paul Hudak,Philip Wadler,and John Hughes 141
8.1 功能性团队 142
8.2 函数式编程之路 144
8.3 Haskell语言 149
8.4 传播(函数式)教育 154
8.5 形式体系和发展 156
9 ML&Robin Milner 161
9.1 可靠性定理 162
9.2 意义理论 168
9.3 超越信息学 173
10 SQL& Don Chamberlin 177
10.1 一篇开创性的有重大影响的根本性的论文 178
10.2 语言 180
10.3 反馈和演进 183
10.4 XQuery和XML 186
11 Objective-C& Brad Cox and Tom Love 189
11.1 Objective-C工程 190
11.2 培育一种语言 192
11.3 教育和培训 195
11.4 项目管理和遗留软件 196
11.5 Objective-C和其他语言 202
11.6 组件、沙子和砖 205
11.7 作为经济现象的质量 210
11.8 教育 212
12 Java& James Gosling 215
12.1 功能或者简单性 216
12.2 品味的问题 218
12.3 并发性 221
12.4 设计一种语言 223
12.5 反馈循环 226
13 C#& Anders Hejlsberg 229
13.1 语言和设计 230
13.2 培育一种语言 235
13.3 C# 238
13.4 计算机科学的未来 242
14 UML& Ivar Jacobson,James Rumbaugh,and Grady Booch 247
14.1 学习和教学 248
14.2 人们的角色 252
14.3 UML 255
14.4 知识 258
14.5 作好变革准备 260
14.6 使用UML 263
14.7 层和语言 266
14.8 一点可复用性 269
14.9 对称关系 272
14.10 UML 275
14.11 语言设计 277
14.12 培训开发者 282
14.13 创新、改进和模式 284
15 Perl& Larry Wall 291
15.1 革命性的语言 292
15.2 语言 295
15.3 社区 299
15.4 改进和革命 302
16 PostScript& Charles Geschke and John Warnock 307
16.1 为永恒而设计 308
16.2 研究和教育 316
16.3 长寿命接口 319
16.4 标准愿望 322
17 Eiffel& Bertrand Meyer 325
17.1 一个充满灵感的下午 326
17.2 可复用性和泛型 331
17.3 校对语言 334
17.4 管理成长和演进 338
后记 343
受访嘉宾 345
索引 355