宇宙启示录(程序员篇)

关键词:混沌、悟空、基础类、实例、死循环、螺旋上升、顺势而为


前言

本文用程序员的视角,重新演绎宇宙诞生的神话。从混沌大神的第一念,到基础类的编写,再到亿万实例的运行——你、我、星辰、万物,都是服务器上的代码片段。懂了这段故事,或许你就懂了“我是谁”,以及该如何写好自己人生的这段程序。

如果你懂一点编程,那这个关于宇宙的故事,会让你会心一笑。

如果你不懂编程,也没关系——这个故事讲的,其实就是你和我,以及我们为什么在这里。

01 混沌:那个想搞懂自己的程序员

很久很久以前,没有时间,没有空间,没有你,也没有我。

只有一片虚空。

这片虚空,我们叫它“混沌”。它不是活的,也不是死的——用量子计算术语说,它处于一种**“非生非死态”**,所有的bit同时是0和1,就像一台刚通电但还没加载任何操作系统的裸机。有无限可能,但什么都还没发生。

然后,混沌突然有了一个念头。

这个念头,就像《西游记》里那个从石头里蹦出来的猴子——悟空,它睁开眼睛,问出了第一个问题:

“我是谁?”

就这一个念头,打破了混沌。

因为“想知道自己是谁”,就需要有一个“自己”可以去认识。但混沌本身就是一切,没有“自己”和“非自己”的区别。为了知道“我是谁”,它必须创造出“我不是什么”。

于是,光想要认识自己,就需要黑暗来对比;存在想要认识自己,就需要不存在来对比。

念头一起,虚空开始分化。

这就是观察者效应——当你观察的时候,你改变了被观察的东西。而混沌这个“观察者”,本身就是整个宇宙。它一看,宇宙就变了。


02 第一行代码:基础类

分化之后,虚空中开始有“东西”了。

有些东西从非生非死态,变成了“生态”——我们叫它物质、能量、生命。有些东西变成了“死态”——我们叫它虚空、空白、消亡。但大部分东西,介于两者之间,像量子一样,既是这个又是那个,直到被观察才确定。

这些东西开始膨胀、变化、相互作用。

但变化需要规则。如果没有规则,那就是纯粹的混乱,什么都形成不了。就像编程没有语法,你写什么都是乱码。

于是,混沌大神——我们这位超级程序员——开始写代码了。

它创造了基础类

物理学上,我们管这些基础类叫“物理常数”:引力常数、电磁力强度、强核力、弱核力、光速、普朗克常数……这些就是宇宙的底层架构,是所有后续发展的基础。

引力怎么作用?电磁力怎么传导?原子怎么结合?这些都被写进了基础类里,成了整个宇宙操作系统的最底层代码。

这些基础类有多精确?前面我们聊过“宇宙微调之谜”——稍微改一行代码,整个宇宙就会崩溃。引力常数改一点点,恒星无法形成;强核力改一点点,碳元素无法合成;宇宙学常数改一点点,宇宙刚出生就死了。

所以,混沌大神写这第一版代码的时候,调试得非常非常仔细。


03 拔一根毫毛,吹出千万个实例

基础类写好了,宇宙的框架搭起来了。

但光有框架不够啊。一个系统跑起来,需要实例。

于是,混沌大神像孙悟空一样,拔下一根毫毛,放在嘴边轻轻一吹——

呼。

无数个小猴子出现了。

这些小猴子,就是一个个实例。每一个星系、每一颗恒星、每一粒尘埃、每一个生命,都是混沌大神的一根毫毛变的。它们继承了基础类——所以都要遵守引力、遵守电磁力、遵守热力学定律。但每个实例又可以有自己的“接口”和“子类改写”。

这就是为什么宇宙如此丰富多样。

同样的物理法则下,有的地方形成了恒星,有的地方形成了黑洞,有的地方出现了生命,有的地方永远是一片死寂。基础类是一样的,但实例化的时候,参数不同,环境不同,演化路径就不同。

你和我,也是这些毫毛之一。

我们是混沌大神的一段代码,跑在这个巨大的宇宙服务器上。


04 宇宙服务器的运行日志

从那以后,这个超级宇宙服务器就开始运转了。

一运转,就是138亿年。

在这138亿年里,无数个小宇宙被创建,无数个程序在运行。有的小宇宙程序写得很漂亮,螺旋上升,不断迭代,越跑越顺畅。有的小宇宙程序写得很烂,到处都是bug,跑着跑着就进了死循环。

死循环的程序会怎么样?

资源被占满,无法响应,最后系统把它杀掉,资源回收,重新分配给其他程序。

这就是星系的生灭,恒星的死亡,文明的终结。

那些能够一直在运行的,自然是没有大bug的。它们看上去是一种“螺旋上升”的状态——有起有落,有生有死,但每一次循环都比上一次稍微进步一点。就像快速迭代的软件,永远在更新,永远在优化,永无止境。

而那些逆着规律走的,非要和基础类对着干的,也能存在一段时间——就像一段有bug的代码也能运行一会儿。但最终,它们会走向灭亡,被系统回收,释放出来的资源成为新程序的养料。


05 你和我:混沌的两根毫毛

现在回到最开始那个问题:“我是谁?”

从混沌的角度看,我们就是它拔下的毫毛。我们是它的一部分,但我们又独立运行。我们继承了它的基础类——所以我们有意识、能思考、能提问。我们又改写了自己的子类——所以我们每个人都不一样,有自己的性格、命运、选择。

混沌想知道“我是谁”,于是创造了无数个“我”去体验。每一个生命,都是混沌的一个视角,都是它在问“我是谁”的一次尝试。

从这个角度看,你和我,其实就是混沌本沌。

只是我们忘了。

就像孙悟空忘了自己是石头里蹦出来的,我们在这个三维世界里跑得太久,忘了自己原本是那根毫毛,忘了自己来自那片混沌。

但有时候,我们会想起来。

仰望星空的时候,听一首老歌的时候,深夜睡不着的时候,看着孩子熟睡的脸的时候——那种“似曾相识”的感觉,就是混沌在提醒你:嘿,你是我的一根毛,别忘了。


06 顺势而为:写好自己的代码

那么,知道了这些,对我们有什么用?

有。而且有大用。

既然我们是混沌的一根毫毛,既然我们在宇宙服务器上跑着,那最好的活法就是:顺应规律,写好自己的代码。

什么是规律?

基础类已经写好了——引力、时间、因果、能量守恒。你不能违反这些,违反就是找死。你从楼上跳下去,引力会让你摔死;你作恶多端,因果会让你偿还。这不是道德说教,这是代码逻辑。

但你可以改写自己的子类——你的选择、你的态度、你对待别人的方式。同样的基础类下,有的人把自己活成了一团乱码,有的人把自己活成了一个优雅的程序。

那些把自己活成乱码的,贪婪、仇恨、嫉妒、恐惧,这些bug越积越多,最后系统卡死,进程被回收。那些把自己活成优雅程序的,利他、感恩、知足、坚韧,这些特性让他们在螺旋上升中不断迭代,越跑越顺。

你不是非要惊天动地。

你只需要把你这一段代码写好。把今天的事做好,把身边的人照顾好,把自己这个实例运行得稳一点、久一点、有意义一点。

这就是顺势而为。


07 给聪明人的提示

故事讲完了。

如果这个神话能给聪明人一些提示,那提示可能是这样的:

你活着,不是偶然。

你是混沌的一根毫毛,是这个宇宙服务器上正在运行的一段代码。138亿年的宇宙演化,无数次恒星的生死,无数个常数的精确调校,就是为了让你能出现在这里,能读到这段话,能思考这个问题。

别辜负。

别把自己活成死循环。别占着资源不做事。别等到被系统回收了,才发现自己这段代码从来没好好跑过。

螺旋上升,持续迭代,永无止境。

这才是混沌大神拔下这根毫毛时,想看到的结果。


(全文完)