单比特错误[1](第4/8页)
周日莉迪娅不去教堂。她从来不去,是因为教堂不能为她提供什么,而且城市里大多数教堂因为她的故事而陷入窘境。她带泰勒去见经历过天使降临的人和希望天使降临到自己身上的人。这些聚会在教堂或图书馆的地下室举行,他们占用很多折叠椅,喝下不少陈咖啡,还有弥漫的绝望情绪和剽窃来的心灵鸡汤口号。泰勒经常奇怪自己究竟为什么参加这些聚会,直到他看见讲述自身经历的莉迪娅脸上充满了光。
在其他的日子里,他们下班后在城市的街道漫步,沿着太平洋海岸到小城镇去短途旅行。他们谈论一切,又什么都没有谈到。泰勒始终盯着莉迪娅的脸,想要相信这一切。
从泰勒在垃圾箱发现莉迪娅,到分享开心果冰激凌那天莉迪娅答应求婚,泰勒度过了生命中最幸福的一个月。
可是唯一的问题在于,他仍然不信上帝。
从洛斯阿拉莫斯回来的路上,莉迪娅在副驾驶座位上睡着了。道路平整笔直,车流量很小。泰勒换到自动驾驶模式,伸了伸腿,然后拉住莉迪娅的手,转头去看她睡觉的样子。
后来,泰勒努力回忆,当他看着莉迪娅在旁边的座位上缓缓死去时,自己有何感觉。她被安全带束缚的身体上下颠簸,后背扭成奇怪的角度,塌陷的车顶卡住了她的双臂。他吃惊地发现,自己身上的痛苦竟然一点都没记住。
不过实际情况可能不同。泰勒的两条腿都断了,根据他脸和手臂上的烧伤判断,他那一侧的车体承受了火焰产生的强烈热浪。等他康复的身体终于能够在医院里坐起来时,他还发现自己的左眼永久地失明了。
尽管如此,事实是泰勒只能记得莉迪娅是多么冷静和勇敢,当时她告诉泰勒,她知道自己要死了,没有一点痛苦,她会在天堂等着泰勒。
然后,她睁大眼睛说:“你好,安布瑞尔。”
虽然泰勒知道自己什么也不会看见,可他还是在座位上扭转身体,想要目睹莉迪娅提到的天使。然而方向盘挡住了他,几秒钟后他便放弃了。以后他会为这种行为感到后悔,因为他的目光离开了莉迪娅的脸庞。在那几秒钟里,莉迪娅离开了他。
如果泰勒信仰宗教,那么跟莉迪娅在天堂相聚的前景会抚慰他的心灵。或者他可能对上帝感到气愤,直到他能像约伯那样接受自己的生活,才会停止向上帝抱怨。但是泰勒不相信天堂或上帝。
泰勒因为莉迪娅身上的上帝之光而陷入爱情,除了莉迪娅对他所讲,他无法命名或解释那束光,所以缺乏信仰也不能带给他慰藉。他的信仰就是他的心头所爱。
继续保持没有信仰的状态,就等于说莉迪娅的快乐是一种幻觉,这会抹杀泰勒对她的核心记忆。可是信仰上帝就要求他打破心中幻想和现实的界限,把幻想当作现实来接受。莉迪娅在世时,只要他还有爱情,就可以推迟这个决定,但莉迪娅的离世意味着他必须做出选择。
泰勒终于能够出院以后,他远离朋友、辞掉工作、切断电话。
他只是尽量去追查那场事故的一切信息,努力理解所发生的一切。因为调查员能找到的证据不多,有很多缺失的环节需要填补,所以泰勒困难重重。不过他有的是时间。
“不同级别的间接寻址方式使变量与值之间相互对应,形成一张联系网。”泰勒读道,“程序员的很多工作就包括弄清这张网的每一条组成。”
变量就是电子存储器里地址的名字,一块存储空间可以用变量命名,用以取代原本要操作的独立字节。变量可以用来命名任何对象:油门设置、社会保障码或者擦除磁盘的子程序。
不幸的是,既没有办法区分一个变量是否指向了它在声明中所指向的地址,也没办法区分它究竟有没有指向一个地址。在比特层面上,哥斯达黎加的蝴蝶数量跟离开澳大利亚海岸的热带风暴速度没有什么区别。
这给每个程序员带来了麻烦,因为变量与值之间的对应关系存在的基础,是程序中薄弱的所谓“正确性”。假如在一个变量名没有指向任何地址时,你能说服计算机它的命名是真实的,那么程序就会跑飞。
为了帮助程序员一直能区分可靠的现实和空想的灾难,类型系统被引入进来。它们是数学结构在程序语言中的体现,其目的,举例来说,是确保用于油门设置的变量不会被指向汽车当前的加速度。令人感到慰藉的是,类型系统把绝对的秩序强加给没有道德约束的疯狂比特浪潮。