展开全部

主编推荐语

本书主要介绍计算的核心思想。

内容简介

全书主要内容包括:构造函数抽象,构造数据抽象,模块化、对象和状态,元语言抽象,寄存器机器里的计算等。采用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、科普以及教材、教辅等领域。