看 Concrete Mathematics 的时候发现,国内的数学教材跟它比真是枯燥无聊乏味,数学书如果能像 CM 写的那么有趣的话我的数学就不会学那么差劲了。
我想很重要的一点在于观念,干什么非要把学习过程搞的那么痛苦无趣难以让人喜欢?就因为要把书写的正式一点,看起来像是专家写的?想起 Knuth 说的,如果书是为写给专家看的,那就没有人能够看懂。他和 CM 的其他作者在 CM 的前言里面还说,他们觉得数学是有趣的,他们要将他们在数学工作中的快乐和痛苦都在书中展示出来,他们在书中使用了一种非正式风格。学习的过程是艰苦的,但是其中也应该是充满乐趣的。
之所以把书写的那么无趣的另一个原因是作者没有考虑人学习的过程,没有想过怎样写书才能使读者学习起来更容易,更有效,而只是简单的把要传授的内容写下来。这一点 HeadFirst 系列的书是考虑用户学习过程的典范。当然,所有人都那么写书的话也太浪费了。这对作者的要求其实很高,得懂些心理学和教育方面的东西才行,另外要想着读者,为读者着想。(现在越来越觉得教育学很重要。)
国内的教材的另外一点不足是只罗列知识点、概念,而没有展示解决问题的过程,教人解决问题的方法。就比如说国内的数学书,基本上都是给出些定义,证明些定理,给几个例题看看怎么应用定理。(这样单调的方式是造成书无聊的一个方面)
看看 CM 里面是怎么做的,拿第一章讲 Joseph 问题的例子来看,CM 里面从问题的典故开始,抽象问题以使用数学方法来解决问题,最后再分析、泛化结果。整个过程中体现了解决问题的方法,先观察简单的情况,根据简单情况来猜测、归纳解,再证明结论,得到结果后进行泛化以更好的了解问题,并使结果能够适用更广泛的问题,不时还来上一些幽默。这个解决问题的过程国内的教材很少有,对解进行泛化的也很少见。
想起 SICP 了,书里面给出的例子好坏也很重要,SICP 在这方面就做的非常好。一本讲计算过程的书,给的例子有牛顿迭代法,蒙特卡罗方法,费马小定理,Miller-Rabin 素数检验,Lamé 定理,图形处理中的分形,数字电路的模拟等等,非确定性计算。光是这些例子就很让人获益了,而这些例子也使这本书非常有趣。要能给出如此有广度的的例子,作者自己得有非常广泛的涉猎。记得有本 Thomas Calculus,讲微积分的超级厚一本书,已经第十版了,里面对微积分的应用采用的例子有物理方面的,还有经济方面的。学校图书馆里面有一本,发现这本书的时候已经学完大数了,所以没有借了看。
当然,我看过的教材也只有通修课和我专业课那些,通修课的教材都是国内的,专业课的全是国外的教材,得出上面想法的参照面比较狭窄。国内也有好的教材,不过我没有看过;我们选的专业课教材一般也都是比较经典的,所以国外的烂教材也没有看过。
另外我是那种很不喜欢逼自己做事的人,只有喜欢的书才会好好去看,所以一本书如果写的无聊的话就会被我丢掉,所以也可能把有些好书给忽略了。上面的看法很大程度就是因为我这样的看书特点而发的。