是否空 2010-10-14 |
|  |
“是還是不是,這是個問題”。莎翁的這句名言被爭論了幾百年了,至今仍無定論。為什麼呢?因為沒有定論。前些時候有過一次“道理越辯越明”的爭論,結果呢,和以往所有類似的爭論一樣,不了了之。到目前為止,道理還是,怎麼說呢,越辯越有辯頭。 不久前在一次聚會上,經朋友的引薦,認識了一位特有學問的學者。寒暄之後,學者問我是做什麼的,我說做點簡單的計算機軟件。學者說:“哦,0 和 1,張飛賣豆腐,黑白分明。”一句話說得我挺沮喪,可不是嗎,二十多年了,也不能說不努力,到頭來就折騰這倆數,唯一的好處就是黑白分明,永遠都不用為誰是誰非而苦惱。可轉念一想,不對呀,誰說我這輩子就折騰這倆數來着。 於是我問學者說您做些什麼方面的研究啊,學者說隨便研究點哲學。我說:“哦,陰和陽,小蔥拌豆腐,一清二白。”說完後,我們倆相互瞪了對方好幾眼後都笑了,然後重新握手聊天。 陰陽黑白組成了變幻莫測的太極圖,衍生出了二進制,造就了現代的計算機,從此 0 和 1 在我們的生活中就無所不在。 說了半天,到底這 0 和 1 是不是簡單的是與非,而且這玩意兒和碼字有哪門子關係呀。您別着急,在回答這個問題之前,還得再說兩句。 舉個例子吧,咱們博客的“個人名片”中有“性別”這麼一項。眾所周知,性別是個越來越敏感的問題,除了傳統的男、女之外,有些人很願意還有其他的選擇,實在沒辦法時,根本不選也是一種選擇(可惜咱這沒有這種選擇)。仔細想想這其實很自然,作為一個虛擬空間中的博客寫手,性別絕對是個無關緊要的屬性,完全沒有必要註明。回到 0 和 1 的話題,就是除了 0 和 1 ,是與非,男或女之外,也許應該有第三個值。 其實在計算機數據庫的理論和實踐中,這個問題早就解決了。那就是用空值(null value)的概念來更準確地描述現實世界。用大白話說,在描述這些非 0 非 1,非是非非,非男非女時,直接就說:“不知道”。不填性別就是性別未知;不填年齡就是年齡保密(比 2010 歲好看多了,是不是);不置可否就是不置可否。在現實生活中,這個“空值”所涵蓋的空間可要比 0 和 1,是與非加起來還大得多得多。 又說了半天,到底這 0 和 1 是不是簡單的是與非,而且這玩意兒和碼字有哪門子關係呀。您往下聽啊,太有啦! 在博客上碼字,特別是在講道理時,總願意能做到旁徵博引地陳述,心平氣和地說理,理直氣壯地爭辯,還特希望能以理服人,讓別人都能同意自己。可實際情況卻往往是無可奈何地嘆氣,氣急敗壞地反駁。偶爾也會有無理取鬧甚至污言穢語的時候。為什麼呢,我想大概是因為認定了“凡事都有個是非曲直”這個死理兒。其實要是能使用“空值”的概念,在大多數情況下,碼字說理時用兩個副詞就夠了:“旁徵博引”和“心平氣和”。 
偷換一下概念,或用個好聽點的詞,把視野放寬點兒: 0 和 1 之間實際上有無限多的可能,而 0 和 1 只是兩個平常很少用到的極端值。那個空值則代表了 0 和 1 之間的所有值。它們是實際存在的,可具體是什麼你也許不知道,而且一般來說,你也不想知道。 …… …… 那天學者對我說:“你玩兒的就倆數,我玩兒的是世間萬物”。我說你那世間萬物全在我這倆數之間,一樣也跑不了。他說何以見得呢?我給他畫了這張圖,說假設你那世間萬物是一條長線(圖中的藍線),我那倆數是條短線(圖中的紅線)。在圖中,經藍線上的任何一點都可以做一條垂線到紅線上,從而找到一個對應的點。所以我說你那世間萬物全在我這 0 和 1 之間。不信你到靠近 1 的那地方去看看,一泡猴尿還沒幹呢。 * 這可是個純粹的文字遊戲,要不然怎麼放在“碼字練習”欄目里呢,一笑。
|