• 计算机程序的构造和解释
21年品牌 40万+商家 超1.5亿件商品

计算机程序的构造和解释

63.97 5.0折 129 九五品

仅1件

北京通州
认证卖家担保交易快速发货售后保障

作者[美]哈罗德·阿贝尔森,[美]杰拉尔德·杰伊·萨斯曼,[德]

出版社机械工业出版社

ISBN9787111734635

出版时间2024-02

版次1

装帧平装

开本16开

纸张胶版纸

定价129元

上书时间2024-12-08

纵列風

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九五品
商品描述
基本信息
书名:计算机程序的构造和解释
定价:129.00元
作者:[美]哈罗德·阿贝尔森,[美]杰拉尔德·杰伊·萨斯曼,[德]马丁·亨茨,[瑞典]托拜厄斯·瑞格斯塔德
出版社:机械工业出版社
出版日期:2024-02-01
ISBN:9787111734635
字数:
页码:
版次:
装帧:平装
开本:16开
商品重量:
编辑推荐
本书以JavaScript作为示例语言,讨论了构造函数抽象,构造数据抽象,模块化、对象和状态,元语言抽象,寄存器机器里的计算等重要问题。本书的主要关注点不是对所用语言的细节展示和说明,而是程序设计中重要的、具有普适性的思想和方法。本书倾力揭示计算思维的本质和内涵,考察它将如何改变人们的思考方式,推动人们用命令式的观点去探究世界。书中阐释的思想和方法的意义不限于程序设计领域,还可以推广到所有工程设计领域。本书适合所有真正关心计算机科学的本质和发展的人们阅读参考。
内容提要
本书主要介绍计算的核心思想,采用的方法是为计算建立一系列概念模型。主要内容包括:构造过程抽象,构造数据抽象,模块化、对象和状态,元语言抽象,寄存器机器里的计算等。采用JavaScript作为实例分析,但并不拘泥于对语言的解释,而是通过这种语言来阐述程序设计思想。章介绍了计算过程以及函数在程序设计中扮演的角色。第2章在章的基础上提供了将数据对象组合起来形成复合数据,进而构造抽象的方法。第3章介绍了一些帮助我们模块化构造大型系统的策略。第4章通过元语言抽象探究如何在一些语言的基础上开发新语言的技术。第5章从寄存器机器的角度出发,通过设计寄存器机器,开发一些机制,实现重要的程序设计结构,同时给出一种描述寄存器机器设计的语言。本书揭示计算机程序设计思想的实质是改变了人们的思考方式:从命令式的观点去研究知识的结构。因此,本书所阐述的设计思想不仅适用于计算机程序设计,而且适用于所有工程设计。
目录
目 录Structure and Interpretation of Computer Programs: JavaScript Editio译者序序言1984年版《计算机程序的构造和解释》的原序前言1996年SICP第2版的前言1984年SICP版的前言致谢1996年SICP第2版的致谢章 构造函数抽象11.1 程序设计的基本元素21.1.1 表达式31.1.2 命名和环境41.1.3 运算符组合式的求值51.1.4 复合函数61.1.5 函数应用的代换模型81.1.6 条件表达式和谓词111.1.7 实例:用牛顿法求平方根141.1.8 函数作为黑箱抽象171.2 函数与它们产生的计算201.2.1 线性递归和迭代211.2.2 树形递归241.2.3 增长的阶281.2.4 求幂291.2.5 公约数311.2.6 实例:素数检测331.3 用高阶函数做抽象371.3.1 函数作为参数371.3.2 用lambda表达式构造函数411.3.3 函数作为通用的方法451.3.4 函数作为返回值48第2章 构造数据抽象542.1 初识数据抽象562.1.1 实例:有理数的算术运算562.1.2 抽象屏障592.1.3 数据是什么意思?612.1.4 扩展练习:区间算术632.2 层次性数据和闭包性质652.2.1 序列的表示662.2.2 层次结构722.2.3 序列作为约定的接口762.2.4 实例:一个图形语言862.3 符号数据962.3.1 字符串962.3.2 实例:符号求导972.3.3 实例:集合的表示1022.3.4 实例:Huffman编码树1082.4 抽象数据的多重表示1142.4.1 复数的表示1152.4.2 带标签数据1182.4.3 数据导向的程序设计和可   加性1212.5 包含通用型操作的系统1272.5.1 通用型算术运算1282.5.2 不同类型数据的组合1312.5.3 实例:符号代数136第3章 模块化、对象和状态1463.1 赋值和局部状态1463.1.1 局部状态变量1473.1.2 引进赋值带来的利益1523.1.3 引进赋值的代价1553.2 求值的环境模型1593.2.1 求值规则1603.2.2 简单函数的应用1633.2.3 框架作为局部状态的仓库1653.2.4 内部定义1693.3 用变动数据建模1723.3.1 可变的表结构1723.3.2 队列的表示1793.3.3 表格的表示1823.3.4 数字电路模拟器1873.3.5 约束传播1963.4 并发:时间是一个本质问题2053.4.1 并发系统中时间的性质2063.4.2 控制并发的机制2093.5 流2183.5.1 流作为延迟的表2193.5.2 无穷流2253.5.3 流计算模式的应用2303.5.4 流和延迟求值2383.5.5 函数式程序的模块化和对象   的模块化242第4章 元语言抽象2464.1 元循环求值器2484.1.1 求值器的核心部分2494.1.2 组件的表示2544.1.3 求值器的数据结构2634.1.4 把求值器作为程序运行2674.1.5 以数据为程序2704.1.6 内部声明2724.1.7 分离语法分析与执行2754.2 惰性求值2804.2.1 正则序和应用序2804.2.2 采用惰性求值的解释器2814.2.3 流作为惰性的表2884.3 非确定性计算2894.3.1 搜索和amb2914.3.2 非确定性程序实例2944.3.3 实现amb求值器3004.4 逻辑程序设计3094.4.1 演绎式信息检索3114.4.2 查询系统如何工作3204.4.3 逻辑程序设计   是数理逻辑吗?3264.4.4 实现查询系统330第5章 寄存器机器里的计算3505.1 寄存器机器的设计3515.1.1 一种描述寄存器机器的语言3525.1.2 机器设计的抽象3555.1.3 子程序3575.1.4 使用栈实现递归3605.1.5 指令总结3645.2 寄存器机器的模拟器3655.2.1 机器模型3665.2.2 汇编器3695.2.3 指令和它们的执行函数3725.2.4 监视机器执行3785.3 存储分配和废料收集3805.3.1 把存储器看作向量3805.3.2 维持一种无穷存储的假象3845.4 显式控制的求值器3895.4.1 分派器和基本求值3905.4.2 函数应用的求值3935.4.3 块结构、赋值和声明4005.4.4 求值器的运行4015.5 编译4055.5.1 编译器的结构4075.5.2 组件的编译4115.5.3 编译函数应用和返回语句4175.5.4 指令序列的组合4235.5.5 编译代码的实例4265.5.6 词法地址4335.5.7 将编译代码与求值器接口435参考文献441索引447练习列表490
作者介绍
哈罗德?阿贝尔森(Harold Abelson)是MIT 1992年度MacVicar Faculty Fellow。在MIT电子工程和计算机科学系工作,得到过重要的计算机科学教育奖——IEEE计算机协会的Booth奖。杰拉尔德·杰伊·萨斯曼(Gerald Jay Sussman),麻省理工学院电子工程系教授。他长期从事人工智能的研究,还从事过计算机语言、计算机体系结构和超大规模集成电路设计方面的工作(Scheme编程语言的发明人之一),并致力于用计算机语言来表达和解决各领域的实际问题。他是IEEE 、AAAI 、ACM、AAAS等协会的Fellow,曾获得ACM Karl Karlstrom杰出教育家奖、Bose教学奖等。马丁·亨茨(Martin Henz),新加坡国立大学计算机科学系副教授。他曾是德国人工智能研究中心的科学家。他目前主要从事体验式学习的可扩展性的研究和教学。他因为在这方面的出色工作,而和Tobias Wrigstad将SICP这本书改编为JavaScript版本。他发表很多关于计算机科学和工程教育、编程语言等方面的论文。托拜厄斯·瑞格斯塔德(Tobias Wrigstad),乌普萨拉大学信息技术系教授,主要从事编程语言、并行编程、软件工程、并发编程方面的研究工作。在教学方面,长期为本科生讲授命令与面向对象编程方法论的导论课程。朱莉·萨斯曼(Julie Sussman),作家和编辑,同时使用自然语言和计算机语言写作。
序言

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP