内容简介
第1章 入门知识
1.1 为什么研究程序设计语言的概念
1.2 程序设计领域
1.3 语言评价标准
1.4 对语言设计的影响
1.5 语言分类
1.6 语言设计权衡
1.7 实现方法
1.8 编程环境
小结
复习思考题
有关问题集
第2章 主要程序设计语言的发展之路
2.1 Zuse的Plankalkül
2.2 最小硬件程序设计:伪代码
2.3 IBM704和Fortran
2.4 函数式程序设计:LISP
2.5 向优化前进的第一步:ALGOL 60
2.6 计算机化的商业记录:COBOL
2.7 分时的起步:BASIC
人物访谈
2.8 面向全盘:PL/I
2.9 两种早期的动态语言:APL和SNOBOL
2.10 数据抽象的萌芽:SIMULA 67
2.11 正交设计:ALGOL 68
2.12 ALGOL之后的一些早期语言
2.13 基于逻辑的程序设计:Prolog
2.14 历史上付出最大设计投入的语言:Ada
2.15 面向对象程序设计:Smalltalk
2.16 结合命令式和面向对象的特性:C++
2.17 基于命令式的面向对象语言:Java
2.18 面向Web的脚本语言:JavaScript和PHP
2.19 新千年的新语言:C#
小结
参考书目
复习思考题
有关问题集
第3章 描述语法和语义
3.1 引言
3.2 描述语法的一般问题
3.3 描述语法的形式化方法
3.4 属性文法
3.5 描述程序的含义:动态语义
小结
参考书目
复习思考题
有关问题集
第4章 词法和语法分析
4.1 引言
4.2 词法分析
4.3 解析问题
4.4 递归下行解析
4.5 自底向上解析
小结
复习思考题
有关问题集
程序设计练习
第5章 名、绑定、类型检查和作用域
5.1 引言
5.2 名
5.3 变量
5.4 绑定概念
人物访谈
5.5 类型检查
5.6 强类型
5.7 类型兼容性
5.8 作用域
5.9 作用域和生命期
5.10 引用环境
5.11 命名常量
5.12 变量初始化
小结
复习思考题
有关问题集
程序设计练习
第6章 数据类型
6.1 引言
6.2 基本数据类型
6.3 字符串类型
6.4 用户自定义序数类型
6.5 数组类型
6.6 关联数组
人物访谈
6.7 记录类型
6.8 联合类型
6.9 指针和引用类型
小结
参考书目
复习思考题
有关问题集
程序设计练习
第7章 表达式和赋值语句
7.1 引言
7.2 算术表达式
7.3 重载操作符
7.4 类型转换
7.5 关系和布尔表达式
7.6 短路计算
7.7 赋值语句
复习思考题
7.8 混合模式赋值
小结
有关问题集
程序设计练习
第8章 语句级控制结构
8.1 引言
8.2 选择语句
8.3 循环语句
人物访谈
8.4 无条件分支
8.5 卫哨命令
8.6 结论
小结
有关问题集
程序设计练习
复习思考题
第9章 子程序
9.1 引言
9.2 子程序基本知识
9.3 子程序的设计问题
9.4 局部引用环境
9.5 参数传递方法
人物访谈
9.6 子程序名作为参数
9.7 重载子程序
9.8 类属子程序
9.9 函数的设计问题
9.11 协同程序
9.10 用户自定义重载操作符
小结
复习思考题
有关问题集
程序设计练习
第10章 实现子程序
10.1 调用和返回的一般语义
10.2 实现“简单”子程序
10.3 实现有栈动态局部变量的子程序
10.4 嵌套子程序
人物访谈
10.5 块
10.6 实现动态作用域
小结
有关问题集
复习思考题
11.1 抽象的概念
第11章 抽象数据类型和封装构造
11.2 数据抽象引言
11.3 抽象数据类型的设计问题
11.4 语言示例
人物访谈
11.5 参数化抽象数据类型
11.6 封装构造
11.7 命名封装
小结
复习思考题
有关问题集
程序设计练习
12.1 引言
第12章 对面向对象程序设计的支持
12.2 面向对象程序设计
12.3 面向对象语言的设计问题
12.4 Smalltalk中对面向对象程序设计的支持
12.5 C++中对面向对象程序设计的支持
人物访谈
12.6 Java中对面向对象程序设计的支持
12.7 C#中对面向对象程序设计的支持
12.8 Ada 95中对面向对象程序设计的支持
12.9 JavaScript的对象模型
12.10 面向对象构造的实现
小结
复习思考题
程序设计练习
有关问题集
第13章 并发
13.1 引言
13.2 子程序级并发介绍
13.3 信号量
13.4 监视器
13.5 消息传递
13.6 Java线程
13.7 C#线程
13.8 语句级并发
小结
参考书目
复习思考题
程序设计练习
有关问题集
第14章 异常处理和事件处理
14.1 异常处理介绍
14.2 Ada中的异常处理
14.3 C++中的异常处理
14.4 Java中的异常处理
人物访谈
14.5 事件处理介绍
14.6 Java的事件处理
小结
参考书目
复习思考题
有关问题集
程序设计练习
15.1 引言
第15章 函数式程序设计语言
15.2 数学函数
15.3 函数式程序设计语言的基础知识
15.4 第一个函数式程序设计语言:LISP
15.5 Scheme介绍
15.6 COMMON LISP
15.7 ML
15.8 Haskell
15.9 函数式语言的应用
15.10 函数式和命令式语言的比较
小结
参考书目
复习思考题
有关问题集
程序设计练习
第16章 逻辑程序设计语言
16.1 引言
16.2 谓词算子的简要介绍
16.3 谓词算子和证明定理
16.4 逻辑程序设计概述
16.5 Prolog的起源
16.6 Prolog的基本元素
16.7 Prolog的缺陷
16.8 逻辑程序设计的应用
小结
参考书目
复习思考题
有关问题集
程序设计练习
参考文献