Lisp到底有那么好么?实际上不应该用“好”来评判它_ANSI Common Lisp书评-查字典图书网
查字典图书网
当前位置: 查字典 > 图书网 > 编程 > ANSI Common Lisp > Lisp到底有那么好么?实际上不应该用“好”来评判它
[已注销] ANSI Common Lisp 的书评 发表时间:2011-09-14 23:09:36

Lisp到底有那么好么?实际上不应该用“好”来评判它

Lisp到底有多好?实际上很难用好不好来判断它。

毕竟是存在了50多年的始祖语言了,很多地方看上去不是那么“现代”。但是一个无法避免的现象是,越来越多的语言,例如Python/Ruby/Java,都变得越来越像Lisp。将函数作为编程语言中的一等对象直接对其操作,也是现代编程语言的一个共识。这些特性在Lisp中都早已实现。Javascript更是一个披着C语言外衣的Lisp。实际上,连虚拟机都是Lisp最先有的。如果把很多现代编程语言看作是类的话,Lisp就像是基类。

那么,为什么Lisp没有流行起来?其实Lisp曾经流行过,甚至有过专门以Lisp内建函数为CPU指令的Lisp Machine。那么为什么Lisp又“没落”了?因为人类的习惯是很难改变的。从最开始的Fortran,到后来的C,其代码组织方式都是符合人类习惯的,命令式的。而Lisp的创始人是一位数学家,而Lisp的代码组织形式符合的是逻辑,是数学。因而有一种“处庙堂之高”的感觉。

不过,我十分确定的是,即使不在工作中使用Lisp,它也会帮助你写出更好的程序,也会帮你更好地理解编程语言本身。著名的开源文档《如何成为一名黑客》里,作者将Lisp列为黑客应该学习的五种编程语言之一,并且也认为学习Lisp会给程序员带来莫大好处的观点。

除此之外,很多著名黑客和计算机大师都给于Lisp极高的评价。前一段时间出版的《黑客与画家》的作者,也是本书的作者Pual Graham便是其中的一位。在《黑客与画家》中,PG深入讨论了各种编程语言,并充分给出了“为什么Lisp是目前为止最强大的编程语言”的证据,值得一读。



这本书适合初学者。前半本书对Lisp很多基本的东西,从最初的代码组织形式(前缀表达式形式),到基本的数据结构(列表、元组、字典等),再到函数,都讲得十分详细,甚至有时候你会觉得太详细了(但是并不冗余)。

除了讲解Lisp的基本语法,书中还有一些关于Lisp特有的语言元素的讲解(不过可以看到的是,这些语言元素已经被很多现代语言所借鉴了),例如map、reduce的实用。通过这一部分的讲解,你可以对Lisp的强大之处有一个初步的了解,这一部分也算是Functional Programming的入门(FP的一个重要特性便是List Comprehension)。

通过前半本书的学习,初学者可以对Lisp有一个直观的认识,写一些基本的程序也没有问题了,例如快速排序。

后半本书比较偏向于介绍。介绍了Lisp的面向对象系统CLOS,包管理机制、强大的Macro,以及三个例子。当然,对于理解Lisp的高级特性,这些是不够的。不过再此之上可以阅读更多的书籍,例如同样是PG写的《On Lisp》,这本书对Macro做了详细介绍。



总的来说,这本书的讲解十分详细(我是看英文版的,依旧十分流畅)。但是由于作者只着眼于Lisp语言本身,并没有涉及太多实际开发相关的内容。所以推荐阅读完本书后阅读《Practical Common Lisp》作为补充。

展开全文
有用 23 无用 0

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

发 表

推荐文章

猜你喜欢

附近的人在看

推荐阅读

拓展阅读

对“Lisp到底有那么好么?实际上不应该用“好”来评判它”的回应

新稀有㍿ 2013-02-14 00:45:38

和Perl比库。。。??

ReprOldr 2012-12-16 16:48:54

为什么python会有这么多优秀的库呢?

一山 2012-10-04 14:56:30

python有几个好处:简洁;库多;linux标配。
ruby有点复杂,同样的功能有多种写法,ror其实不适合初学者,隐藏的东西多,改起来不容易。
lisp,优点其实就是缺点,常人不好接受这种语法,还有就是库少。

Priezt 2012-03-28 14:39:21

先学Python,后学Ruby,觉得各有特色,学了Lisp之后才发觉前两者的原创内容真的不多

aguai 2012-01-18 05:12:56

大大教我 CLISP

[已注销] 2011-09-15 22:44:08

=。= 你有兴趣可以读一读

果然 2011-09-15 22:35:28

说的好。我是捧场来的。
据说lisp编程概念很好。程序设计原理与构造。。。