简介:第一性原理思维
让我们来探讨一下第一性原理思维是什么,以及它如何帮助你破除误解。
什么是第一性原理思维?
第一性原理思维(First Principles Thinking, FPT)从明确无误的基本事实出发,逐步构建对现实的愿景或解释。它依赖于演绎推理,而非类比或对权威的依赖。这种方法曾被称作“聪明人做的最愚蠢的事”[1]。
大O表示法与第一性原理思维
大O表示法 是许多开发者接触第一性原理思维的起点。作为一名开发者,学会从第一性原理出发进行思考,能让你看清自己所做工程工作的整体图景,涵盖项目估算、技术选型等各个方面。当你对工具越来越熟悉时,应开始超越工具本身,关注其背后的模式与局限。这是从初级到高级开发者转变过程中的关键跃迁之一。
超越标签思维
强迫自己跳出标签化思维。诸如“是否已具备生产环境就绪能力?”、“能否扩展?”或“是否极速高效?”这类问题,在缺乏具体上下文的情况下几乎毫无意义。不妨看看这个幽默恶搞视频,两位开发者在讨论 Node.js 的技术优势时,用夸张的方式揭示了这种标签化思维的荒谬——而这恰恰反映了现实。太多初学者,甚至不少资深开发者,只停留在标签层面,从未深入本质。要学会拆解事物的工作机制,基于第一性原理推导出自己的判断。
拆解问题
当被告知某事“做不到”时,第一性原理思维能帮你问出:“为什么不能?”反之,若被要求完成一项看似不可能的任务,第一性原理思维能帮助你迅速通过将问题分解为一组基本事实,来证明其不可行性。
- 杰夫·迪恩(Jeff Dean)曾在谷歌内部流传一份清单:《每个程序员都应了解的延迟数据》[2],提醒开发者,由于光速限制,跨大西洋往返通信不可能快于150毫秒,任何试图突破这一极限的努力都是徒劳。
- 在手势交互系统开发中,约翰·卡马克(John Carmack)指出,人类思维的速度仅为每秒110米,这意味着手臂延迟已达9毫秒。这对人机交互领域而言是一个极具警示意义的事实。
- 你可以为自己所在领域整理一份基础事实清单,用于日常的“草稿数学”(Napkin Math)计算。
打破迷思
掌握不可动摇的真实原则,有助于你识破各种迷思。如果你拆解一个系统、产品、库或信念,发现其约束并非由各组成部分的总和决定,也未受阿姆达尔定律(Amdahl's Law)的限制——该定律描述了在固定工作负载下,系统资源提升所能带来的理论性能加速上限——那么很可能存在改进空间。
讽刺的是,许多关于第一性原理思维的讲解文章(1,2,3)一上来就引用权威人物,如查理·芒格或埃隆·马斯克。马斯克或许是近年来最推广这一思维的人,但如果你必须依靠权威才接受它,那说明你尚未真正理解第一性原理思维的精髓。
要真正掌握第一性原理思维,你需要理解逻辑学与认识论的基本哲学思想。