没有惊喜点
2014-05-14
用了一天半的时间把这本书通读了一遍,也上机把示例一个个敲过了,发现有点失望,在此说说我的看法吧。
首先,说明一下,我并非是初学者,我有一定编程基础,但是我也仅限于入门而已。看这本书,是为了能够理出一条清晰的编程学习思路,来指导我其他语言的学习。我也期望,蔡君作为布道架构师能够给我更宽阔的视野去思考我编程发展的道路。可能我对这本书的期望有点大了,导致我最终扫兴而归。
在这本书中,我非常喜欢的一点是,蔡老师图文并茂,知识点讲的非常生动,没有教科书的那种疲惫感。最精彩的是开头的基础部分,和末尾的示例部分。至于蔡老师对于语法的讲解,对于我来说,我勉强能够理解,但是一直理不清条理来。
可能是我对主流编程语言有先验的了解,所以对书中用于教学实例的REBOL语言存在概念上的矛盾。有些概念对比一下就能了解,还有概念总是感觉很别扭。比如说单字,我感觉应该是对应变量,但有些如path!一类的类型却又不是单字(变量);间接值和C语言里的指针有点相似,但它只能算是一种类型集的属性;语境比较像环境变量;方块又特别像数组。虽然我一直按照REBOL的三条基本法则去理解这种语言,不过看完这本书,我感觉还是很模糊。(难道真的要多看几遍吗?)
总结来看,这本书已经做到了浅出,但深入方面还是有所欠缺。在此,再提出几点建议。
1.不管怎么说,《编程ing》的定位还是给那些想学编程的初学者。作为初学者,兴趣是很重要的,这本书能够让我感受到惊喜和乐趣的地方并没有想象中的那么多。我觉得这本书可以写一些,让初学者感觉和生活相关,又触手可及的编程实例(可以不写代码,给出一个列表其实就可以了,代码的话可以放到网上,供读者自行参考)
2.说到代码的问题,虽然蔡君在书中给出的代码很少,也很精简。但我觉得有必要,将规范的代码示例共享到网上。因为毕竟是初学者,很多程序错误都是由于一个标点符号,一个空格的问题产生的,他们可能瞧了半天也发现不了错误。就连我自己,发现就算按照书上的一模一样的敲上去,也还是会出现莫名其妙的错误,有些书本上也没提到是什么错误,google也没找出个所以然。这也许真的会让初学者望而却步。
3.再有就是本书选择了REBOL这个比较小众的语言,作为指导。我并不是觉得不可以,但这么做也会带来很多问题。网上的解决方案,可能没有其他逐流语言那么多,这对于初学者而言,是个痛点。再有就是,如果有人想更深入的发展,选择了其他高级语言,语法间的歧义,会让他花费更多的时间来学习新语言。(也许他会理解的更加透彻)。
4.入门,入门,师傅领进门,修行在个人。希望蔡君可以给初学者提供一些,深入学习的书籍,或资源链接。(不一定是编程语言),他们会感激你的。
5.最后就是本书的定价问题,貌似不便宜啊^_^
好了,这毕竟是本入门的书,如果对rebol感兴趣的话,可以瞧一瞧,作为基点培养对编程的兴趣。 以上纯属个人观点,以供借鉴,有失偏颇之处,欢迎指正。