平凡的老鱼
对
七周七语言
的书评
发表时间:2013-04-06 10:04:38
本来是在准备一个讲义的时候,拿过来参考Erlang和Haskell里面的语法和内容的,结果越看越兴奋,看完以后,激动的久久不能入睡。
前面有一位书友说是这本书点子不错,缺乏洞见,看到这位书友本身对于这几门语言已经比较熟悉了,所以提出各门语言的特征讲得不深入。
但我个人而言,由于以前除了ruby和lisp以外,都没有接触过,初读之下,在除去语法的外衣以后,接触到的“那些真正重要内容的部分”,有一种很多年前初学编程的那种兴奋,原来除了平常习惯使用的各中螺丝刀、板手以后,还有这样一些稀奇古怪的小工具,可以用在很多奇怪的地方。
关于书的内容,作者在第一章里面超越语法、不是安装指南、不是编程参考在这三点,至少后两点做很好,个人觉得第一点也蛮好,至少先有介绍才后有超越。
最后简单介绍一下书中最让我兴奋的地方,学习编程十多年来,接触过的语言很多,虽然没有某个神贴里面lz说得精通30种语言。但是对于从机器语言、汇编语言、C语言、批处理语言、面向对象语言、脚本语言,这些类语言都有一定的了解。
这本书虽然介绍了四种编程模型:面向对象、原型编程、约束-逻辑编程、函数式编程,其中大头是函数式编程(从Ruby的涉及到Scala、Erlang、Clojure,最后到纯粹的Haskell),里面大量提到了列表和高阶函数上的有趣玩意。
实际我们回过头看这些语言的发展,实际上从脱离了汇编语言进入自然语言算起,整个语言发展历史就走向了两个大块,一种是以命令和操作直到发展到面向对象构建的一整套关于程序设计的方法论,至今在TOIBE上在前十名中占据主要席位的C、C++、Java、Object-C、C#,另外也是从六七十年代开始的一种学院派的语言路线,以体现数据函数思想以特点,从Lisp、Prolog等,到后来出现的混搭python、ruby,强调一切都是函数,无副作用性。至少从目前应用来看,是属于小众语言(python和ruby的流行不是由于其中的函数式部分)。
其实就编程的思想美好性来说,后一派更简洁、更优雅、更漂亮大方,对于同样的问题,有更丰富的表达方式,通过语言更短小精悍,简言之,更阳春白雪。
但是,正如美好的艺术一样,确实不容易理解!也就导致同样经过几十年的发展,只能是在一个小的圈子里面有些应用。正如一个老师上课是时候曾经讲过的一样,这个思想如果进一步发展到Z语言所描述的情况的话,估计人类的编程史会发生巨大的变化。
个人观点,就语言而言,没有好坏,没有对错,只是工具。就这本书而言,介绍了一些很漂亮的编程思想,在这里,向无数前辈们为了探索编程(每个少年年轻时都经历过的梦幻传奇)而贡献的人类无差别的美好思想再次致敬!