(原文发表于《中华读书报》)
春节回家,自然少不了老同学聚会,老同学聚会时,就自然少不了对各自人生道路的比较与反思。这种比较与反思,尤以高中同学聚会时显得格外浓重。当年同窗苦读,彼此相去不多。还记得高考前填报志愿时,十七八岁的一群孩子谈笑风生,对于这件事情可能给自己一生带来的巨大影响知之甚少。笔墨未落之时,整个人生的无限可能还展开在每个人的面前,笔墨落定之后,大多数的可能性也就消失了。这一点,直到十几年之后,我们这一班人才渐渐有所认识。于是,今年同学聚会时,这样一个问题,就成了大家讨论的热点:如果上天给你一个再来一次的机会,你会选择什么专业?
对于这个问题,我很早就有自己的答案。当年因为一个小小的误解,我放弃了就读国内一所一流大学应用数学专业的宝贵机会,这成了我的一个挥之不去的心结。因此我的答案很干脆,能再选一次,就去读数学。我没想到的是,我的回答得到了不少老同学的响应与赞同。不少人都回应说,越在工作中深入,就越感到数学基础的不牢固给自己带来的阻力与困扰,越感到数学的重要性。不过一位大学时与我同班的同学就跳出来质疑我,他凭着精准的记忆,揭发我在大学时代的数学课并不认真。“如果你连大学里那几门数学课都不认真地上,我们凭什么相信作为一个数学系学生的你会有较好的表现?”
这可真是个致命的揭发。我得承认,对于包括数学、算法分析在内的一系列基础课程的重要性,我一开始是完全认识不到的。不但读书的时候认识不到,刚刚开始从事软件开发相关工作的时候,也同样认识不到。这是因为,我几乎从来没有在生活和工作中遇到与课本上深奥的数学公式发生关联的时刻。连四维空间都无法想象的我,为什么要去关心多维空间里的规律?真正要用到相关算法的时候,大量现成的程序库、工具书任我享用,又何必自己这么自己?在那样一段宝贵的时间里,我对于数学的重要性懵然不知,再加上对大学数学教育方式的不认同,因此当年我并没有认真地学习数学。也许我的那位同学说得对,当年的我即使去学习数学,也不会是个好学生。在动机不明的情况下静心澄志,刻苦学习,这是我做不到的。
对于数学重要性的逐渐体会,是来自切实的工作实践。在从事移动设备软件开发工作的时候,因为缺乏现成的工具包,涉及到图形方面的程序,需要自己动手开发基础算法。这个时候,我数学方面的弱点充分暴露出来,第一次感受到来自实践的压力。后来逐渐开始从事一些研究性质的工作,通过一些实践才认识到,在现代技术相关的工作中,数学既是基础,又是制高点。
我知道在中国数以百万计的高校学生和年轻技术人员,特别是软件开发技术相关人员中,对于“数学的重要性何在”这样的问题,也存在着很多的争议。相当多的人恐怕与当年的我一样,对于数学的重要性缺乏认识,从而也缺乏学习数学的动力和热情,错过了宝贵的打好基础的时机,徒待老大伤悲。
当然,我认要为这种情况负主要责任的无疑是现行的教育方式,也包括现在主流的数学教材们。但是要真正改变我们的教育,毕竟还是任重道远的事情。在此之前,我们也还是有很多有益的工作可做。比如从一些应用类技术图书入手,在这类图书中结合具体应用,认认真真地讲讲所需的数学知识,我看可能就是一个提高读者数学素质的好办法。
这样做很有好处。首先是能够充分发动读者的积极性。读者阅读应用类技术图书时,往往比阅读纯理论书籍具有更高的热情和主动性。应用类技术书籍中的内容切实,目标清晰,读者通常会比较积极。如果作者善于调动起读者求知的积极性,并利用这种积极的状态趁热打铁地介绍相应的数学基础知识,则一方面能够帮助读者更深刻地理解应用技术本身,另一方面能够帮助读者体会数学的力量,从而提高读者的数学水平。
其次是符合人类从具体到抽象的认知模式,符合实践出真知的规律。我们不否认有一些天生的数学人才,能够遨游于大段的、完全抽象的数学论述之中而气不长出,面不改色,但是对于更多的人来说,完全脱离开现实世界经验去直接把握现代数学知识,至少是并不容易。然而这并不意味着这些“普通”人不能够掌握数学,不能够用好数学——他们仅仅是需要更符合他们认知习惯的、从具体到抽象的、循序渐进的、“正常”的引导方式。一般由职业数学家写成的数学教材,往往以一种自我陶醉的方式天马行空,普通读者很难跟得上,从而也就很难学的懂。本来可以掌握数学的很多人,就这样被吞噬了。而当这种高高在上的纯数学的著作方式遭到质疑时,数学家们却又总是忙不迭地声明数学的独立性、抽象性与高高在上的地位,以为辩护,似乎这种拒人于千里之外的风格是为了维护数学之神圣地位的必须。我们设想,若格斗家传授格斗术时,不以教授学生为中心,而以格斗之真实为理由对学生饱以老拳,则即使那学生是数学天才,也必定会在鼻青脸肿之下感到愤懑。而很多数学天才们编写教材时却拒绝以读者为中心,拒绝了教育读者的义务,并以这种拒绝为荣耀,岂非咄咄怪事?须知,数学或许是宇宙间唯一神圣的,但对于教材作者来说,读者的利益至少也是同等神圣的。在这一点上,应用技术类图书的作者通常表现得更好。这也可能是因为他们比数学天才们更多地接近普通人吧。因此,应用技术类图书中的数学,如果讲的好,可能比数学教材更能够帮助读者学习数学,甚至于引导读者见识数学的和谐与威力,进而发生兴趣,成为掌握现代数学工具的技术专家。从这个角度看,应用技术图书的作者如果能写好数学内容,那可能是很有功德的。
不过这毕竟是一种期望,现实是,大部分技术图书要么避数学如虎,要么发扬拿来主义的风格,从数学天才们的天马行空的著作中进一步抽象、精简、总结出更加不知所云的东西来敷衍充数。散见在不少技术图书之后的“附录”多数此类。作者们也是有理由的,应用技术图书的重心毕竟不在于此,摘录一些数学内容,聊胜于无,已经是破了本分,读者应当知足,是否能真能搞明白,那就看造化了。
当然有造化的毕竟是少数,因此可怜的读者只好在天才们的推推搡搡之间继续当数学文盲。
也许技术图书的作者应当换一个思路,主动地承担起一部分数学教育的责任。那不单是对于图书本身品质的重大提升,也毫无疑问是对读者所作的大好事。作者为读者的每一份额外的奉献,都会得到读者加倍的回应。
最近我看到的一本书,在这个方面做了良好的范例。电子工业出版社翻译出版的《计算机图形学——几何算法工具详解》本身定位为一本“算法处方”类工具书,只要列出算法目标和程序代码,也就完成了本分。但是图书作者认为,仅仅给读者提供一打可供抄袭的代码是不够的,还要帮助读者充分理解这些算法。而只有让读者扎实地掌握必备的数学知识,才能达到这个目的。因此,该书用了五章、两个目录和近四分之一的篇幅,完整地讲述了与该书相关的基础数学知识,内容涉及几何、线形代数、数值计算等领域,简明扼要,深度适宜,充分结合了计算机图形相关的应用知识,不但为读者理解相关算法提供了坚实的数学基础知识,也反过来帮助读者更深刻地认识了有关的数学基础。正因此,这本书出版后虽然没什么名气,但很快成为一些专业图形开发人员的秘密武器,有一些图形技术开发公司甚至集体购买,人手一册。
我现在时常想,我归根到底是一个俗人,就算当年去读数学专业,也未必就能修成正果。反之,如果我一直以来勤读不辍的那些技术图书,都能够认认真真地写点数学,耳濡目染之下,没准我也早就提起兴趣来,也就能够把数学学得相当好。