计算机程序的构造和解释原书第2版典藏版

计算机程序的构造和解释原书第2版典藏版
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: , [美] (Harold Abelson) ,
2019-07
版次: 1
ISBN: 9787111630548
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 473页
163人买过
  • 本书曾是美国麻省理工学院计算机科学专业的入门课程教材之一, 从理论上讲解计算机程序的创建、 执行和研究。 主要内容包括:构造过程抽象,构造数据抽象,模块化、 对象和状态,元语言抽象,寄存器机器里的计算等。 哈罗德·阿贝尔森(Harold Abelson)是MIT 1992年度MacVicar Faculty Fellow。在MIT电子工程和计算机科学系工作,得到过重要的计算机科学教育奖——IEEE计算机学会的Booth奖。 
    杰拉尔德·杰伊·萨斯曼(Gerald Jay Sussman)是Matsushita电子工程教授。在MIT电子工程和计算机科学系工作,得到过重要的计算机科学教育奖——ACM的Karlstrom奖。 
    朱莉·萨斯曼(Julie Sussman)是作家和编辑,同时使用自然语言和计算机语言写作。 出版者的话 
    序 
    第2版前言 
    第1版前言 
    致谢 
    第1章 构造过程抽象1 
    1.1 程序设计的基本元素3 
    1.1.1 表达式3 
    1.1.2 命名和环境5 
    1.1.3 组合式的求值6 
    1.1.4 复合过程7 
    1.1.5 过程应用的代换模型9 
    1.1.6 条件表达式和谓词11 
    1.1.7 实例:采用牛顿法求平方根14 
    1.1.8 过程作为黑箱抽象17 
    1.2 过程及其产生的计算20 
    1.2.1 线性的递归和迭代21 
    1.2.2 树形递归24 
    1.2.3 增长的阶28 
    1.2.4 求幂29 
    1.2.5 最大公约数32 
    1.2.6 实例:素数检测33 
    1.3 用高阶函数做抽象37 
    1.3.1 过程作为参数37 
    1.3.2 用lambda构造过程41 
    1.3.3 过程作为一般性的方法44 
    1.3.4 过程作为返回值48 
    第2章 构造数据抽象53 
    2.1 数据抽象导引55 
    2.1.1 实例:有理数的算术运算55 
    2.1.2 抽象屏障58 
    2.1.3 数据意味着什么60 
    2.1.4 扩展练习:区间算术62 
    2.2 层次性数据和闭包性质65 
    2.2.1 序列的表示66 
    2.2.2 层次性结构72 
    2.2.3 序列作为一种约定的界面76 
    2.2.4 实例:一个图形语言86 
    2.3 符号数据96 
    2.3.1 引号96 
    2.3.2 实例:符号求导99 
    2.3.3 实例:集合的表示103 
    2.3.4 实例:Huffman编码树109 
    2.4 抽象数据的多重表示115 
    2.4.1 复数的表示116 
    2.4.2 带标志数据119 
    2.4.3 数据导向的程序设计和可加性122 
    2.5 带有通用型操作的系统128 
    2.5.1 通用型算术运算129 
    2.5.2 不同类型数据的组合132 
    2.5.3 实例:符号代数138 
    第3章 模块化、对象和状态149 
    3.1 赋值和局部状态149 
    3.1.1 局部状态变量150 
    3.1.2 引进赋值带来的利益154 
    3.1.3 引进赋值的代价157 
    3.2 求值的环境模型162 
    3.2.1 求值规则163 
    3.2.2 简单过程的应用165 
    3.2.3 将框架看作局部状态的展台167 
    3.2.4 内部定义171 
    3.3 用变动数据做模拟173 
    3.3.1 变动的表结构173 
    3.3.2 队列的表示180 
    3.3.3 表格的表示183 
    3.3.4 数字电路的模拟器188 
    3.3.5 约束的传播198 
    3.4 并发:时间是一个本质问题206 
    3.4.1 并发系统中时间的性质207 
    3.4.2 控制并发的机制210 
    3.5 流220 
    3.5.1 流作为延时的表220 
    3.5.2 无穷流226 
    3.5.3 流计算模式的使用232 
    3.5.4 流和延时求值241 
    3.5.5 函数式程序的模块化和对象的 
    模块化245 
    第4章 元语言抽象249 
    4.1 元循环求值器251 
    4.1.1 求值器的内核252 
    4.1.2 表达式的表示255 
    4.1.3 求值器数据结构260 
    4.1.4 作为程序运行求值器264 
    4.1.5 将数据作为程序266 
    4.1.6 内部定义269 
    4.1.7 将语法分析与执行分离273 
    4.2 Scheme的变形—惰性求值276 
    4.2.1 正则序和应用序277 
    4.2.2 一个采用惰性求值的解释器278 
    4.2.3 将流作为惰性的表284 
    4.3 Scheme的变形—非确定性计算286 
    4.3.1 amb和搜索287 
    4.3.2 非确定性程序的实例290 
    4.3.3 实现amb求值器296 
    4.4 逻辑程序设计304 
    4.4.1 演绎信息检索306 
    4.4.2 查询系统如何工作315 
    4.4.3 逻辑程序设计是数理逻辑吗321 
    4.4.4 查询系统的实现324 
    第5章 寄存器机器里的计算343 
    5.1 寄存器机器的设计344 
    5.1.1 一种描述寄存器机器的语言346 
    5.1.2 机器设计的抽象348 
    5.1.3 子程序351 
    5.1.4 采用堆栈实现递归354 
    5.1.5 指令总结358 
    5.2 一个寄存器机器模拟器359 
    5.2.1 机器模型360 
    5.2.2 汇编程序364 
    5.2.3 为指令生成执行过程366 
    5.2.4 监视机器执行372 
    5.3 存储分配和废料收集374 
    5.3.1 将存储看作向量374 
    5.3.2 维持一种无穷存储的假象378 
    5.4 显式控制的求值器383 
    5.4.1 显式控制求值器的内核384 
    5.4.2 序列的求值和尾递归388 
    5.4.3 条件、赋值和定义391 
    5.4.4 求值器的运行393 
    5.5 编译397 
    5.5.1 编译器的结构399 
    5.5.2 表达式的编译402 
    5.5.3 组合式的编译407 
    5.5.4 指令序列的组合412 
    5.5.5 编译代码的实例415 
    5.5.6 词法地址422 
    5.5.7 编译代码与求值器的互连425 
    参考文献431 
    练习表437 
    索引439
  • 内容简介:
    本书曾是美国麻省理工学院计算机科学专业的入门课程教材之一, 从理论上讲解计算机程序的创建、 执行和研究。 主要内容包括:构造过程抽象,构造数据抽象,模块化、 对象和状态,元语言抽象,寄存器机器里的计算等。
  • 作者简介:
    哈罗德·阿贝尔森(Harold Abelson)是MIT 1992年度MacVicar Faculty Fellow。在MIT电子工程和计算机科学系工作,得到过重要的计算机科学教育奖——IEEE计算机学会的Booth奖。 
    杰拉尔德·杰伊·萨斯曼(Gerald Jay Sussman)是Matsushita电子工程教授。在MIT电子工程和计算机科学系工作,得到过重要的计算机科学教育奖——ACM的Karlstrom奖。 
    朱莉·萨斯曼(Julie Sussman)是作家和编辑,同时使用自然语言和计算机语言写作。
  • 目录:
    出版者的话 
    序 
    第2版前言 
    第1版前言 
    致谢 
    第1章 构造过程抽象1 
    1.1 程序设计的基本元素3 
    1.1.1 表达式3 
    1.1.2 命名和环境5 
    1.1.3 组合式的求值6 
    1.1.4 复合过程7 
    1.1.5 过程应用的代换模型9 
    1.1.6 条件表达式和谓词11 
    1.1.7 实例:采用牛顿法求平方根14 
    1.1.8 过程作为黑箱抽象17 
    1.2 过程及其产生的计算20 
    1.2.1 线性的递归和迭代21 
    1.2.2 树形递归24 
    1.2.3 增长的阶28 
    1.2.4 求幂29 
    1.2.5 最大公约数32 
    1.2.6 实例:素数检测33 
    1.3 用高阶函数做抽象37 
    1.3.1 过程作为参数37 
    1.3.2 用lambda构造过程41 
    1.3.3 过程作为一般性的方法44 
    1.3.4 过程作为返回值48 
    第2章 构造数据抽象53 
    2.1 数据抽象导引55 
    2.1.1 实例:有理数的算术运算55 
    2.1.2 抽象屏障58 
    2.1.3 数据意味着什么60 
    2.1.4 扩展练习:区间算术62 
    2.2 层次性数据和闭包性质65 
    2.2.1 序列的表示66 
    2.2.2 层次性结构72 
    2.2.3 序列作为一种约定的界面76 
    2.2.4 实例:一个图形语言86 
    2.3 符号数据96 
    2.3.1 引号96 
    2.3.2 实例:符号求导99 
    2.3.3 实例:集合的表示103 
    2.3.4 实例:Huffman编码树109 
    2.4 抽象数据的多重表示115 
    2.4.1 复数的表示116 
    2.4.2 带标志数据119 
    2.4.3 数据导向的程序设计和可加性122 
    2.5 带有通用型操作的系统128 
    2.5.1 通用型算术运算129 
    2.5.2 不同类型数据的组合132 
    2.5.3 实例:符号代数138 
    第3章 模块化、对象和状态149 
    3.1 赋值和局部状态149 
    3.1.1 局部状态变量150 
    3.1.2 引进赋值带来的利益154 
    3.1.3 引进赋值的代价157 
    3.2 求值的环境模型162 
    3.2.1 求值规则163 
    3.2.2 简单过程的应用165 
    3.2.3 将框架看作局部状态的展台167 
    3.2.4 内部定义171 
    3.3 用变动数据做模拟173 
    3.3.1 变动的表结构173 
    3.3.2 队列的表示180 
    3.3.3 表格的表示183 
    3.3.4 数字电路的模拟器188 
    3.3.5 约束的传播198 
    3.4 并发:时间是一个本质问题206 
    3.4.1 并发系统中时间的性质207 
    3.4.2 控制并发的机制210 
    3.5 流220 
    3.5.1 流作为延时的表220 
    3.5.2 无穷流226 
    3.5.3 流计算模式的使用232 
    3.5.4 流和延时求值241 
    3.5.5 函数式程序的模块化和对象的 
    模块化245 
    第4章 元语言抽象249 
    4.1 元循环求值器251 
    4.1.1 求值器的内核252 
    4.1.2 表达式的表示255 
    4.1.3 求值器数据结构260 
    4.1.4 作为程序运行求值器264 
    4.1.5 将数据作为程序266 
    4.1.6 内部定义269 
    4.1.7 将语法分析与执行分离273 
    4.2 Scheme的变形—惰性求值276 
    4.2.1 正则序和应用序277 
    4.2.2 一个采用惰性求值的解释器278 
    4.2.3 将流作为惰性的表284 
    4.3 Scheme的变形—非确定性计算286 
    4.3.1 amb和搜索287 
    4.3.2 非确定性程序的实例290 
    4.3.3 实现amb求值器296 
    4.4 逻辑程序设计304 
    4.4.1 演绎信息检索306 
    4.4.2 查询系统如何工作315 
    4.4.3 逻辑程序设计是数理逻辑吗321 
    4.4.4 查询系统的实现324 
    第5章 寄存器机器里的计算343 
    5.1 寄存器机器的设计344 
    5.1.1 一种描述寄存器机器的语言346 
    5.1.2 机器设计的抽象348 
    5.1.3 子程序351 
    5.1.4 采用堆栈实现递归354 
    5.1.5 指令总结358 
    5.2 一个寄存器机器模拟器359 
    5.2.1 机器模型360 
    5.2.2 汇编程序364 
    5.2.3 为指令生成执行过程366 
    5.2.4 监视机器执行372 
    5.3 存储分配和废料收集374 
    5.3.1 将存储看作向量374 
    5.3.2 维持一种无穷存储的假象378 
    5.4 显式控制的求值器383 
    5.4.1 显式控制求值器的内核384 
    5.4.2 序列的求值和尾递归388 
    5.4.3 条件、赋值和定义391 
    5.4.4 求值器的运行393 
    5.5 编译397 
    5.5.1 编译器的结构399 
    5.5.2 表达式的编译402 
    5.5.3 组合式的编译407 
    5.5.4 指令序列的组合412 
    5.5.5 编译代码的实例415 
    5.5.6 词法地址422 
    5.5.7 编译代码与求值器的互连425 
    参考文献431 
    练习表437 
    索引439
查看详情
相关图书 / 更多
计算机程序的构造和解释原书第2版典藏版
计算机基础与实训教程
顾玲芳 编
计算机程序的构造和解释原书第2版典藏版
计算机网络攻击与防护
刘念;陈雪松;谈洪磊
计算机程序的构造和解释原书第2版典藏版
计算机组成原理与汇编语言
田民格、秦彩杰、林观俊、田佳琪
计算机程序的构造和解释原书第2版典藏版
计算机网络技术(第5版)
徐立新 吕书波
计算机程序的构造和解释原书第2版典藏版
计算天文
冯毅
计算机程序的构造和解释原书第2版典藏版
计算思维培养与无人机创意编程
范谊 陈宇 张锦东
计算机程序的构造和解释原书第2版典藏版
计算机组成原理与系统结构(第3版)
冯建文 章复嘉 赵建勇 包健 编著
计算机程序的构造和解释原书第2版典藏版
计算小状元 小学数学 2年级上册 bs版 小学数学单元测试 新华
作者
计算机程序的构造和解释原书第2版典藏版
计算机应用基础
苗苗
计算机程序的构造和解释原书第2版典藏版
计算机系统原理(2023年版) 全国高等教育自学考试指导委员会
全国高等教育自学考试指导委员会
计算机程序的构造和解释原书第2版典藏版
计算机辅助翻译教程()
赵秋荣
计算机程序的构造和解释原书第2版典藏版
计算机三维建模方法
易健宏 编著;李凤仙
您可能感兴趣 / 更多
计算机程序的构造和解释原书第2版典藏版
以文学为业:一部体制史(艺术与社会译丛)
杰拉尔德·格拉夫 著;蒋思婷 译;童可依
计算机程序的构造和解释原书第2版典藏版
宝宝睡前发声书·谁没睡午觉
杰拉尔丁·科斯诺 童趣出版有限公司
计算机程序的构造和解释原书第2版典藏版
奥古斯丁的人生智慧
杰拉尔德·布雷(Gerald Bray) 著;王虔 译
计算机程序的构造和解释原书第2版典藏版
运筹学导论(翻译版·第11版)
杰拉尔德·利伯曼(Gerald J. Lieberman) 著;麦强 译;[美]弗雷德里克·希利尔(Frederick S. Hillier);胡运权
计算机程序的构造和解释原书第2版典藏版
秘密花园:美绘版
杰拉尔丁·麦考 著;弗朗西丝·霍奇森·伯内特、刘勇军 译
计算机程序的构造和解释原书第2版典藏版
护理概念分析--研究与实践应用
杰拉尔丁·麦卡锡 编;[美]乔伊斯·J·菲茨帕特里克、2020届爱尔兰特拉利理工学院护理硕士班 译
计算机程序的构造和解释原书第2版典藏版
桂冠国际大奖儿童文学 梅尔的愿望清单
杰拉尔丁·麦考琳
计算机程序的构造和解释原书第2版典藏版
桂冠国际大奖儿童文学——海盗天堂
杰拉尔丁·麦考琳
计算机程序的构造和解释原书第2版典藏版
管理沟通:策略与应用(英文版·第6版)/工商管理经典丛书·核心课系列
杰拉尔丁·海因斯(Geraldine E.Hynes) 著
计算机程序的构造和解释原书第2版典藏版
销售学:伙伴关系创造价值(第14版)()
杰拉尔德·曼宁、迈克尔·阿亨、巴里·里斯 著
计算机程序的构造和解释原书第2版典藏版
销售学:伙伴关系创造价值(英文版·第14版)
杰拉尔德·曼宁
计算机程序的构造和解释原书第2版典藏版
Aspen软件在化工过程分析和模拟中的应用
杰拉尔多·罗德里格斯·尼诺 著;马后炮化工网 译;伊万·达里奥·吉尔·查韦斯;哈维尔·里卡多·格瓦拉·洛佩兹;乔斯·刘易斯·加西亚·萨帕塔;亚历山大·莱古伊萨蒙·罗瓦约