之前读过sicp以及和sicp比较相近的plai,所以虽然很早之前就知道这本书但一直没有下决心来读,怕是和sicp内容相近。如果因为这样的想法而错过这本书,那我一定会相当的遗憾了。
几年前刚开始接触funtional programming的时候感觉相当的震撼,原来程序是可以这么写的。这本书展示的declarative programming 让我重温了这种感觉,震撼。
书里使用的语言是oz,我认为oz最重要的特点是变量只能被赋值一次,变量除了被赋值状态外还可以保持一种unbound的状态。一个表达式执行的时候如果这个表达式中有unbound的变量,程序就会在这个表达式这里停住直到这个变量被赋值。一次赋值保证了程序的执行结果和执行顺序无关即declarative,而通过unbound变量来控制程序的执行过程给很多程序控制技巧提供了可能。
从编程技巧角度来说,这本书里面使用的很多技巧都是很巧妙而且比较难理解的。像sicp里面cons的实现和continuation的实现那样的巧妙技巧,这本书里面可以找到许多,比如:different list, 通过bind变量传递需求的producer/consumer,token exchange 实现的锁 ,functional 实现的面向对象编程。书里的面向对象不仅从头搞了一个 面向对象实现,而且这个实现基本的动态特性都具备了,method redefine, method missing, duck typing,这个实现还有两个我见过的动态语言没有的特性,动态的methd name,first class message。
在big idea,high level 方面这本书更是博大浩瀚,作者把编程语言归纳成三个层次,languages->paradigms->concepts。这本书里面把主流的paradigms基本介绍而且实现了一遍,Declarative Concurrency,Message-Passing Concurrency,Explicit State,Object-Oriented Programming,Relational Programming,Constraint Programming。
总之,这本书和sicp基本没有相似的内容,读过sicp的人更应该读读这本。
完全不同于sicp
对“完全不同于sicp”的回应
《Concepts, Techniques, and Models of Computer Programming》热门书评
-
完全不同于sicp
27有用 0无用 seal_hu 2009-11-10
之前读过sicp以及和sicp比较相近的plai,所以虽然很早之前就知道这本书但一直没有下决心来读,怕是和sicp内容相近。如果因为这样的想法而错过这本书,那我一定会相当的遗憾了。 ...
-
关于编程,还有很多~~~
0有用 0无用 RONGE KUTA 2011-05-15
这是一本和SICP有相似内容的书,粗略的浏览一下,书中设计到多种计算模型,而这些计算模型都仅仅在SICP中作为介绍性的进行阐述,而在这本书上更具备体系化,我们可以将其称之为: 编程范式(programming paradigm)的东西。...
-
编程学习
0有用 0无用 Hakura Matata 2017-04-21
托马斯·库恩在「科学革命的结构」中提出过这么一个当时让我很惊讶的观点:常规科学不过是致力于求解当前的某一知识领域中留下来的谜题,并非以创新为目标;它的目的不在事实或理论的新颖性。既然如此,一个不以创新为日常工作目标的领域是怎么做到持续的突破更新迭代的呢?答案也正在于这种工作方式本身:公认的理论、稳定...
书名: Concepts, Techniques, and Models of Computer Programming
作者:
出版社: The MIT Press
出版年: 2004-2-20
页数: 936
定价: USD 78.00
装帧: Hardcover
ISBN: 9780262220699