1. 程式人生 > >程式設計哲學之 C# 篇:007——如何創造萬物

程式設計哲學之 C# 篇:007——如何創造萬物

上帝擁有建立萬物的能力,本文介紹創造萬物的道,讓你也擁有上帝般創造萬物的能力!

中國哲學家,道家學派創始人——老子,在《道德經》寫到:

道生一,一生二,二生三,三生萬物

那麼,是什麼 可以創造萬物?

古希臘的哲學家們曾做過這樣的推理:
如果將水、沙子、肉無限切分,最後得到的將是相同的不可分的顆粒。
這些以不同的方式連線在一起的不可分的顆粒,希臘人稱之為“原子”。

那麼我們用同樣的思維來推理,
如果將電腦世界中文字、圖片、音樂、電影、遊戲、無限切分,
最後能否得到的將是相同的不可分的東西?如果能?那麼這個東西又是什麼?

回憶一下初中的化學知識:
石墨、金剛石,它們都是由 C(碳) 原子構成的,但由於它們的 C(碳) 原子排列方式不同,從而造成了它們是不同的東西。



看來創造萬物的 是:最小不可分割的顆粒 + 排列方式

現實世界中的難題:

  • 物理學家們依然在尋找 最小不可分割的顆粒 的最終形態。
  • 即使想要將 原子 按意願組織起來是極其艱難的。

怎麼解決上面說到的兩個難題?

在現實世界中,
我們想要合成一種新的元素極其艱難的原因之一是,排列是以三維立體的形式來呈現的。
如果我們能將三維降到一維,那麼一切將會簡單很多,那麼一維排序能否創造出萬物呢?

讓我們來看看 7000 多年前的伏羲——華夏文明的人文始祖,是怎麼用他獨特的方式來描述這個世界的。

7000 多年前,人類還沒有發明文字,
伏羲看到世界:有天、有地;有男、有女;有光、有暗......
悟出了天地萬物的變化規律惟一陰一陽而已。

所以根據陰陽變化之理,創造了八卦,以八種簡單的符號來概括天地之間的萬事萬物。

符號 卦名 拼音 象徵
qián
duì
zhèn
xùn
kǎn
gèn
kūn

可以看出,只要用三個位,每個位置上要麼是,要麼是,就可以代表成八種不同的事物。
記作:2^3 = 2³ = 8

接下來看看由八卦擴充套件到六十四卦

可以看出,只要用六個位,每個位置上要麼是,要麼是,就可以代表成六十四種不同的事物。
以此類推,只要我們不斷地增加更多的,就可以表示更多的事物,

用極限的思想來訴說。就可以表示用來表示萬事萬物。

我們運用古希臘哲學家的推理來無限切割六十四卦中的任何一個卦象,
也就是對半切,再對半切,再對半切...
直到最後,我們得到 最小不可分割的陽最小不可分割的陰
貌似有兩種 最小不可分割的顆粒

如果是隻有一種 最小不可分割的顆粒 就好了。
再看看我們的 金剛石 和 石墨 的結構圖吧。



在 金剛石 和 石墨 的結構圖,
有原子的點,我們稱之為
沒有原子的空白空間也有最小不可分割空間(剛好可以容下一個原子,但還沒有),我們稱之為

所以,最小不可分割空間上要麼有最小不可分割的顆粒,要麼沒有(),只有這兩種可能。
替換一下八卦中的陰陽:
=
= (因為 陰 = 無了,所以我們只剩下 陽 了)

也可以:
=
= (因為 陽 = 無了,所以我們只剩下 陰 了)

用更簡單的符號來表示吧:
= = 1
= = 0

想象一下,將金剛石 和 石墨 的結構圖中
有原子點用 1 代替,
空白空間用 0 代替(不是整片空白,而是剛好可以容下一個原子最小不可分割空白空間)

所以我們得到了 最小不可分割的顆粒 —— 1
0 則表示 最小不可分割空白空間,也可以來容下 最小不可分割的顆粒 —— 1,但目的是為了隔開 1,讓其呈現排列結構

符號 卦名 拼音 象徵 新表示方式
qián 111
duì 011
101
zhèn 001
xùn 110
kǎn 010
gèn 100
kūn 000

前面說了,創造萬物的 是:最小不可分割的顆粒 + 排列方式

所以,在我們創造的世界中,由於我們是神,
因此我們可以指定 最小不可分割的顆粒1
然後用 一維排列的排列方式,就可以在我們創造的世界中創造萬物!

在數字網路時代,你看到的文字、圖片、音樂、電影、遊戲,這一切都是由 10 組成。

二進位制的發明者萊布尼茲首次接觸到八卦圖是與 1685年 來中國作為傳教士白晉的聯絡中。

在現實世界中,物理結構相同則是同樣的事物,物理結構不同則是不同的事物。
然後佛且告訴我們,一切由心而生。

看山是山,看山不是山,看山還是山~

在現在的電腦世界中,同樣的排列方式可以表示多種事物,取決於你怎麼“看”,
如:
01100001 = 可以表示:字母 a
01100001 = 可以表示:數字 97

如果我們將其相加,可能有多種結果:
01100001 + 01100001 = aa
01100001 + 01100001 = a97
01100001 + 01100001 = 97a
01100001 + 01100001 = 194

一切的因果取決你心中的“看”

在數字網路中,一切的交流都是由 10 組成。
如果一臺電腦將 01100001 傳送給另外另外一臺電腦,
另外一臺電腦是否能明白取決於兩個電腦是否擁有相同的“看”法。

所以,戒酒戒色,練武功都不會讓你成佛,
你是否能成佛,取決於你對這個世界的“看”法是否和佛的“看”法一樣。

這裡有點講得有點玄了,下幾章講到程式設計中得型別應該就會好懂很多了。

太極

八卦圖是由伏羲畫的,中間的太極圖是由孔子畫的。
組成,在孔子的哲學觀中:
這個世界是由 大到極限(宇宙) 和 (點)小到極限(最小不可分割的顆粒) 的組成的。

下一章,我們將開始用 小到極限(最小不可分割的顆粒) 在 大到極限(宇宙) 中建立萬物!

結束語

在很多計算機書籍中都會有下面一段話:

位元(bit)是英文 binary digit 的縮寫,表示資訊的最小單位,只有兩種元素:01

本章的內容就是解釋為什麼只用 01 就能來描述我們現實世界中的一切。

最後說明:本章內容和思想是計算機與資訊時代的根基,適合任意程式語言