科技
类型
可以朗读
语音朗读
424千字
字数
2023-06-01
发行日期
展开全部
主编推荐语
本书主要介绍计算的核心思想。
内容简介
全书主要内容包括:构造函数抽象,构造数据抽象,模块化、对象和状态,元语言抽象,寄存器机器里的计算等。采用JavaScript作为实例分析,但并不拘泥于对语言的解释,而是通过这种语言来阐述程序设计思想。
第1章介绍了计算过程以及函数在程序设计中扮演的角色。第2章在第1章的基础上提供了将数据对象组合起来形成复合数据。第3章介绍了一些帮助我们模块化构造大型系统的策略。第4章通过元语言抽象探究如何在一些语言的基础上开发新语言的技术。第5章从寄存器机器的角度出发,通过设计寄存器机器,实现重要的程序设计结构,同时给出一种描述寄存器机器设计的语言。
本书揭示计算机程序设计思想的实质是改变了人们的思考方式:从命令式的观点去研究知识的结构。因此,本书所阐述的设计思想不仅适用于计算机程序设计,而且适用于所有工程设计。
目录
- 版权信息
- 译者序
- 序言
- 1984年版《计算机程序的构造和解释》的原序
- 前言
- 1996年SICP第2版的前言
- 1984年SICP第1版的前言
- 致谢
- 1996年SICP第2版的致谢
- 第1章 构造函数抽象
- 1.1 程序设计的基本元素
- 1.1.1 表达式
- 1.1.2 命名和环境
- 1.1.3 运算符组合式的求值
- 1.1.4 复合函数
- 1.1.5 函数应用的代换模型
- 1.1.6 条件表达式和谓词
- 1.1.7 实例:用牛顿法求平方根
- 1.1.8 函数作为黑箱抽象
- 1.2 函数与它们产生的计算
- 1.2.1 线性递归和迭代
- 1.2.2 树形递归
- 1.2.3 增长的阶
- 1.2.4 求幂
- 1.2.5 最大公约数
- 1.2.6 实例:素数检测
- 1.3 用高阶函数做抽象
- 1.3.1 函数作为参数
- 1.3.2 用lambda表达式构造函数
- 1.3.3 函数作为通用的方法
- 1.3.4 函数作为返回值
- 第2章 构造数据抽象
- 2.1 初识数据抽象
- 2.1.1 实例:有理数的算术运算
- 2.1.2 抽象屏障
- 2.1.3 数据是什么意思?
- 2.1.4 扩展练习:区间算术
- 2.2 层次性数据和闭包性质
- 2.2.1 序列的表示
- 2.2.2 层次结构
- 2.2.3 序列作为约定的接口
- 2.2.4 实例:一个图形语言
- 2.3 符号数据
- 2.3.1 字符串
- 2.3.2 实例:符号求导
- 2.3.3 实例:集合的表示
- 2.3.4 实例:Huffman编码树
- 2.4 抽象数据的多重表示
- 2.4.1 复数的表示
- 2.4.2 带标签数据
- 2.4.3 数据导向的程序设计和可加性
- 2.5 包含通用型操作的系统
- 2.5.1 通用型算术运算
- 2.5.2 不同类型数据的组合
- 2.5.3 实例:符号代数
- 第3章 模块化、对象和状态
- 3.1 赋值和局部状态
- 3.1.1 局部状态变量
- 3.1.2 引进赋值带来的利益
- 3.1.3 引进赋值的代价
- 3.2 求值的环境模型
- 3.2.1 求值规则
- 3.2.2 简单函数的应用
- 3.2.3 框架作为局部状态的仓库
- 3.2.4 内部定义
- 3.3 用变动数据建模
- 3.3.1 可变的表结构
- 3.3.2 队列的表示
- 3.3.3 表格的表示
- 3.3.4 数字电路模拟器
- 3.3.5 约束传播
- 3.4 并发:时间是一个本质问题
- 3.4.1 并发系统中时间的性质
- 3.4.2 控制并发的机制
- 3.5 流
- 3.5.1 流作为延迟的表
- 3.5.2 无穷流
- 3.5.3 流计算模式的应用
- 3.5.4 流和延迟求值
- 3.5.5 函数式程序的模块化和对象的模块化
- 第4章 元语言抽象
- 4.1 元循环求值器
- 4.1.1 求值器的核心部分
- 4.1.2 组件的表示
- 4.1.3 求值器的数据结构
- 4.1.4 把求值器作为程序运行
- 4.1.5 以数据为程序
- 4.1.6 内部声明
- 4.1.7 分离语法分析与执行
- 4.2 惰性求值
- 4.2.1 正则序和应用序
- 4.2.2 采用惰性求值的解释器
- 4.2.3 流作为惰性的表
- 4.3 非确定性计算
- 4.3.1 搜索和amb
- 4.3.2 非确定性程序实例
- 4.3.3 实现amb求值器
- 4.4 逻辑程序设计
- 4.4.1 演绎式信息检索
- 4.4.2 查询系统如何工作
- 4.4.3 逻辑程序设计是数理逻辑吗?
- 4.4.4 实现查询系统
- 第5章 寄存器机器里的计算
- 5.1 寄存器机器的设计
- 5.1.1 一种描述寄存器机器的语言
- 5.1.2 机器设计的抽象
- 5.1.3 子程序
- 5.1.4 使用栈实现递归
- 5.1.5 指令总结
- 5.2 寄存器机器的模拟器
- 5.2.1 机器模型
- 5.2.2 汇编器
- 5.2.3 指令和它们的执行函数
- 5.2.4 监视机器执行
- 5.3 存储分配和废料收集
- 5.3.1 把存储器看作向量
- 5.3.2 维持一种无穷存储的假象
- 5.4 显式控制的求值器
- 5.4.1 分派器和基本求值
- 5.4.2 函数应用的求值
- 5.4.3 块结构、赋值和声明
- 5.4.4 求值器的运行
- 5.5 编译
- 5.5.1 编译器的结构
- 5.5.2 组件的编译
- 5.5.3 编译函数应用和返回语句
- 5.5.4 指令序列的组合
- 5.5.5 编译代码的实例
- 5.5.6 词法地址
- 5.5.7 将编译代码与求值器接口
- 参考文献
- 索引
- 练习列表
- 推荐阅读
展开全部
出版方
机械工业出版社
机械工业出版社是全国优秀出版社,自1952年成立以来,坚持为科技、为教育服务,以向行业、向学校提供优质、权威的精神产品为宗旨,以“服务社会和人民群众需求,传播社会主义先进文化”为己任,产业结构不断完善,已由传统的图书出版向着图书、期刊、电子出版物、音像制品、电子商务一体化延伸,现已发展为多领域、多学科的大型综合性出版社,涉及机械、电工电子、汽车、计算机、经济管理、建筑、ELT、科普以及教材、教辅等领域。