这本书伴随着我自学编程开始,大概半年时间左右,反反复复,一直没有完整的阅读下来。直到上个暑假,我大概花了大半个月的时间,终于把它从头到尾完整的刷了一遍。
同一本书,在不同的时间段,给我的感悟,确实是有很大不同的。
一开始读这本书,是在知乎上看到有很多人安利SICP这本书。无奈完SICP第一张之后,第二章数据抽象实在是进行不下去了。偶然间,在豆瓣上看到了很多人推荐新人读读这本书,为SICP打基础,因而转战此书。当时看的是网上的第二版。作为一个从0开始,被SICP虐的不要不要的萌新,确实感觉比SICP容易很多,但是当时觉得这本书“过于简单”,于是看完第一章不到,遍匆匆放弃了。
后来,在我接触了很多其他语言(js,c,c++,ruby,python,assembly)的过程中,几次觉得需要增强自己的编程“内力”,再一次想转战此书。但读一读,还是没什么太大的感觉,于是每次捡起它,都看不了多少,就又放下了。
这次,旁听了一学期本校计算机专业各种下半学期的课程与实验之后,深感自己编程能力不足。因此下定决心,一定要在假期尽可能的提升自己的“内力”,于是在学校图书馆找到了这本书的第一版。
以我现在的理解来看,这本书想做的,是教授你 : 程序员思维方式。 比如:抽象(如何把问题抽象等等),如何有条理的去思考问题,明确问题等等。
实际上,任何一本有关于编程的书籍,肯定都会包含这方面的内容。但是很少有像scheme这样的语言,能让花更多的时间在思考实际问题,而不是拘泥于语法以及如何用语言表述这个问题。并且又很少有像HTDP这样,难度适宜,讲解与习题循序渐进的书籍。
但是我仍然不推荐自学的萌新一开始就读这本书。原因如下:
1.书太厚了,初学者很难坚持将其看完。比起a-byte-of-python这样不到160页的入门书籍,显然初学者更有可能完整的看完后者,并进行进一步的练习。
2.对于时间不充裕的人来说,比如:很多自学的萌新都是其他专业想转行做程序员。学这本书的好处,不会立竿见影,并且绝大多数情况下,你是不会用scheme去参与工作中的。不如去熟悉其他的,将来工作要用到语言,能够尽快的找到工作实践。
3.对于那些有充分时间学习的初学者来说,由于CS相关的大部分经典教材里面的代码主要都是C写的,学完此书,肯定还要继续再学习C。不如先学习C语言,然后读读有关C的数据结构与算法,操作系统等等的书籍之后,再回头看看这本HTDP。我觉得,只有有了一定编程经验的人,才好理解作者的良苦用心吧。
读的比较仓促,习题与练习的章节只完成了部分。寒假找机会再品味一番。在此与各位自学的同志们共勉。
mark一下书的地址:http://www.htdp.org/
很棒的书,但不适合自学萌新
《How to Design Programs》热门书评
-
HTDP教小饼友
14有用 2无用 minus273 2009-12-26
在一个雅典朋友家玩,她有个小妹妹,今年初一,英语不错,然后就想教她写程序。下个DrScheme,打开htdp的网站,照着书慢慢儿跟她讲,没过半晚上,她就已经会define程序了。这本书写得很nice,如果有人讲的话,小朋友是看得懂的。但是需要有小学数学的基础,否则的话开始的练习会不知所云。我想过,把...
-
本科的起点
11有用 0无用 Jason 2010-02-08
这本是学校的教科书。08年废掉JAVA选择Scheme,然后确认它作为教材。重要性不言而喻。无论你入学背景再牛,水平再高,学校还是会要求你上这课,只是有不同级别而已。HtDp的起点明显要比SICP低。 不过这本书的风格很好,真正的Step By Step, 很多时候作者都是很明确他的目的的,让读者知...
-
Lisp很棒
11有用 1无用 shuaiye 2005-11-26
前言中的艾伦.佩利的警句给我印象很深:"教儿童编程有悖于现代教育学.制定计划,使思路条理化,注重细节,严格自律有何乐趣?"佩利是对的.尽管书中给出了很多学编程的好处,但是在大方向上,儿童的那种天马行空的想象,没有什么条条框框的思路,是很珍贵的.话说回来,对于那些长大了的人,这倒是...
-
真正讲程序设计方法,讲思想
3有用 0无用 平凡的老鱼 2013-04-16
这本书的优点前面豆友已经说得很多了,上手容易,step by step等等。其实真得推荐大学能够把这本书做为编程语言的基础,尤其是非计算机专业而以后却又需要进行专业上的计算程序开发的人员。很多人都把这本书和SICP做对比,大概翻了一遍SICP,确实觉得这本书略有啰嗦的嫌疑,所以建议经验比较丰富的人可...
-
HTDP
2有用 0无用 netawater 2008-05-07
读之前多次听说其大名,只因已读过SICP,所以技术上不做评价,但其中循循善诱的风格值得称赞,如果我没读SICP,当按照它的指示,用它推荐的软件,一个一个做习题。...
书名: How to Design Programs
作者:
出版社: The MIT Press
副标题: An Introduction to Programming and Computing
出版年: 2001-2-12
页数: 720
定价: 71.00美元
装帧: 精装
ISBN: 9780262062183