写代码写久了,偶尔会觉得手头的东西太"浮"——框架、中间件、新语法,一年换一茬。反而会想去读一点"慢"的东西,几百年前的思想,看它能不能穿越时间。笛卡尔的《第一哲学沉思集》就是这种书。我思故我在这句话人人会背,但真正读进去,才发现它背后是一套极其严谨的"系统设计思维"。
一、为什么重读笛卡尔
笛卡尔生活在 17 世纪初,那是个新旧世界观激烈碰撞的时代——哥白尼日心说刚被接受不久,经院哲学还在用亚里士多德那套话语体系。笛卡尔做了个大胆的决定:把过去信的一切全部推倒重来。
这在我看来,很像一个资深工程师面对一个烂透了的老系统,决定不打了,直接推翻重构。他提出的问题至今是计算机科学和哲学共同关心的:我们凭什么相信我们相信的东西?
二、系统性怀疑:方法论上的"最小可验证集"
《第一哲学沉思集》的开篇就是著名的"普遍怀疑"。笛卡尔说:感官会骗人(比如视错觉),梦里的世界真假难辨,甚至可能有个"邪恶精灵"在系统性欺骗我。所以他要找的是——在一切都可以被怀疑的情况下,还有什么东西是绝对确定的?
这个思路放到工程里特别亲切:
- 我们做系统设计,先要确定"最小可信赖假设"
- 上游数据可能脏、网络可能抖、时钟可能歪——先假设一切都不靠谱
- 然后在最不可靠的环境里,找那个"绝对成立"的锚点
笛卡尔找到了那个锚点:“我在怀疑"这件事本身无法被怀疑。因为怀疑也是一种思考,思考就需要一个’我’存在。 于是有了那句著名的"我思故我在”(Cogito ergo sum)。
用工程的话翻译:“我能观察到自己出错,这件事本身就证明了观察者在场。” 这是整个系统的 bootstrapping(自举)起点——不需要预设任何外部权威,只靠"思考存在"这一个自证命题,就把系统从零启动起来了。
三、心物二元论:400 年前的"分层架构"
确立了"我思故我在"之后,笛卡尔进一步论证了"心"和"物"是两种不同的实体:精神(思维实体,res cogitans)和物质(广延实体,res extensa)。这就是著名的"心物二元论"。
这让我联想到经典的架构分层:
- 精神/思维 ≈ 逻辑层(无广延,不占空间,纯抽象)
- 物质/身体 ≈ 基础设施层(有广延,占空间,可度量)
笛卡尔当时有个著名困惑:既然心和物是完全不同的两种实体,它们怎么相互作用? 就好像逻辑层和基础设施层之间,接口到底在哪?他最后只好说在大脑的松果腺里交互——这算是那个时代的"中间层"假说。
这个问题其实到今天也没有完美答案。神经科学发现意识与大脑活动相关,但"主观体验"(qualia)到底怎么从物理过程涌现出来,依然是个开放问题。这跟我们在分布式系统里问"最终一致性到底怎么实现"一样,属于"有工程近似、无终极答案"的问题。
四、笛卡尔坐标系:给"想不清楚"的问题定个参照
笛卡尔另一个影响深远的贡献是解析几何——用坐标系把几何问题转成代数问题。这背后是一种思维方法:把抽象的、看不见的问题,映射到一个可计算、可操作的框架里。
这种方法论对我写代码很有启发:
- 遇到模糊的需求,先定义"坐标系"(接口契约、数据模型、状态机)
- 把"感觉上不对"变成"可度量地不对"(指标、断言、单测)
- 有了坐标系,讨论才有共同语言
五、重读后的几点体会
-
怀疑不是虚无,而是通向确定性的工具:笛卡尔怀疑一切,最终是为了找到一个"不会被怀疑动摇"的根基。工程上"fail-fast"“防御性编程"也是同样的逻辑——先承认一切会出错,反而能设计出更可靠的东西。
-
第一性原理不是口号:笛卡尔 400 年前就在做"从基本原理重新推导整个体系"的事。所谓第一性原理思维,本质上就是"暂时忘掉所有已知结论,只从最底层、最确定的前提开始重新构建”。
-
没有终极答案,但不妨碍好答案:笛卡尔的二元论后来被很多哲学家批评,但他提供的框架让人思考了几个世纪。就像有些技术方案后来被证明不是最优解,但它在当时推动了一整个领域的进步。
六、一点建议
如果你想入门西方哲学,笛卡尔是很好的起点:
- 他的语言比后来的德国古典哲学(黑格尔、康德)好读得多,逻辑清晰
- 他的问题(我凭什么知道、心身如何交互)和工程问题高度同构
- 读完他会发现,很多"现代"的思维方式(怀疑、重构、找锚点),几百年前就有人想清楚了
重读经典的意义,不是顶礼膜拜,而是发现:很多我们今天在踩的坑、在想的问题,前人早就走过一遍,并且留下了可复用的思维工具。 这才是它真正的价值。