2022年为顾明教授的软件系统工程课程而作,偶然从故纸堆中觅得。
这本书作为入门读物,并没有完整地系统性地讲述科学哲学的全貌,不过对于很多重要的问题做了很精彩的讨论。对于正在从事研究工作的我来说,具有很好的指导作用。
我认为读完后最重要的一点,就是开始思考一些之前没有触及过的关于科研的“元”问题。比如说,科学的定义问题,或者说科学与伪科学之间如何界定的问题。思考这个问题的意义在于:在我自己的研究中,有没有可能实际上用到了一些非科学的方法?从直觉上来说,面对一项工作,我能够凭借经验判断出这是否是科学的,但要给出严格的定义却很困难。
举个例子,互联网上关于伪科学的论争很多,个人觉得争议最大的是中医是否属于科学的问题。正如鲁迅说的,中医一开始是先祖们凭借试错建立起的一种“经验科学”,虽然粗糙但是是从实践中来的。如果单独这么来看,这应该也可视为一种科学。但是,我们还是会觉得中医的科学性不够,主要原因大概是其理论的部分,即阴阳五行之类,实际上是玄学的范畴。从这些理论衍发出去,很多很荒谬的物事也能入药。也许“科学”这一概念并不具有一个不变的内核,而是随着社会的环境而变化。当以严谨的论证为主导的现代科学占据主流的时候,这些来自过去的学科也就不再能称其为“科学”了。
因此,我在科学的本质这一问题上不赞同本质主义。至少,实证这一点不足以成为科学的定义。像在很多科学领域中,实验是主要的研究方法,但对于计算机科学来说,如果没有严格的论证而只有实验,是很难说服别人的。计算机科学,如同数学一样,大部分情况下研究的是抽象的对象,只不过所研究的更多是各类的语言、算法和自动机模型。“态度”也不是一个好的定义,因为民间的很多科学爱好者们的工作是非常真诚地完成的,而且他们自身显然相当重视,但绝大多数情况下,我们不觉得这是科学研究。很有可能,科学和其他的概念一样,可以找到一些特征,这些特征被大多数的情况所满足。但总是有一些我们认为是科学的工作违反这些“通常”的定义。
我认为另一个相当重要的点是对科学史的重视。计算机科学发展的非常迅速,历史很短,而我们很多时候并不在意这段不到百年的历史。我们选择论文的时候,一般不会去看上个世纪的论文来阅读——因为多半已经有更新的工作了——但是我们也就无法真的对一个领域获得完整的理解。一个领域通常是在多个领域的互相影响下形成的,之后或多或少地独立出去,但是往往它会继承下之前工作的重要结论或方法。触及到这些根本的假设或方法,才能做出相应的改变,从而触发真正的“变革”。
此外,科学革命的先决条件也和社会环境是密不可分的。只有达到了相应的认识水平,科学革命才有可能。至少,每一位科学家都应该或多或少了解一点科学哲学的内容,以更好地指导他们的工作。同样重要的是对人的理解,因为归根到底,科学发展的目标都是为人服务的。“基础科学”也有其现实的基础:为未来的科学发展做准备。我认为在之后的研究工作中,除了学习专业的知识以及学科领域的前沿,也应当了解各领域的经典理论或著作,广泛涉猎各领域,从中找出具有启发意义的东西来。