IT與命運,人生隨想

   寫點嚴肅的。

 
 
我信命!我相信是命運決定的我的性格:我從不認命。
    從事IT行業是很奇妙的,它給了我們更寬廣、更抽象的思考事物的方式。我的腦子裏常常會冒出許多天馬行空的想法,在這裏面,有一些是關於命運的。
    偶然事件:
     IT行業是建立在絕對理論基礎上的。寫一個程序,有一處錯誤,不管編譯多少回,它還是會錯,不會神奇地調試通過;操作系統的引導代碼被破壞,不管試圖啓動多少回,系統也還是啓動不了;數據被刪除,等十天、一百天、一萬年都不可能自動跑回來。
    從寫程序的角度看待代碼世界,是不存在偶然事件的。即便是隨機函數,也是由某些看似隨機的外因(CPU響應時間,鼠標的位置等)引起的。人工智能也是建立在越發複雜、抽象的算法上的,也絕對沒有隨機性。
    換到生活上來,人生的偶然性難道不是算法的複雜造成的嗎?
    扔一枚硬幣,掉下來的是正面還是反面,在掉之前就已經決定了。當然,這可能有太多的因素組成:扔硬幣人(程序裏的對象)作用在硬幣上的力,硬幣受到的外因(如風、地球引力)......。其中扔硬幣的人在這個事件中所表現的作用力也是由太多複雜的過程、變量、繼承影響的,比如肌肉的表現、神經的支配,,這些原因的原因又能追溯到原因的3次方。以此遞推,總會找到所有引起這枚硬幣正面還是反面的原因來,而這些原因又是絕對事件,非偶然。這樣看來,那扔硬幣不就是必然事件了嗎?
    所以,命運是必然的。我一直認爲只有努力才能改變命運的想法是命裏早就註定的;很多人因爲相信算命先生的一席話,錯失大好機會,庸庸碌碌一生也是命裏早就註定的。那寫這篇文章看起來也是命中註定的了。
   
    算法複雜度:
    程序員在寫一個程序時,常常會遇到這樣的情況:確信一段代碼絕對不會有漏洞了,但過一段時間卻又發現了完全沒有想到的錯誤。或者還有,在解決一個問題的時候,我們絞盡腦汁想出來一個自認爲完美的算法,卻在一個偶然的機會得到高人的指點,恍然大悟,自己怎麼就沒想到呢?
    是啊。以動物的思維去看待世界,看待人,一定不像以人的思維去看待動物。也許在動物的世界裏有另一種“高等”的思維,是脫離生命、價值等的思維模式。但我們不是動物,所以想不出來。當然,我以人的角度去看這個事情,本身又是侷限的,相當於白說。
    這樣看來,每一樣東西都是有思維的。人和任何事物一樣,不過就是一個可以接受輸入的程序段而已,捱打的時候會痛、因爲扔硬幣會亂想、因爲亂想會寫下來。那硬幣也一樣,扔它的時候,它會跳起來;用錘子砸它,它會變扁。當然,我不是說它有佛性,我以人的思維,還是看不透一枚硬幣的思維的。
 
    唯心論
    如果我們寫了一個複雜的程序,在程序裏有一個複雜的類,類裏封閉了大量的思維過程。再如果這個類實例化了一個對象,它可以應對大量的不同輸入的處理,這樣,這個對象便生動了起來。就像我們按下鍵盤的一個A,對象便認爲它接收了A。再換個角度思考一下,如果我們用模擬的方式向對象傳遞一個信號,說按下了鍵盤上的A,那對象還是會以爲外部接口按下了鍵盤A。
    那如果這個對象是人呢?
    恭喜你,程序員就是上帝了。
    人常常會做夢,做夢的時候一定不會認爲是在做夢,所以,保不齊現在就在夢裏(別看我,也說你呢!)
    程序有時候會有BUG,或者陷入異常。瘋子、精神失常者會不會是另一個異常呢?但願上帝不會結束它(她?他?)。
    程序可以不斷的調試、重新執行。那整個世界如果是一個複雜的程序(我想不出來程序存在哪裏?),重新調試是否意味着時間可以倒流?
    那時間又是什麼呢?也許就是程序執行時的CPU執行流程。如果沒有外部時間的參考,一臺PIII在執行一段代碼的過程中,對象本身不會感到慢,和P4上執行的過程一樣。
    程序如果是個死循環呢?
 
    做程序的一個原則就是充分封裝,以一個對象的角度看其上層調用是不現實的,最多上層安排一個猜測的過程而已。如果我是這個對象,我的所有想法都是來自上層的設計,那這些想法是真的嗎?我不知道。也許上帝正關注着我寫這個文章。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章