聲明:
本文內容來自《編程之道》一書, 小趙只負責錄入. 所有版權歸該書的出版社。本文由原來的三冊書組成:《編程之道》 《編程之禅》《計算機時代的寓言》
目錄
引言 III
第一篇 秋 1
第二篇 冬 15
第三篇 春 29
第四篇 夏 43
第一篇 秋
虛幻與真實
1 彩虹
一間大辦公室,裡面滿滿地有許多工作間。每個工作間都坐著一位男士或女士,身著藍色的服裝。電話鈴聲此起彼伏。電腦屏幕發出的琥珀色光線映在無色的天花板上,非常刺眼。
窗外,暴風雨來臨了,雨點砸在地上,狂風猛烈地搖著樹梢,雷聲運動著這幢黑色磚牆的建築物。
男士和女士們根本沒看見這場暴雨的到來,也沒聽見狂風的呼嘯。
突然,燈光暗了下來,屏幕上變成一了片空白,電話鈴聲啞了。人們咒罵著,像一只只小蟲從那些方形的繭包中鑽了出來。
人們聚集到一起,談論著,笑聲充滿了整個走廊。
一位男士,站在窗外戶邊看著這場暴雨過去,一道彩虹金光閃閃地掛在東方的天空上。
2 機器人
一位科學家用他自己的形象制造了一個機器人。科學家坐在自己的創造物前,看著它臉上奇怪而熟悉的笑容和豐富的表情,惱了。他想測測這個機器人的智商,便問機器人:“這個宇宙始於何時,又將於何時輪回?”
機器人回答說:“這個宇宙在我出生的時侯被創造,在我死亡時它也將結束。當我行走時,我並不移動--相反,是世界在我的腳下移動。當我閉上眼睛時,除了虛空以外不存在任何事物,但當我兩次睜開眼睛時,世界便一眨眼又回到了現實中來。沒有什麼東西是真實的,沒有什麼東西是永恆的。當我離開一個地方時,這個地方就像煙霧一樣散去;只有當我回來時,它才又重新出現。除了我本身以外,沒有任何東西存在,我就是虛無的上帝。”
科學家得意地點點頭,“我明白了,你畢竟只是台計算機而已。”
3 專家系統
一位計算機科學家和一位年輕的女士結了婚。科學家知道他將早她去世,於是開始營建一套專家系統。這是一套能錄制他所知道的任何事情的程序。當系統完成時,他對妻子說:“從現在起你將永遠不會孤單。”
不久以後他死了。他的妻子從葬禮上回來後,把那套專家系統調到了電腦屏幕上。她那死去丈夫的面容出現了。她對著屏幕講話,屏幕便立刻作出了回答。
她流著淚將那套程序從電腦中刪除了。當有人問她為什麼時,她說:“我太愛我的丈夫了,以致於不能用那種方式來想起他。”
4 電腦色情狂
以前有一個男子酷愛色情畫。他買了一台昂貴的電腦,這樣他就能觀看高分辯率的女人裸體照片。他親熱地給他的電腦取了個名字叫“安琪兒”,並花費大量的時間來觀看他所收集的照片。
不久,他便對現實中的女人失去了興趣。當有人問他為什麼時,他回答說:“我的電腦是我創造的世界,它順從於我的每一個念頭。當我坐在屏幕前,我就像一個上帝,為什麼我要浪費時間在現實中那些不合意的或糾纏人的女人身上呢?”
一位程序員聽到這話,抱怨道:“為了這樣的一種基本目的而使用電腦是完全錯誤的,你應該活在現實的世界裡。”
那個色情狂便問程序員:“順便打聽一下,你用你的電腦干些什麼?”
程序員驕傲地挺起了胸脯,“我編寫程序來模擬經濟趨勢。”他說。
5 新聞發布會
一名市場營銷員和一名程序員都在一次新聞發布會上發言,將一項有關新的電腦技術的消息公布於眾。
市場營銷員說:“這項技術比原子彈、晶體管和電話三項發明加起來對世界文明的影響都要大。”
程序員則是說:“這項技術在有限的領域內,在有限的程度上,解決了一些技術性的問題。”
猜猜看,記者們將會引用誰的發言。
6 神符
從前有個巫師,他非常強大並且功力深厚。一天晚上,一輪昏暗的月亮出沒在天空,一尾彗星像不祥的眼睛掛在西邊。此時,巫師制作了一張力量的神符。在那神符上面有許多圓圈、方塊、線條、箭頭和詞--有魔力的詞,如建築、信息、自動化、集成、分銷。
然後,巫師把他那飄逸的鄉滿銀色的星星的長袍扔在一邊,穿上了羊毛三件套,朝硅谷奔去。
他走進一位軍機大臣的辦公室,說:“看啊,用這張神符,我們將捕獲人們的思想。不計其數的黃金將飛進我們的保險箱,不可限量的電腦資源將歸入我們的項目。”
軍機大臣拉開他的抽屜,翻出了一大堆紙張,每一張上面都有不同的神符,“我的神符已經夠多了,”他說,“我所需要的是一套好的,穩健的和有用的程序。”
巫師只好回去了,他氣得直咬牙,咒罵這次倒霉的運氣。
7 垃圾和福音
一名程序員參加了一次業務討論會。
第一位發言的人把一張膠片放在投影幻燈機上,許多組數據便在屏幕上顯現了出來。“這張表格向我們顯示,”他說,“我們將會賺很多錢。”
程序員問:“當你准備這張表格時,你是做何種設想?”
那位發言人撓撓腦袋,“我是在電腦上制作這張幻燈片的。”
程序員咬著牙,“你不曾聽說過‘垃圾進,垃圾出’(Garbage In, Garbage Out)這句話嗎?”
那位發言人仰頭大笑:“你引用錯了,正確的說法是‘垃圾進,福音出’(Garbage In, Gospel Out)!”
8 人工雙腳
一位著名的科學家正在預測電腦的未來:“在人工智能方面的發展,將導致電腦在各個方面都與人平等。電腦將會被編程以便能夠作決定,並提供定於想像力的解決方案,甚至感受人的情感。”
那天晚上,科學家夢見他的雙腳變成了兩只輪子。
9 考試
一位編程初學者問編程大師:“幻覺和真實之間的區別是什麼?”
大師考慮了一會兒,然後讓那位初學者在屏幕上敲入單詞“THUNK”(thunk,計算機中的形式實在轉換程序--譯注)。“現在大聲朗讀這個單詞。”大師命令道。
初學者讀道:“TUNK”。
就在這裡,大師重重地敲了一下初學者的頭。
初學者揉著耳朵問道:“你這是不是意味著,疼痛是真實的,而屏幕上的那個單詞卻不是呢?”
大師歎了口氣,“孺子不可教也。”,他說。
10 示意圖
編程大師叫他的一位初學者畫了張計算機系統圖。真實這位初學者畫了張軟件圖,但圖上沒有標示硬件;然後他畫了張硬件圖,但圖上又沒有標示用戶;接著他畫了張用戶圖,但又沒有標示功能;於是他又畫了張功能圖,但卻沒有標示軟件。最後這位初學者沮喪地放棄了,並對大師說:“這個系統太復雜了,根本無法畫在一張圖上,它不可能在同一時刻被全部理解。”
大師聽到這裡,笑了一會兒,隨後開始哭了起來。初學者問他為什麼,他回答說:“你認為計算機系統很復雜,但與一只的眼睛相比,它還不算復雜。繁衍生命的地球的系統要遠遠復雜得多。而在數十億個太空世界中,地球本身僅僅是一顆行星而已。”
“初學者說:“我還是不明白,你為什麼笑了又哭呢?”
“這還不明顯嗎?因為資本主義和共產主義之間的區別,這就要引發戰爭了。想想看--那些經濟理論系統頂多是浩瀚宇宙中無足輕重的一方面的不完整的圖表。然而,有些人卻因為在某種抽象的教條上產生了就要毀掉這個地球。這不可笑嗎?這不可悲嗎?”
11 樹葉
一位公司行政官花了一上午時間聽取其下屬的匯報,在每個匯報結束時,匯報人都交給他一疊寫滿實際情況和數據的文件。
到了中午,行政官把那堆文件塞進了他的公文包,向大家匆匆致謝後便離開了大樓。時值深秋,片片樹葉被大風從那半禿的樹枝上扯摘下來。
突然,他的公文包的鎖扣斷開了,那些文件被風搖著,翻騰著,同那些黃色的爛樹葉混在一起,像一群受驚的鳥飛散開來。