Posted on 2007-12-24 01:10
canonical 阅读(2011)
评论(6) 编辑 收藏 所属分类:
杂感
我平时Kill Time的主要方式是阅读各类学术书籍。但是学习本身只是了解前人的发现,间或锻炼一下自己的思维能力,对自己的工作和生活并没有什么直接的助益。学习本身无论如何深入,多半也只是采用前人的话语复现前人思考的历程。在我们通过独立的思考获得直观的体验之前,在我们将所学到的知识应用到书本之外的场景之前,我们所学习的知识只是考试的工具,只是可供欣赏的对象,却不能成为我们思考中活跃的因素,无法参与我们思维的进程。别人只能给你思想的引子,并不能给你真正的思想。只有自己找到了所学知识的超出书本的非显然的应用,只有独立建立了不同概念之间未曾阐明的联系,我们才能真正获得对于真理的体悟。无论我们自己的发现是如何的微不足道,无论它是否只是重复发现了劣质的轮子,它唯一的意义只在于它是我们独立思考的结果,是我们自己的创造。即使它是卑微的,是重复的,它对我们的理解的作用仍然是任何外在的教诲都无法比拟的。
现代社会中创造所需的成本已经被空前降低了。想想百年前的天才们,他们缺少信息来源,只能一页页翻查文献,反复誊写文稿来保存知识,大量的时间被花费在了与思考完全无关的事情上。同时,他们所处的时代存在着更多的不确知性,他们的思考所能够凭依的事实更少,做出错误判断的可能性与今天相比也更大。即使Bill Gates这样的挣钱能手在1981年也能放出"640k ought to be enough for anybody"的厥词,显示出我们在预测未来的时候是何等的乏力。当我们今天站在人类文明的巅峰,拥有前人无法想象的工具,并不断制造着从未经历过的实践的时候,我们理应拥有超越历史上任何天才的,更加宽广的眼界。
现代社会中的创造看似简单了,但从另一个方面看,却又是大大的复杂化了。前人的成就成为了难以逾越的丰碑,而为了进入科学殿堂,我们需要的准备工作也变得异常的繁复。这里有科学内在的规律,但也有人为制造的障碍,而这其中最主要的是数学障碍。只要想一想,针对软件工程,经济运行,企业管理,每个参与其中的实践者都可以提出一些自己的意见,但是如果涉及到数学,为什么大多数人只有三缄其口了?现代抽象数学取得了辉煌的成就,但是它也可能毁掉了更多学生创造的激情。宏伟精深的大厦让人敬畏,却无法激发我们任何直观的共鸣。甚至Arnold这样的数学大师也坦承读不懂当代数学家们的著述:因为他们从不说“彼嘉洗了手”,而只是写道:存在一个t1<0,使得t1在自然的映射t1->彼嘉(t1)之下的像属于脏手组成的集合,并且还存在一个t2,t1<t2<=0,使得t2在上面提到的映射之下的像属于前一句中定义的集合的补集。当Bourbaki学派致力于在课本上消灭所有图示的时候,理性达到了非理性的彼岸。
有时我在想为什么现在的程序员似乎对于程序的理解能力降低了。排除教学水平的降低和个人努力的不足之外,是否是因为现在需要学习的内容过多,以至于丧失了自我思考的勇气?在C的时代,每个程序员对于程序的理解都是直接的,原始的,对程序结构的把握都是充满自信的。当新的概念不断涌现的时候,人们总是说,Object不过是..., Component不过是..., AOP不过是..., ORM不过是..., IoC不过是.... 这体现了人们试图把新的概念融入自己原有知识体系的一种努力。虽然仔细考究起来,这里的理解很多时候都是似是而非的,未必掌握了新技术真正创新的思想方向,但是这里的思考总是独立进行的,总是对我们的理解和工作有所助益的。而新一代的程序员生活在Object, Pattern等概念已经无需饶舌来证明自己的时代,他们是否在思想中独自评估过所有概念的意义,是否建立了概念和实现之间直观的联系,是否在统一的思维世界中为所有的概念找到了合适的坐标?这一切,我不得而知。
推荐:Arnold 论数学教育
http://www.ieee.org.cn/dispbbs.asp?boardID=64&ID=25892