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

作為全球唯一保留了年號和皇曆的國家,儘管日本在日常生活中也普遍使用公曆,但無論是銀行、證券、保險等金融機構還是行政機關,都仍在使用年號紀元。因此,從2019年5月1日正式改元開始,日本所有的電腦和軟體系統都必須在當天同步改用新年號。而在日的國際 IT 公司,更需要將公曆與日本皇曆切換,將日本使用的軟體版本日期更新為新年號紀元。

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

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

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

令和開年有點慌

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

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

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

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

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

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

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

年號變成令和後,起碼老闆今後只用改一個字了(昭和改令和)。

中小公司改紀元亂成一鍋粥,而那些自稱「我準備好了!」的公司,也紛紛出現大漏洞。

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

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

在2019年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 年又是什麼鬼?

這還要歸功於前代程式設計師綿延三十年甩來的巨鍋。

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

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

這就是大名鼎鼎的千禧蟲危機。

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

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

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

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

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

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

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

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

當然看熱鬧不嫌事大的人也是存在的。

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

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

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

 

使用 Facebook 留言

luckyday168
1.  luckyday168 (發表於 2019年5月07日 15:51)
一人壽命不過百年,
新任也很老了,
或許沒多久又要改,
以人命國號,
日本工程師改不完.
囧rz囧rz囧rz
luckyday168
2.  luckyday168 (發表於 2019年5月07日 15:52)
一人壽命不過百年,
新任也很老了,
或許沒多久又要改,
以人命國號,
日本工程師改不完.
囧rz囧rz囧rz

發表回應

謹慎發言,尊重彼此。按此展開留言規則