大道至简:编程与道
一生二,二生三,三生万物。万物负阴而抱阳,冲气以为和。
道德经讲的这句,基本上是世界运行的规则。它是一种朴素的系统观,是不变的真理。
一,是指一个规律,一个法则。
事物由一个法则可以从一个极端状态变化到另一个极端状态,
这两个极端就是阴阳,也就是"二"。
两种状态有差别,因为差别的存在,它们之间就有了特殊关系,或者相互作用。
这种关系、作用就是“三”。
而差别有大有小,这些不同的差别就呈现出了万物。
由法则而状态,由状态而关系,这一、二、三其实没有先后次序,只是在不同层面去阐述而已。
“万物负阴而抱阳”。万物是“一”的外现,所以万物必然是同时有阴有阳的,而且阴阳不断转化。
“冲气以为和”。气,指的是推动一切的能量,有了能量,万物才能处于动态的稳定中。
这一、二、三看起来很深奥,其实很容易理解。因为大家每天都在用,它就是人思维的一部分,正是“百姓日用而不知”。
我想我可以用程序去解释这个道理。
大家学物理都知道,自发光的物体有三原色:红(Red),绿(Green),蓝(Blue)
这三种颜色组合可以呈现出任意可见光的颜色。在编程时,我们为了用程序控制三种颜色光的强弱,给它建立了一套规则:
用一个数字代表红光,一个数字代表绿光,一个数字代表蓝光。每个数字都是“一”。
三个数字必须有个界限,最暗的用0表示,最亮的用255表示。这就分出了明暗的界限,也就是阴阳。当然,最亮不一定是255,它可以随你定。中间的数字就是在阴和阳之间变化。
亮与暗在视觉上产生了差别,形成了对比。然后我们将这三对阴阳组合在一起就形成了RBG颜色空间。
例如:
(0,0,0)代表三种颜色都取最暗,就是黑色
(255,255,255)代表三种颜色都取最亮,就是白色
(200,100,150)代表红色最亮,绿色最暗,蓝色适中,如果你学过绘画,你很可能已经猜到它偏紫色。
对,这就是完整的一、二、三,至于从颜色到图像,那又是另外一套规则。
图像是将这些颜色放在一个矩阵中。
矩阵由行和列组成。
行的“一”是维度,“二”是方向,“三”是长度。
列的一二三与行相似。
颜色,行,列,三者嵌套着使用,就形成了图像,这种嵌套可以说是“玄之又玄,众妙之门”。
不妨再举些其它例子
1.度量平面除了行和列的平面坐标,还有极坐标。
极坐标的“一”是轴旋转,“二”是旋转方向,“三”是旋转角度。
2.说到经济,它的“一”是货币,“二”是价格,“三”是利润。
3.说到人性,它的“一”是生死,由趋向于生或死,产生了“二”(利害),由利害的差异,产生了“三”(取舍行为)。
。。。
我姑且把一个完整的“一,二,三”称做一个“系统”吧。
事实上,世界就是由这一个个系统嵌套组合而成的。
你看到的无论是那些变化的颜色图案文字,还是人们纷繁复杂的行为,真正承载它们的是背后那个“一”的规则。
真实世界的“一”,其中至大无外,至小无内。
计算机世界的“一”,虽然运算量有限,细微到一定程度,足以模拟真实。