| 书[0名0]: | 计算机程序的构造和解释(原书[0第0]2版)|17992 |
| 图书定价: | 45元 |
| 图书作者: | (美)Harold Abelson,Gerald Jay Sussman,Julie Sussman |
| 出版社: | 机械工业出版社 |
| 出版日期: | 2004/2/1 0:00:00 |
| ISBN号: | 7111135105 |
| 开本: | 16开 |
| 页数: | 473 |
| 版次: | 2-1 |
| 作者简介 |
| harold abelson是mit1992年度macvicarfacultyfellow。gerald jaysussman是matsushita电子工程教授。他们都在mit电子工程和计算机科[0学0]系工作.都得到过重要的计算机科[0学0]教育奖:如abelson得到了ieee计算机[0学0][0会0]的booth奖。sussman得到了acm的karlstrom奖。julie sussman是作家和编辑,同时使用自然语言和计算机语言写作。 |
| 内容简介 |
| 本书1984年出版,成型于美[0国0]麻省理工[0学0]院(MIT)多年使用的一本教材,1996年修订为[0第0]2版。在过去的二十多年里,本书对于计算机科[0学0]的教育计划产生了深刻的影响。 [0第0]2版中[0大0]部分重要程序设计系统都重新修改并做过测试,包括各种解释器和编译器。作者根据其后十余年的教[0学0]实践,还对其他许多细节做了相应的修改。 本书自出版以来,世界各地已有100多所院校采用本书做教材,其中包括美[0国0]斯坦福[0大0][0学0]、美[0国0]普林斯顿[0大0][0学0]、英[0国0]牛津[0大0][0学0]、日本东京[0大0][0学0]等。 |
| 目录 |
[0第0]1章 构造过程抽象 1.1程序设计的基本元素 1.1.1表达式 1.1.2命[0名0]和环境 1.1.3组合式的求值 1.1.4复合过程 1.1.5过程应用的代换模型 1.1.6条件表达式和谓词 1.1.7实例:采用牛顿[0法0]求平方根 1.1.8过程作为黑箱抽象 1.2过程与它们所产生的计算 1.2.1线性的递归和迭代 1.2.2树形递归 1.2.3增长的阶 1.2.4求幂 1.2.5[0大0]公约数 1.2.6实例:素数检测 1.3用高阶函数做抽象 1.3.1过程作为参数 1.3.2用lambda构造过程 1.3.3过程作为一般性的方[0法0] 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实例:符号代数 [0第0]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 函数式程序的模块化和对象的模块化 [0第0]4章 元语言抽象 4.1元循环求值器 4.1.1求值器的内核 4.1.2表达式的表示 4.1.3求值器数据结构 4.1.4作为程序运行这个求值器 4.1.5将数据作为程序 4.1.6内部定义 4.1.7将语[0法0]分析与执行分离 4.2Scheme的变形--惰性求值 4.2.1正则序和应用序 4.2.2一个采用惰性求值的解释器 4.2.3将流作为惰性的表 4.3Scheme的变形--非确定性计算 4.3.1amb和搜索 4.3.2非确定性程序的实例 4.3.3实现arab求值器 4.4逻辑程序设计 4.4.1演绎信息检索 4.4.2查询系统如何工作 4.4.3逻辑程序设计是数理逻辑吗 4.4.4查询系统的实现 [0第0]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词[0法0]地址 5.5.7编译代码与求值器的互连 参考文献 练习表 索引 |
这本书简直就是一本“编程哲学”的百科全书!它不是那种让你快速上手某个框架的书,而是带你深入到编程的“灵魂”层面。从最基础的“计算模型”,到“抽象”、“状态”、“并发”等核心概念,作者都进行了极其深入且清晰的阐述。我最喜欢的部分是关于“元循环”的思想,它让我理解了语言是如何自我描述和自我实现的,这对于理解编译原理和解释器的工作方式至关重要。书中的例子都非常精炼,往往一个简单的例子就能揭示出深刻的道理。虽然有些练习题需要花费大量的时间去思考和调试,但每一次成功解决都带来了巨大的满足感,也加深了我对概念的理解。这本书让我明白,编程不仅仅是敲击键盘,更是一种严谨的思维方式和创造性的过程。它培养了我对计算机科学的“敬畏感”和“求知欲”,让我看到了编程的无限可能性。
评分我真的很难形容这本书对我学习计算机科学产生了多大的影响。它不仅仅是一本关于“如何编程”的书,更是一本关于“如何思考”的书。作者非常擅长用精炼的语言和极具启发性的例子来阐述复杂的概念。特别是关于“抽象”的部分,我之前对这个词只是模糊的概念,读完这一章后,才真正理解了它的力量和重要性。书中提到的“符号求值”、“过程抽象”、“数据抽象”等概念,让我对程序的组织结构有了全新的认识。它不像市面上很多畅销书那样追求“炫酷”的技巧,而是扎扎实实地讲解计算机科学的核心思想。我常常在遇到新的编程问题时,会回过头来翻阅这本书,常常能从中找到解决问题的思路和灵感。它就像一位智慧的长者,永远在你迷茫的时候,给你指引方向。这本书的语言风格非常严谨,但也充满了哲学思辨的味道,读起来虽然需要投入相当的精力,但每一次阅读都会有新的收获。
评分这本书简直是我的“编程启蒙圣经”!我当初抱着试试看的心态买来,结果完全被它深深吸引。它不是那种直接告诉你“复制代码然后运行”的快餐式教程,而是真正带你深入到计算机的底层逻辑。从最基础的符号运算、递归,到过程抽象、状态、并发,每一章都像是在解开一个层层递进的谜团。书中的习题设计得非常巧妙,需要你动脑筋去思考,去设计,去实现。我记得有一次为了解决一个关于“括号匹配”的习题,我花了整整一个下午,查阅了很多资料,最终自己一点点把代码敲出来,那一刻的成就感无与伦比。它教会我的不仅仅是写代码的语法,更是如何去“构建”一个程序,如何去理解计算机是如何工作的。这本书的排版和翻译也做得很好,阅读起来很流畅,虽然有些概念确实需要反复琢磨,但那种“豁然开朗”的感觉,是其他很多书都无法给予的。它让我对编程产生了一种敬畏之心,也让我明白了,真正的技术掌握,是建立在深刻理解之上的。
评分老实说,这本书对我来说,是一次“硬核”的挑战,但也正是这种挑战,让我受益匪浅。它让我看到了编程背后那更深层次的数学和逻辑原理。书中的“元语言元论”以及“过程与数据”、“状态与变化”等章节,虽然一开始让我有些头疼,但随着我一点点地啃下来,那些晦涩的概念逐渐变得清晰起来。我尤其欣赏作者在讲解“递归”时的循序渐进,从简单的例子到复杂的应用,让我能够逐步掌握这种强大的编程范式。它不仅仅是理论的堆砌,而是通过大量的代码示例和练习题,让你亲手去实践,去体会。我曾经花了很久的时间去理解“环境模型”是如何工作的,最终通过书中提供的练习,我能够画出程序执行过程中变量的绑定关系,这让我对程序的运行机制有了更直观的认识。这本书的难度确实不低,需要耐心和毅力,但如果你真的想深入理解计算机程序的本质,它绝对是不可多得的宝藏。
评分这本书就像是一次穿越计算机科学“时间长河”的旅行。它没有过分强调时下流行的技术栈,而是聚焦于那些跨越时代的、永恒的计算机科学原理。从 Lisp 语言的设计哲学,到解释器的构建,再到并发和并行计算的初步探讨,它为我打开了一个全新的视角。我特别喜欢书中关于“模块化”和“组件化”的思想,它让我明白如何设计出可维护、可扩展的复杂系统。它不仅仅是在教你如何写代码,更是在教你如何“思考”编程,如何去构建一个优雅、高效的程序。虽然有些章节的数学推导让我感到吃力,但正是这些严谨的理论支撑,让我对计算机科学的理解更加深刻。这本书的优点在于其深度和广度,它能够让你从宏观上理解计算机科学的图景,又能让你在微观上把握编程的精髓。它不是一本速成手册,而是一本需要你静下心来,反复品读,并付诸实践的“经典”。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.coffeedeals.club All Rights Reserved. 静流书站 版权所有