明明才2019年,日本却又要面对千年虫问题?岛国程序员崩溃
就在四月一日,日本公布了他们的新年号“令和”,“初春令月,气淑风和。”这个新年号的发表,让日本举国上下都进入了一种期待美好未来的欢欣之中。并且,因为天皇交替,日本还会在四月末五月初迎来令人羡慕的十连休。平常社畜对此会感到开心,因为他们终于可以好好放松休息一段时间了,而岛国的程序员们却要在崩溃中加班加点地修改程序以防即将到来的年号变更引发“千年虫”问题。
不懂程序的人可能就要问了,“不就是换个年号吗?有那么严重?”事实上,计算机日期年份的计算问题是一件非常严肃的事,如果没能解决这个问题,银行的存款可能因为系统时间混乱而全部清空,核导弹发射系统也可能在bug中随机发射。最早时候电脑的内存很小,只有64-128KB,所以那时候的程序猿在输入日期时都只用两位数来表示年份,比如1999年1月1日,就写成“990101”,这样1999年就会写成99,而1900年就会写成00年,到了2000年,计算机就又会显示00而不是100。如果不提前修改系统,全世界的计算机都会在倒回1900、跨入2000、选择原地狗带三种模式中陷入沉思。
比如下面这张保险证,有效日期那里赫然写着:平成32年8月31日。可是4月一过,直接就进入令和元年了。哪儿来的平成32年?我们的千年虫问题早在2000年之前就解决了,但是日本因为有年号的存在,所以他们的计算机时间计算系统和我们是不同的。不过日本天皇在位都是几十年,因此年号也都是几十年一换,为什么会出现千年虫问题呢?这就要从日本码农在昭和时期偷的懒说起了。
因为更换年号会给计算机系统造成很大的影响,所以在更换年号前都会给程序员们一个加班修改程序的时间。早在昭和天皇去世的1989年,日本的IT系统就经历过一次改元,当时的岛国程序员已经预见到,这些系统会在2000年的时候撞上千年虫问题。1989,离2000只差11年了,那会儿自己还没退休,说不定会被公司绑去祭天。这时,不知哪位工程师灵光一闪,提议道:“要不咱这样吧,用公历1989的话,过11年就会撞上双零。但是如果沿用昭和64年的话,还有36年才会爆发危机!等到那会儿咱就退休,啊不,就开发出更先进的技术了!后辈肯定有办法解决的!“
于是现在日本的计算机日期计算并不是用的平成年份,不是平成31年,还是昭和94年,所以,直到今天,一个名叫昭和的幽灵依然在日本列岛上空盘旋。当年的码农们为了延后2000年问题的爆发,只为一般消费市场的IT系统进行了改元换算,而在更牵扯国民经济命脉的政企领域,则按昭和的年份继续悄无声息地加算。因为旧的仕様書很多已经遗失,当年参与开发的工程师也都退休了,几乎没人知道怎么去修改这些昭和年代留下的老古董。不知道等到了2025年也就是昭和100年,日本人的IT行业会不会出现重大bug,这对于日本甚至是世界各国都是有不小影响的,希望岛国程序员们能够早日解决问题。
最后给大家讲个IT界流传已久的笑话:一个COBOL程序员因解决了千年虫问题挣了大钱,以至于他可以花钱请人将自己冷冻起来。未来的某天这只猿突然被复活,睁开眼他询问自己被复活的原因未来人这样回答他:“现在是9999年,而你懂COBOL语言”。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.