第一性原理
1. 第一性原理——建立技术体系的起点
第一性原理,建立对需求和对技术最本质的认识,以推导的方式审视技术历史和技术演变,建立自己的技术体系和视角
第一性原理就是让我们抓住事物最本质的特征原理,依据事物本身的规律,去推导、分析、演绎事物的各种变化规律,进而洞悉事物在各种具体场景下的表现形式,而不是追随事物的表面现象,生搬硬套各种所谓的规矩、经验和技巧,以至于在各种纷繁复杂的冲突和纠结中迷失了方向。
学习的第一性原理其实就是两个关键动机
「偷懒的专业化」和「灵活的抽象化」。我们之所以发明计算机就是为了可以在大批量重复计算中偷懒,发明专业性计算机。后来我们发现单一用途的计算机每次都要从头搭建于是为了灵活一点,抽象出程序语言,发明通用可编程计算机。后来在编程中自动化程度高了,又发现同样的问题。太自动化的程序不好调节,为了偷懒于是出现了模块化解耦编程,专业化又来了,就是分包分库,甚至高级语言。可是后来又发现各种分包分库中有很多重复动作,于是出现了重复动作的抽象打包,或者打包成函数或者打包成对象,这样编程起来又简单省事了。现在又进入专业性的时代,比如web应用的MVC框架,AI的神经网络框架...下一步估计又要抽象出各种框架的共性出现真正的元框架了吧...
查理·芒格认为:学习并不是追求更多的知识,而是要寻找更好的决策依据。这个更好的决策依据,就是那些经过广泛验证的原理和规律,称之为思维模型。第一性原理和芒格的思维模型很相似。
获取新知识的途径分为两类,一类是归纳,一类是演绎。
前者,有点像集邮,当年博物学就是这么发展起来的,进化论也是达尔文无数观察的集大成,物理学早期也是这样,天文学家第谷积累了大量第一手资料。第谷的助手开普勒,在此基础上,提出了行星运动的三大定律。牛顿在三大定律之上,提出了更为简洁深刻的万有引力定理。归纳法,容易操作,我们也经常使用。但如果要得出有用的结论,往往需要总结大量案例,费时耗力,而且不够聚焦,常人难以坚持,更无法穷尽。另外一种学习途径,就是演绎,从基本原理出发,推导出各种定理,构建一张有向图。图的节点是公理和定理,边是逻辑推导。遇到新的问题,先定义问题的基本元素,然后从公理和已知的定理出发,通过逻辑推导到新的问题,再找到答案,找到答案以后,这个问题就成为新的定理,成为解决其他问题的基石。欧几里德几何体系就是这样处理的,它由五个公理出发,遇到新的几何问题,就增加定义,让问题转化为公理和已知定理能解决的形式,然后解决问题,拓展整个定理体系。演绎法中,公理往往比较少,容易掌握,逻辑推导虽然复杂,但是一致性强,而且通用
其实很多看起来难以坚持、让人容易放弃的事情,并不是智力、体力或者意志力的问题,更多的是方法问题。很多时候,学习新知识和新技术之所以困难,是因为没有理解这些新技术背后的思想和原理,以及这些新技术诞生的来源。太阳底下没有新鲜事,绝大多数新技术其实都脱胎于一些既有的技术体系。
如果你能建立起这套技术思维体系,掌握这套技术体系背后的原理,那么当你接触一个新技术的时候,就可以快速把握住这个新技术的本质特征和思路方法,然后用你的技术思维体系快速推导出这个新技术是如何实现的。这个时候你其实不需要去学习这个新技术了,而是去验证这个新技术