曾让一个国家瘫痪的“千年虫”,重出江湖,它究竟是何方神圣?( 二 )


所以 , 早期的程序员们在编写代码时 , 既要考虑逻辑的完整性 , 也要兼顾写码的成本 , 简单来说 , 就是要用最少的代码 , 来运行最完美的程序 。
这使得程序员在编写时 , 基本都是能省则省 , 就连日期的表述 , 也不得不采用六位简写的方式 , 比如1922年11月25日 , 就要简写为22/11/25 。
值得一提的是 , 当时想出该办法的人 , 还是一位女程序员格莱斯·霍普 , 她也由此在程序界享有盛名 , 在当年被冠以“软件之母”的称号 。
曾让一个国家瘫痪的“千年虫”,重出江湖,它究竟是何方神圣?
文章图片
然而 , 就在六位简写法开始大肆推广时 , 一位名叫鲍勃·贝默的科学家却察觉到一丝不对劲 , 他开始四处呼吁 , 希望大家不要普及这种简写方式 。
因为 , 六位简写法存在一个巨大的漏洞 , 那就是年份仅体现两位 , 这会让二十世纪和二十一世纪的时间发生重合 , 比如1922年和2022年 , 在计算机的记录中 , 就都只会显示“22” , 这显然是不合理的 。
但当时的人们认为鲍勃只是在眼红格莱斯的成就 , 加之 , 六位简写法确实让程序员们节省了开支 , 所以 , 无论是科技公司 , 还是各大院校实验室 , 都没有听取鲍勃的意见 。
一部分程序员甚至还认为 , 自己写的程序根本用不到二十一世纪 , 至于二十一世纪后 , 那会有新的计时方法了 , 所以根本无须担心 , 可真的如此吗?
曾让一个国家瘫痪的“千年虫”,重出江湖,它究竟是何方神圣?
文章图片
事实上 , 这种分析从逻辑上来说 , 是没有任何问题的 , 可前提是“新的计时方法”必须要出现 。
但令人震惊的是 , 科技界似乎都沉溺于向前发展 , 大家都忘记了开发新的计时方法 , 毕竟 , 老一套的六位计数法用起来很方便 。
除此之外 , 大多数软件接口都已经设定为这种技术方法 , 若要进行修改 , 那将面临着无法适配的情况 , 这预示着成本必定会随之上升 。
曾让一个国家瘫痪的“千年虫”,重出江湖,它究竟是何方神圣?
文章图片
就这样 , 科技界一直拖到了二十一世纪的最后十年 , 也就是九十年代时 , 才终于注意到时间的问题 , 因为一旦完成世纪的跨越 , 所有程序的设定 , 都会变成00/01/01 。
可电脑毕竟不是人脑 , 它在读取这一时间数据时 , 必然会发生紊乱 , 须知无论是1900年1月1日 , 还是2000年1月1日 , 它们的显示方式都是一样的 。
这意味着 , 所有的程序都会在过年时崩溃 , 从而引发史上最大规模的紊乱事件 。 届时 , 无论是核弹发射装置 , 还是金融中枢 , 又或是运作的工厂 , 都会出现无法预测的混乱 , 这一结果的可怕性 , 简直就是不堪设想 。
曾让一个国家瘫痪的“千年虫”,重出江湖,它究竟是何方神圣?
文章图片
因此 , 为了避免这种混乱 , 一众科技大国开启了一场修改代码的行动 。
不过 , 修改这五十年来写出的所有程序 , 这显然是不现实的 , 所以 , 程序员们选择直接把系统中的1900年至1920年的时间删除 。
这样一来 , “00/01/01”就变成了2000年1月1日的专属 , 无须再担心别的问题 。
曾让一个国家瘫痪的“千年虫”,重出江湖,它究竟是何方神圣?
文章图片
但饶是如此 , 位于非洲的国家冈比亚 , 还是因为没来得及修改时间逻辑 , 而导致全国程序的崩溃 , 无论是发电站 , 还是自来水厂都停止了工作 , 整个国家不得不选择放假一天 , 来等待国际支援 。
另外 , 需要注意的是 , 当时删除的时间线仅到1920年 , 这意味着 , 在2020年之后 , 依然还会爆发千年虫事件 。