日本新年號喜迎「令和」,工程師卻陷入集體大崩潰

2019.05.06 by
PingWest
PingWest 查看更多文章

宣導「有品好玩的科技一切與你有關」,開始構建科技創新實踐者與消費者的共用社區,成為科技融入生活與消費方式的創新實驗室。

愛范兒
躲得過千禧年,卻躲不過新天皇即位。日本自5月1日起正式告別平成時代,迎接令和新時代,不過伴隨著新元號而來,一系列系統年號變更問題,令日本工程師集體崩潰。

從5月1日開始,日本就徹底告別了平成時代,步入令和元年。

而且由於天皇更替舉國歡慶,日本往年最長只有5 天的黃金周將被加量到10 天,也就是說,日本社畜即將迎來夢幻般的十連休!

這也是自1948年日本頒布《假日法》以來的首個十連休。
愛范兒

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

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

愛范兒

因此,從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 年的錢),不過這三家銀行表示他們有信心盡快修復錯誤。

愛范兒

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

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

日本內閣官房長官菅義偉
愛范兒

何事驚慌?

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

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

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

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

愛范兒

此時,就需要程序員們上陣迅速修改系統,保證人們的正常生活了。

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

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

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

令和之後會更慌,昭和100年將來到

儘管令和的劫已經快渡完了,但日本程序員的夜明還遠遠沒有來到……

在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年後你們還在用這一套啊!」

本文授權轉載自:pingwest

延伸閱讀

每日精選科技圈重要消息