单比特错误(第4/8页)

从泰勒在垃圾箱旁看到她开始,到她一边喂他吃开心果冰淇淋,一边答应嫁给他的那天为止,这一个月的时间是泰勒人生中最幸福的时光。

唯一的问题在于,他还是不信上帝。

从洛斯阿达玛镇回来的路上,利迪娅在副驾驶座上睡着了。公路很平直,也没什么车。泰勒打开车上的定速巡航系统,好伸展一下腿脚。他伸手去握利迪娅的手,并转头去看她熟睡的样子。

后来,他努力回忆事故发生后的感觉。那时,他看见座位旁的利迪娅正在慢慢走向死亡。她头下脚上地被安全带绑在座位上,脊背扭曲成一个看上去难以置信的角度,变形的车顶压住了她的双臂。泰勒惊奇地发现,自己对自身的痛苦没有任何印象。

不过,没有痛苦是不可能的,因为他的两条腿都骨折了,而且照他脸上和胳膊上的烫伤来看,当时他这一侧的车体肯定已经被烤得滚烫。等他在医院里恢复到可以自己坐起来的程度时,他得知失明的左眼永远不会再见光明了。

即便如此,泰勒在那段时间里的全部记忆也只有利迪娅是如何安详从容地告诉他,她要死了,她一点痛苦都没有,她会在天国里和他再会。

然后她睁大了眼睛,说:“你好,安伯列。”

泰勒在座位上扭动身子,试图看到她看见的东西,尽管他心里知道这是徒劳的。他被方向盘卡住了,几秒钟之后便不再尝试。他后来为此悔恨不已,因为就在他的视线离开利迪娅的几秒钟里,她的生命结束了。

要是泰勒信教的话,他可以从利迪娅要与他在天国重逢的承诺之中得到安慰,也可以将愤怒的矛头指向上帝,一直到自己能够像约伯一样接受命运的安排为止;但是,泰勒并不相信天国与上帝的存在。

泰勒同样无法以一个非信徒的方式释怀。因为他对利迪娅的爱来自她那内在的光辉,而除开利迪娅所告诉他的之外,他无法为这种光辉提供其他的定义和解释。他所爱的就是她的信仰。

要继续做一个非信徒,就意味着宣判利迪娅的欢乐全是幻觉,这会完全摧毁她给他留下的回忆。而变成信徒,则要求他在头脑中去除想象与真实之间的樊篱,将看起来似乎是虚无缥缈的东西作为事实来拥抱。利迪娅在的时候,只要他们还相爱,他便可以拖延时间,不必马上做决定,但她的死令他不得不做出抉择。

痊愈之后,泰勒疏远了朋友,辞去了工作,拔掉了电话线。

他所要做的,就是尽力搜集和那次事故相关的资料,试图弄清楚到底发生了什么。这并非易事,因为事故调查员并没有查出多少东西,还有大量空白有待填补。不过泰勒并不缺少时间。

“程序员的工作,很大一部分就在于厘清变量与数值是如何通过间接层次相互对应的。”泰勒读道。

变量之于存储器,就如同名字之于人脑。可以给一整段存储器空间冠以一个变量,这样便无需对每一字节进行个别操作。变量可以指代任何东西——阀门参数、社会安全号码,或是一段清空硬盘的子程序。

不幸的是,没有什么办法可以判断某个变量所指向的数据是否存在,以及是否与变量所声称的一致。在比特这个层次上,无论是哥斯达黎加蝴蝶的数量,还是澳大利亚外海热带风暴的速度,看起来都没太大区别。

这一点困扰着所有的程序员,因为绝大部分程序对正确性所能做出的那一点点保证完全系于变量的有效性之上。要是你能让计算机误以为某个为空值的变量指向的是有意义的数据的话,那什么事情都有可能发生。

为了让程序员不至于无法区分确凿无疑的真实和光怪陆离的灾难,变量类型系统应运而生。这是一种嵌入到编程语言当中的数学构造,可以确保某个代表节流阀参数的变量不会指向别的什么东西,比方说汽车目前的加速度。类型系统以绝对可靠的秩序来抚慰程序员,让他们不至于因为面对混沌的比特海洋而发疯。

像很多现代的汽车一样,泰勒车上的定速巡航系统也是由运行在微型计算机上的专门程序控制的。

这个程序能否正确运行显然至关重要。编写它的那位细心的程序员非常清楚自己的工作成果直接关系到他人的身家性命。不仅如此,他使用的编程语言也拥有无比强大的类型系统,甚至在数学上可以证明,无论编程者有多么狡猾或粗心,只要某段程序通过了类型检测,那就可以肯定,它永远都不会把某个被定义为油量的变量指向控制换挡的子程序。在比特的世界里,这近乎无懈可击。

所有这一切都说明,当初泰勒有充分的理由把汽车托付给定速巡航系统。