前两天,在微博上发现图灵社区招募读者审读《具体数学——计算机科学基础》一书,我为之一怔,这本书竟然出中文版了!

第一次接触到具体数学,是在2006年。那时候,作为学校ACM/ICPC竞赛队的成员,我们被教练告知,需要选修一门新的数学课,叫《CONCRETE MATHEMATICS——A FOUNDATION FOR COMPUTER SCIENCE》。大家当时虽然对写程序还有一点心得,数学方面有些队员也颇有研究,但确实没有人听说过这一门课程,我们一致认为,这是一本和《离散数学》差不多的教材。上课的是一个退了休的老教师(没有退休的老师压力大,没空研究这个吧 O(∩_∩)O),因为是小班化教学的原因,我们上课的方式不是传统的老师教授,学生听写的模式。我们事先在课前自己做了些研究,然后上课时,针对有些问题,或者大家一起讨论,或者咨询老师。老师当然会事先给我们布置需要自学哪几个章节。事先自学的时候,我们拿到的教程是具体数学的英文版第二版,应该说,这本书是非常严谨的,逻辑条理都非常清晰,而且大多数的主题都是我们所熟悉的(粗看一眼目录)。但自学的过程中,我们发现我们过于的乐观了,这本书并不是非常适合于自学。原因有两点:1)大量的英文无疑拖慢了学习的进度很效率(可能因为鄙人英文一般),2)主题虽然都很熟悉,但难度跳跃大,需要有人指点,课后习题尤其不容易做。我们的困难,我相信也是老师的困难,所以这门课在开设了一个学期后,就草草收场,听说以后再也没有开过。当时,我们主要学习的范围从第一章的Recurrent Problems到第五章的Binomial Coefficients。所以这一次,我提出申请审读第六章和第七章的内容。一来是读一下自己当年没有学过的内容,而来也是看下翻译成中文后的具体数学,是否更有利于学生的自学。

我在图灵社区之前审读过《算法》和《提速C程序》,应该说审读过程是相当轻松的,犹如读一本简易的教材。这次审读《具体数学》,虽然读书的速度有了大幅的提升,(我记得以前在学校,有时候一个星期抽一些时间,也只能读一个章节的几个小节,而这一次在五天时间内,却可以看完两个章节),但读书的过程着实感觉到了累,首先有的段落自己明明知道是什么意思,看着翻译的表达总觉得那里有些不对,但如果让我自己翻译,可能更要逊色不少。比如第六章,对于公式6.3的递归解释,就会把人看晕(我看了下原文,翻译可能更希望忠实于原著),但其实像6.3这样的递归公式,纵观整本书,应该来说是一个比较简单的公式,遗憾可读性依然不高。其次,我认为,这本书的读者范围其实并不像《算法》等书来得如此宽泛,有时候看到它的副标题说是“计算机科学基础”,很多人可能会认为这本书会类似于一本科普大众的读物。但其实,此书功力非常之深厚,如果真的想读懂一章甚至于一节的话,花任意多的时间都不是过分的。如果有时间的话,书中的每一个公式大家都可以尝试着自己推导一下,每一个场景,大家也可以进行举一反三。如果你认为你自己属于快速阅读类型的读者,我想这本书不是很适合你。你可能需要拿出大学时代学习《数学分析》的劲头去研究它(个人认为拿出学《高等数学》的劲头都是不够的)《具体数学》是一本需要慢慢体会和品位的教材,当然里面也有一些现成的结果你可以拿来运用,但确实,个人认为它更偏向于理论而非应用(虽然它的书名看上去和应用更沾边)。所以还是请那些《21天学通*》的爱好者们要止步。

最后说一下审稿的感觉,我指的就是翻译质量,也就是正确率,极其高!我通篇几乎没有发现什么大的错误,每一个公式我仔细看过,每一句话也读过,很难找出明显错误,看来译者是花了苦功夫的,确保了原著的质量。这和我之前的审读经历截然不同,当然我不是说之前的错误多,但至少这一次,我认为是基本无可挑剔(可能水平也有限,发现不了)。所以最后和只能很遗憾的寄回审读材料,上面只做小部分的修改,请见谅 O(∩_∩)O~