完全不同于sicp_Concepts, Techniques, and Models of Computer Programming书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > Concepts, Techniques, and Models of Computer Programming > 完全不同于sicp
seal_hu Concepts, Techniques, and Models of Computer Programming 的书评 发表时间:2009-11-10 17:11:59

完全不同于sicp

      之前读过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的人更应该读读这本。
      

展开全文
有用 27 无用 0

您对该书评有什么想说的?

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“完全不同于sicp”的回应

Richard 2013-01-04 15:45:14

看了看目录和前言,觉得应该不错。不过900多页的英文版比较难啃