目录 1
第一章 程序设计语言概述 1
1.1 历史的回顾 1
1.2 程序语言的设计原则 8
1.3 程序语言的发展特征 14
1.4 强制式语言与作用式语言 17
第二章 顺序控制结构 28
2.1 变量、表达式和语句 28
2.2 作用域和生存期 38
2.3 过程 54
第三章 数据类型 72
3.1 数据类型与类型化 72
3.2 类型转换 74
3.3 类型等价 76
3.4 类型的实用分析与问题 80
3.5 Ada语言类型鸟瞰 87
第四章 数据抽象 94
4.1 基本特征 95
4.2 SIMULA的类 99
4.3 Euelid的模块 106
4.4 MODULA的模块 111
4.5 Ada的程序包 120
4.6 代数式抽象规范说明 127
第五章 并发 137
5.1 并发概述 137
5.2 早期语言的并发措施 140
5.3 信号量与PV操作 143
5.4 条件临界区 149
5.5 管程 153
5.6 路径表达式 164
5.7 消息传递 168
5.8 会合(rendezvous) 177
5.9 各种并发语言的剖析与分类 188
第六章 异常处理 197
6.1 异常机制的设计 197
6.2 PL 1的ON条件 200
6.3 CLU的异常处理 206
6.4 Mesa中的异常设施 210
6.5 Ada的异常机制 212
第七章 函数程序设计语言 224
7.1 函数程序设计的一般概念 224
7.2 函数语言与符号处理—LISP 229
7.3 函数语言与非冯结构—FP 244
7.4 函数语言与软件开发—ML 254
7.5 函数语言综述 274
第八章 数据流语言 275
8.1 数据流语言的设计背景与原则 275
8.2 VAL的语言特性 285
8.3 对VAL语言的评价 298
第九章 逻辑程序设计 309
9.1 Horn短句逻辑程序设计 310
9.2 PROLOG语言 319
9.3 逻辑程序设计的发展特征 332
第十章 面向对象的程序设计语言 345
10.1 面向对象的程序设计 345
10.2 Smalltalk程序设计语言 347
10.3 Smalltalk语言的特点 365
10.4 Smalltalk环境 369
10.5 展望 374