登录
原 什么是第一性原理?
nkwshuyi阅读数:21972018-08-04
将事情缩减至其根本实质。
实质
“第一性原理”这个词儿被吹得神乎其神,似乎是威力无穷。
大家都知道了伊龙马斯克(Elon Musk)把这个原理用得好,可以把火箭发射成本降低到原先的几十甚至上百分之一。
可是它到底是什么?
自从听见这个词儿,我也只是人云亦云,竟然从来也没有认真考察过。
直到今天,品着茶,读老喻的文章。才看到了马斯克这段话的完整译文:
我在想存在一种好的思维框架。那是物理学的东西,你知道,有点儿像第一原理推理(first principles reasoning)。总体来讲,我认为存在将事情缩减至其根本实质……你必须能够把那些问题“煮沸”才能从里面找出那些最基本的东西。
看完了我一口水差点儿喷出来。
这令人膜拜的“第一性原理”,不就是“解耦合”(decoupling)吗?
协作
要搞清楚这个概念,咱们得先看看现代社会的大规模协作方式。
假设你是一名程序员,希望改进一款开源软件产品的功能。该怎么做?
你会打开一个新的空白源代码文件,从头开始,一行行写代码吗?
基本上不会。
你该怎么做呢?
你会读现有软件的源代码,把新的功能实现补充或更新到对应的位置,提交合并(merge)请求。
注意在这个过程中,你是把前人做的东西,当成基础层。
而你自己,是在这个层次之上,去叠加新的内容。
为了更形象化一点,我拿来个计算机体系结构层级示意图。
许多人弄不明白,既然搞IT的平时都鼓捣个计算机,为什么还得分成搞硬件的、搞架构的、搞通讯的、搞操作系统的、搞软件的、搞算法的、搞应用的?
不都是一回事儿吗?
因为这种“不理解”,才经常会有人找计算机系的研究生帮着修电脑,觉得这才算是学有所用。
这种分层的架构,使整个儿IT行业从业者,都只需要管好自己这一层的功能,并且为上层提供功能接口。
需要的时候,他会调用下层已经准备好的功能,而不需要去重新发明轮子。
说得通俗一些——铁路警察,各管一段儿。
想想看,为什么现在数据科学那么火? Python、R 和机器学习框架们为何这么受到欢迎?以至于许多非 IT 类人士,都在乐此不疲渴望学习、应用它们?
因为许许多多的开发者,已经为你写好了实现数据科学工作的各项基础功能。
相关的软件包已有成千上万,
网友评论