具有C语言风格的Lisp参考书_实用Common Lisp编程书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > 实用Common Lisp编程 > 具有C语言风格的Lisp参考书
赛义甫 实用Common Lisp编程 的书评 发表时间:2017-04-20 16:04:24

具有C语言风格的Lisp参考书

几年前读过英文版,但是没有读完,最近因一个问题,又来翻中文版,也没有看完,不过英文版看得更细一些。现在谈谈我的看法。

第一、本书前半部分作者的写作风格明显是要模仿《The C Programming》(以后简称K&R),从"hello world"起步,然后在读者对语言几乎一无所知的情况下将篇幅放在实例而不是语言基本元素的介绍上。本书是在第3章介绍完一个简单的数据库程序之后进入一板一眼的语言元素介绍。只不过K&R的写作方式本身就有风险,不适合每一个作者仿效,在这方面本书是一个失败的典型。作者一开始就将Lisp的一些高级属性端了出来,以成就第三章的那个初级数据库例示程序,如果你没有Lisp的初级知识很容易被搞晕。跟着作者把这个程序做下来,成就感不是很强,特别是有C或类C语言经验的人。

第二、作者企图把Lisp描写成和其它流行语言“竞争”的或者比这些语言“竞争力”更强的语言。在这个动机的影响下,感觉作者的例示程序似乎还是有着C语言的影子,或者说是L皮C骨。例如作者的那个初级数据库程序上来就定义了一个全局变量,这也让我想起了K&R第一章中也有两个全局变量。而且按照作者的例子做下来,几乎就是任何类C语言的对译版。所以很怀疑作者是身在曹营心在汉,身在Lisp心在C。当然这种写作方式也不是一无是处,对于熟悉C/C++/java等语言读者来说,这毋宁说是一种受欢迎的方式,在这些读者看来,Lisp的语法虽然很独特,但是也不过就是“另一种”语言而已。

第三、一旦离开了实例讲解进入语言细节,本书马上就变成了“语言手册”之类的适合查询而不适合阅读的印刷品,而我第二次读这本书也是为了“查询”而不是阅读。这种方式又好像是早年间谭氏C语言教科书的风格,对语言细节的介绍侧重语法而不是侧重功能,很少有独立的例示程序,令人乏味。因此本书的第4章-第22章,只适合作为语言手册,不适合作为学习用的教科书。

第四、本书第23章-第31章和第3章一样是例示程序,这时作者假定他的读者们经过了十九章、二百八十多页的漫长、乏味之旅已经“掌握”了Lisp的基本元素,已经是Lisp的达人了,可以用Lisp干事了,因此用一些“实用”程序填塞本书后半部的内容。殊不知大部分读者在到达这个彼岸之前已经“壮烈牺牲”,早就把此书抛开了。

第五、本书的最大缺陷在于没有介绍FP,也没有把Lisp最精妙的思想展示出来。SICP的作者曾经说过,Lisp是很简单的语言,没有必要专门学,拿过来用就行了。而本书却让Lisp看上去很难。类似的话K&R也说过,C是一种简单的小语言,不值得用大部头著作去介绍。

最后,说说翻译。总体来说,翻译得不错,我可以给85分。作者是Lisp程序员不是专业英语翻译,这是本书翻译靠谱的基本保证。至于语言优美不优美,或者有没有中文语法错误,只要不影响阅读这些都还是次要问题。选翻译版编程书,相信程序员不相信外行英语翻译是取舍的底线。如果觉得中文比较难懂,基本上是原书的问题,因为英文原版就写得比较沉闷、乏味。当然不否认有大量语言上的翻译错误,例如put off是望而却步,译者却会错意,翻译成“喜欢”。但是考虑到译者是程序员不是英语专业,这些可以原谅,只要在技术细节上不误人子弟。

总结:本书不适合作为Common Lisp的初级入门书,更不适合希望学习FP的读者,总感觉作者是在拿Lisp写C语言程序。本书的最大用处在于用作“手册”或者参考书,写程序时查询语言元素的语法细节。本书的另一大用处在于,当你了解了Lisp语言(当然不是通过这本书)苦于没有像样的练习程序练手时,本书的第3章和第23章-第31章就可以派上用场。

展开全文
有用 0 无用 0

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

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读