為什麼改年號「令和」,竟然成了日本程式設計師的魔咒?

作者 | 發布日期 2019 年 05 月 05 日 0:00 | 分類 科技生活 , 科技趣聞 , 電腦 line share follow us in feedly line share
為什麼改年號「令和」,竟然成了日本程式設計師的魔咒?


從 5 月 1 日開始,日本就徹底告別平成時代,步入令和元年。且由於天皇更替舉國歡慶,日本往年最長只有 5 天的黃金週加量到 10  天,大家迎來夢幻般的十天假期!

但對於已到來的令和元年,也不是每個人都歡天喜地。因為伴隨著新元號的,是一系列煩死人的系統年號變更問題。

身為全球唯一保留年號和皇曆的國家,儘管日本在日常生活也普遍使用西曆,但無論銀行、證券、保險等金融機構還是行政機關,都仍在使用年號紀元。

因此,從 2019 年 5 月 1 日正式改年號開始,日本所有電腦和軟體系統都必須當天同步改用新年號。日本的國際 IT 公司,更需要將西曆與日本皇曆切換,將日本使用的軟體版本日期更新為新年號紀元。

而且,1989 年開啟、長達 30 年的平成時代,網路資訊技術迅猛發展,比起上次改年號,今日的網路系統對人們生活的影響已不可同日而語。如今電腦、手機、保險券甚至 ATM 都已接入電腦系統,對日本程式設計師來說,讓所有電腦都在 5 月 1 日同步改年號,這還是史上從未有過的大挑戰……

以至於一位 Twitter 網友吐槽:改年號的祝賀氣氛裡,IT 從業人員看到這幅畫面卻只想罵人。

身為 IT 業不相關人士、隔壁看戲民眾,大家可能無法理解日本程式設計師「隨時都會被拖出去祭天」的恐慌,然而在程式設計師甚至日本政府看來,改年號確實是件關係國計民生的大事。

令和開年有點慌

儘管從小接受西式教育、業餘熱中研究蝦虎魚的明仁天皇非常特立獨行,2016 年就宣布自己將打破慣例成為第一位生前退位的天皇,然而新年號還是要等到退位前一個月才能揭曉。對於需要「技術性調整」的各行業人員來說,真正留給他們的時間只有短短一個月。

於是,新年號一公布,全日本上下立刻緊張起來!

一些選擇手動升級的中小企業為了繼續利用已列印的文件,開始搶刻令和年號橡皮章,橡皮章一時洛陽紙貴。

辦公用品製造商 Hanko21 總經理瀧口修表示,自己從 4 月 1 日起就開始親自下場和 20 多名工人加班在工廠趕製令和圖章,但是他的努力沒有維持多久,因為「年號公布 3 天後,我們囤積的橡膠原料就全部用完了」。

而為了在一個月內對旗下 80 多個行政單位電腦系統快速調整,名古屋市政府撥款 4 億 8 千萬日圓加班,5 月 1 日前完成賦稅、社會保障等重要系統的改造,但還有更多「不緊迫」的系統會留 1~7 天由程式設計師加班完成……

當然,最發愁的還是電腦系統老舊過時的私人小企業。因為更新系統耗資巨大,有些日本公司的電腦系統已經二、三十年沒有更新了,幾乎和平成年代一樣古老,根本無法自動升級。

面對改年號,山梨縣北杜市的一家老字號點心舖可能是少數淡然處之的店家。這家店的老闆 30 多年前昭和時代預定帳本時,把 50 本訂成 5,000 本,整個平成時代過去了,帳本還沒用完。

元號變成令和後,起碼老闆今後只需要改一個字了(從昭和→令和)。

中小公司改年號亂成一團,而那些自稱「我好了!」的公司,也紛紛出現大漏洞。

一個月前微軟表示,將透過雲端向日本客戶推送令和更新包。而 5 月 1 日上午,就有還在加班的日本上班族表示,Excel 日期混亂,不僅顯示成平成 31 年 5 月 1 日這種不存在的日期,西曆年還變成 5 位數。

與此同時,北海道銀行、北陸銀行和橫濱銀行開始發生大規模 ATM 混亂事故。所有轉帳日期都變成 1989 年 5 月 7 日,至於被轉走的錢去哪裡、利息怎麼計算誰也不知道(畢竟在系統這已是一筆來自 1989 年、存了 30 年的錢),不過這 3 家銀行表示他們有信心盡快修復錯誤。

而這場曠日持久的改年號混亂,還要持續到 5 月 7 日。

5 月 1 日內閣會議後的新聞發表會,日本內閣官房長官菅義偉宣布,儘管 5 月 1 日年號就更改為令和,但改年號工作要到 5 月 7 日才會結束。「我們不會影響公眾生活」,菅義偉說,但日本民眾存疑。

為何驚慌?

也許有人不理解,「年號不過是一個名字而已,會造成這麼大的影響嗎?」

事實是,年號與日本的電腦系統和各種證件的計數系統息息相關,一旦混亂,輕則證件失效,重則金融交通系統崩潰。

比如著名的「駕照迷思」事件。平成 29 年發放的駕照有效期至平成 32 年(2020 年),然而在這個日期來臨前,日本就進入令和時期,理論上平成 32 年不會存在。

人工操作時還比較好判斷,然而對六親不認的電腦來說,所有有效期在平成 31 年 4 月 30 日以後的契約、合約、證件、證券,全都無效。

此時,就需要程式設計師上陣迅速修改系統,保障人們的正常生活了。

而在平成 12 年(即 2000 年)2 月,因為日本程式設計師忽略 2000 年是個大閏年,沒在系統加入 29 日,這一天在北海道札幌市拿月票卡通勤的上班族統統被堵死在路上,造成交通癱瘓和遲到。

雖然犯這種低級錯誤的真實原因不得而知,但總覺得換成西元紀年,應該挺好發現 2000 年是閏年的。

因為年號和電腦系統實在過於煩人,維基百科專門在日語「元號」條目加入「元號​​與計算機」這一欄,長篇大論元號的種種弊端。

日本程式設計師受的苦,外人真無法想像。

令和之後會更慌

儘管令和的劫已經快過完了,但日本程式設計師的黎明還遠沒有來到……

2019 年開年之初,有一位女性程式設計師在 Twitter 提醒大家:「比起新元號對應問題,還有更需要擔心的事喔~昭和 100 年就快要到了喔~」

她的言論立刻引發大量轉發,評論區一片程式設計師的悲鳴。

日本的昭和時代從 1926 年開始,1989 年結束,歷經 64 年,因此昭和年號最多只有 64 年。那麼讓日本程式設計師聽了就要跪的昭和 100 年又是什麼?

這還要歸功於前代程式設計師綿延 30 年的奇想。

1989年,日本經歷昭和到平成改年號,那時的電腦還比較原始,記憶體只有 64~128KB,每個 bit 都至關重要,程式設計師只能想方設法從各種地方找記憶體。於是,在記錄日期時,年份都只記錄後兩位,比如 1989 年 1 月 1 日,就會記錄為 890101。

然而一旦到 2000 年,巨大的 bug 就出現了。由於只保留後兩位數,銀行的電腦可能把 2000 年解釋為 1900 年,進而算錯利息甚至直接消除帳面紀錄,而你在 1999 年 12 月 31 日 23:59 打了 3 分鐘的電話,電信局的帳單卻可能出現負數計數而導致系統崩潰(-100 年+3 分鐘)。

這就是大名鼎鼎的千禧蟲問題。

全球同行都為千禧蟲焦慮不已時,先代日本程式設計師卻靈機一動……

如果繼續用昭和年號計數,千禧蟲問題就會被後推 25 年,即昭和 100 年(2025 年)才歸零!比別人多了 25 年,肯定夠我們解決問題了!

所以如今日本政府和企業的系統表面上看起來一團和氣,實則底層一直為昭和續命。

然而眼看令和元年都來了,清算的日期還有 6 年就要到了,新一代日本程式設計師面對 COBOL 等上古語言開發的系統卻更迷惑了。

「銀行和大企業的基礎系統像古董一樣脆,怎麼也不能更新……」

「30 年、40 年前的代碼根本沒有說明文件,剩下的部分也沒有追加變更紀錄!」

「法律規定的 5 年追訴期早就過了,因為人事變動,當年的負責人全都找不到了。」

日本程式設計師大型崩潰,只能祈禱到 2025 年自己已經轉行了……

當然看熱鬧的人也是有的。

「從平成到令和時代,昭和 100 年問題即將到來,好像被遺忘的時代亡靈要來了,這不是很帥嗎?」

到那時面對「時代的亡靈」,日本程式設計師會不會想出新的解決辦法,那就是另一個故事了。

至於當年想到解方的老程式設計師則表示,「誰能想到 20 年後你們還在用這一套啊!」

(本文由 PingWest 授權轉載;首圖來源:pixabay

延伸閱讀: