單比特錯誤[1](第4/7頁)

盡管如此,事實是泰勒只能記得莉迪婭是多麽冷靜和勇敢,當時她告訴泰勒,她知道自己要死了,沒有一點痛苦,她會在天堂等著泰勒。

然後,她睜大眼睛說:“你好,安布瑞爾。”

雖然泰勒知道自己什麽也不會看見,可他還是在座位上扭轉身體,想要目睹莉迪婭提到的天使。然而方向盤擋住了他,幾秒鐘後他便放棄了。以後他會為這種行為感到後悔,因為他的目光離開了莉迪婭的臉龐。在那幾秒鐘裏,莉迪婭離開了他。

如果泰勒信仰宗教,那麽跟莉迪婭在天堂相聚的前景會撫慰他的心靈。或者他可能對上帝感到氣憤,直到他能像約伯那樣接受自己的生活,才會停止向上帝抱怨。但是泰勒不相信天堂或上帝。

泰勒因為莉迪婭身上的上帝之光而陷入愛情,除了莉迪婭對他所講,他無法命名或解釋那束光,所以缺乏信仰也不能帶給他慰藉。他的信仰就是他的心頭所愛。

繼續保持沒有信仰的狀態,就等於說莉迪婭的快樂是一種幻覺,這會抹殺泰勒對她的核心記憶。可是信仰上帝就要求他打破心中幻想和現實的界限,把幻想當作現實來接受。莉迪婭在世時,只要他還有愛情,就可以推遲這個決定,但莉迪婭的離世意味著他必須做出選擇。

泰勒終於能夠出院以後,他遠離朋友、辭掉工作、切斷電話。

他只是盡量去追查那場事故的一切信息,努力理解所發生的一切。因為調查員能找到的證據不多,有很多缺失的環節需要填補,所以泰勒困難重重。不過他有的是時間。

“不同級別的間接尋址方式使變量與值之間相互對應,形成一張聯系網。”泰勒讀道,“程序員的很多工作就包括弄清這張網的每一條組成。”

變量就是電子存儲器裏地址的名字,一塊存儲空間可以用變量命名,用以取代原本要操作的獨立字節。變量可以用來命名任何對象:油門設置、社會保障碼或者擦除磁盤的子程序。

不幸的是,既沒有辦法區分一個變量是否指向了它在聲明中所指向的地址,也沒辦法區分它究竟有沒有指向一個地址。在比特層面上,哥斯達黎加的蝴蝶數量跟離開澳大利亞海岸的熱帶風暴速度沒有什麽區別。

這給每個程序員帶來了麻煩,因為變量與值之間的對應關系存在的基礎,是程序中薄弱的所謂“正確性”。假如在一個變量名沒有指向任何地址時,你能說服計算機它的命名是真實的,那麽程序就會跑飛。

為了幫助程序員一直能區分可靠的現實和空想的災難,類型系統被引入進來。它們是數學結構在程序語言中的體現,其目的,舉例來說,是確保用於油門設置的變量不會被指向汽車當前的加速度。令人感到慰藉的是,類型系統把絕對的秩序強加給沒有道德約束的瘋狂比特浪潮。

類似其他眾多巡航控制系統,泰勒汽車上的系統也依靠運行特定程序的微計算機來實現其功能。

顯然,程序正確地運行非常重要。泰勒汽車中的程序是一位認真的程序員所寫,他明白自己的設計工作關系著生命安危。不僅如此,他使用的程序語言有一套強大的類型系統,數學證明顯示,不管程序員多麽聰明或者粗心,通過類型檢查的程序可以保證,聲明為指向油門的變量絕不會指向處理切換變速器的子程序。這是比特世界裏最接近絕對可靠的方法了。

所有這些都表明,在自動駕駛模式下,泰勒有充分的理由靠在座椅上放松下來。

大約兩千年前——泰勒讀了更多材料——耶穌生活的時代,仙後座所在的那片天空有一顆恒星正在走向死亡,一個冬夜,它變成超新星爆發了。

爆發從原本那顆恒星的殘骸,以極高的速度釋放出無數質子和中子。它們被稱為“宇宙射線”,其中大多數粒子將在空曠的宇宙中馳騁,直到時間終結,它們的命運與我們無關。

然而,其中一個質子經過兩千年黑暗行程後,在那個七月的夏日抵達了地球。它穿過電離層,巧妙地躲過地球磁力線,然後直接沖入稠密的大氣,幾乎沒有減速。那一天,它本該繼續前進,一頭撞進加州的沙漠,可是它的路線被擋住了。

當時,莉迪婭正在睡覺,泰勒的眼睛離開公路去看她。即使在睡眠中,她的臉上也有受保佑者的光芒。他們的汽車撞上了很久以前從死星逃逸的孤獨質子。

金屬外殼沒怎麽影響到質子的前進,塑料聚合物更是無法阻擋,它一下子穿透它們。這樣看來,它似乎會繼續前進,直到質子突然遇到一塊極小的矽。兩千年來的頭一次,它對實際的物質發生興趣,決定撞飛它的電子。

那一小塊矽剛好是一個電容的一部分。另外還有跟它一樣的數百萬電容和晶體管,組成了微計算機存儲器的集成電路,控制泰勒汽車的程序就在它們之中運行。不管以什麽標準衡量,在物質結構中電子的缺失本來無關緊要,可是這次卻足夠引發後果。