好久没这么畅快地阅读了!

2008-03-20 21:08:57   来自: Jockey
How to Design Programs的评论   5 star rating5 star rating5 star rating5 star rating5 star rating


  schemers.org列了一个表,把所有关于Scheme的优秀书籍都囊括了进来,有不少是开放版权,作者将全文发布在官方网站上的,其中就包括在中国被视为无比神圣而在amazon.com上却出现奇怪的评分两头倒的SICP。然而同样是在线教程,只有HtDP是schemers.org唯一推荐的--甚至都不是TSPL。的确,Scheme的语法是次要的,即便把R6RS背得滚瓜烂熟,可能连一个带累积器的二叉树遍历都写不出。
  
  和SICP不同,正如书名所暗示的,HtDP强调的是程序设计的方法。实际上,在每一个阶段,作者都会花不少章节完善程序设计的recipe:问题分析,数据定义,合约,说明,模板,实现,测试等;甚至有时候,设计过程所注写的comment会远远超过程序本身的行数,却换来了绝佳的可读性和易维护性。相比之下,SICP的思想性似乎更广一些(我虽然还没有拜读过SICP,但是有略微翻阅),并且代码样本很少有注释。从这点上而言,HtDP和SICP是正交的。如果有时间,两本都要读(并一定是HtDP先读),例题尽量多做,且一定按照HtDP的风格设计每一个函数。坚持下来,当完成SICP后,对计算本质的理解和良好编码习惯的养成同时修成正果,这难道不是你耗费精力学习Scheme所盼望获得的吗?
  
  注意一点:即便HtDP是schemers.org推荐的tutorial,她也没有完整地覆盖整个Scheme语言核心。因为Scheme的存在就是为了让人类忘记语法的约束而“肆无忌惮”地设计程序解决问题的,对于具体语言的细节,只要参考R5RS就完全足够了。当然,如果实在需要一本“K&R”风格的Scheme主题的读物,TSPL是个不错的选择(可喜的是,你同样可以在线阅读全文)。
  
  最后要说,阅读HtDP的过程是愉悦的,毫无痛苦的。这是一种阔别已久的感觉。我一再强调自己不是一个程序员,也不想成为一个程序员。但是Scheme不需要程序员,她需要的是自我挖掘而享受乐趣并乐此不疲的追随者。

2008-03-20 21:36:47 hacker47

  函数式编程,是不是这两本足以?

2008-03-20 22:54:44 Jockey

  @hacker47:
  主要是这两本足够免费而已,而且也只是针对Scheme吧...
  The Little Schemer 和 The Seasoned Schemer 应该也不错吧,只是不容易搞到副本。
  Concrete Abstractions: An Introduction to Computer Science Using Scheme 貌似也挺不错,只是有些老了,群众基础也不是很扎实。

2008-03-21 11:03:07 啸天猪

  老实说,读SICP的时侯最快乐的是看footnote,最郁闷的是看exercise

2008-03-21 13:26:01 海浪

  难得啊,不过这种书看不蛮懂
  
  那确实湖南方言论坛 www.naqoshi.com

2008-03-21 14:21:23 泥石流

  我看了一点,觉得太啰嗦了...
  好象的确只有它的SICP的免费的.

2008-03-21 14:25:47 Mr.cFmoNkey

  唉, 终于没有把sicp看完.... 什么时候续上

2008-03-21 17:18:08 scallet

  首页很难出现技术书籍的评论呢,鼓励一下:)

2008-03-29 18:17:54 Mars

  我比较推荐这个过程
  HtDP ---> SICP ---> EoPL

2008-12-17 19:55:58 `(satoru Logic)

  我试试Mars推荐的过程

2009-10-31 14:34:57 Tsunami

  着本书答案有么。。。

2009-10-31 21:56:57 Jockey

  有官方答案,不过你得证明你是教室并且给作者去邮件。非法渠道的就不知道了,不过我觉得这本书的习题已经够简单的了...


在哪儿买这本书?   · · · · · · 

>How to Design Programs

How to Design Programs
作者: Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi
副标题: An Introduction to Programming and Computing
isbn: 0262062186
书名: How to Design Programs
页数: 693
定价: USD 71.00
出版社: The MIT Press
装帧: Hardcover
出版年: 2001-02-12

Jockey的其他评论   · · · · · ·