ML意味着meta language, 本书是学习ML排名第一的课本.
英文标题信息是这样的:
PAULSON, LAWRENCE C. (Univ. of Cambridge, Cambridge, UK)
ML for the working programmer (2nd ed.).
Cambridge University Press, New York, NY, 1996,
478 pp., $32.95, ISBN 0-521-56543-X.
这里要强调1996的是,现在流行的ML的编译器,都是按ML '97标准的.但我没有看出这本书有什么不合适的地方. 这个问题我也想请专家指教. 中文版写的原版的出版日期是2001,这是我比较有疑问的.
还有,这本书称为working,也是很有意思的. 因为,很多人都有疑问,函数式程序设计语言,有可以working的吗?作者显然是要写一本可以working的书. 我想,这是本书最大的特点. 这个特点带来了两个后果,一好一坏.
我们先谈坏的一方面.命令式程序设计语言及其相关书籍看过不少,LISP也简单看过,但还是不得不说,ML是我看起来觉得最难的书.这应该是作者要写working的ML付出的代价. ML虽然也working,但有其working的领域,主要还是定理证明机,就像最初设计ML的动机所指示的. 因为,这本书有很多章节与此有关,而这并不是一个大多数读者熟悉的领域,所以,大多数读者应该与我一样,会觉得这本书可能是很难读的.
好的方面,如果你读完了这本书,并且按要求完成了练习,不仅学会了ML语言,而且也学会了一个ML working的领域,定理证明机.
我学这本书是读到第4章最后重言式检测器时,才找到感觉的.
关于重言式检测的手工做法,我有过讨论:
http://www.douban.com/group/topic/1192440/
我没有动手去写一个计算机程序,是因为这觉得这有一点难. 而在这本书有一个例子,50行以下的代码. 也许一个更完善的一点的程序还需要能读入一个重言式,这大概要增加一两百行代码. 正是这不到50行的代码给了我定理证明的感觉,ML working的感觉.
本书共9章,第6章是数学,第8和9章是例子,而要读完第4章才能找到点感觉,可以说明,这本书真的不很容易读.
虽然也有人用ML写web应用,或者别的什么应用,但我们学ML真的是为了要写一个ERP或CRM或一个操作系统吗?如果不是想了解一些逻辑或证明的东西,我们会学ML吗? 所以,综合考虑, 这本书的确是学习ML的第一本教材.
我还没学好ML,所以这个书评也写得特别胆小委琐,非常惭愧.
不一样的语言入门书
对“不一样的语言入门书”的回应
《ML程序设计教程》热门书评
-
不一样的语言入门书
12有用 0无用 元创 2006-10-23
ML意味着meta language, 本书是学习ML排名第一的课本.英文标题信息是这样的:PAULSON, LAWRENCE C. (Univ. of Cambridge, Cambridge, UK) ML for the working programmer (2nd ed.).Cambrid...
-
神书一枚!但第一次看书名就想歪了!
3有用 1无用 追忆似风 2012-08-13
建议先看SICP,再看这本书,首先LISP语法比较简单,其次这本书会经常拿ML跟LISP做对比。SICP在大的方向上比较清晰,章节安排上更注重思想的延伸;而这本书的确如书名一样,ML的教程,从简单的类型,表,树到匿名函数无穷表,抽象类型,章节安排完全是学习语言的顺序。这样造成不同深度的主题安排的比较...
-
作者话很多
1有用 0无用 Sinclair 2013-12-15
这本书适合没有接触过functional programming的同学,也适合没有学过编程的同学。作者显然不满足于写一个语言教程,而是着重于灌输fp知识。所以在我看来这本书的废话稍微多了些。好几次我迅速的向后跳,但有意思的是每次我都被迫backtracing。因为他经常引用之前的例子和作业。后来我终...
-
比较适合对FP完全没有概念的人
0有用 0无用 下愚 2013-07-29
如果以前没有接触过FP,比如彻底的C/汇编程序员,看这本书能慢慢建立一些不同的编程模式;如果已经对haskell或者其他的FPL有一些了解,看这本书可能会嫌啰嗦了,可以去看看<<Programming in Standard ML>>,内容不算很完整,不过要点都到了。...