留言討論


分享本文至 E-mail 信箱

12/31 - 2000 年千禧蟲危機,會不會再回來?

迎接新的一年,與舊的一年道別,12/31 總是令許多人感到興奮。但是在 1999 年的最後一天,許多人可是緊張兮兮,因為不曉得「千禧蟲」這一咬有多痛。

早期電腦記憶體和儲存成本很高,為了節省硬體成本,創造現代第一個編譯器 A-0 系統和第一個高級商用電腦程式語言 COBOL,被譽為「COBOL 之母」的葛麗絲霍普(Grace Hopper)在第一台全自動電腦--馬克一號(Mark I)中,僅以 6 位數字來儲存時間。

像是 1990 年 12 月 31 日會被標記為「 901231」。而之後的電腦程式語言和編碼如 COBOL、ASCII 編碼、EBCDIC 編碼等都繼承了這樣的年份標記方式。

然而,這樣的兩位數設計會使得電腦在 2000 年 1 月 1 日可能發生計算錯誤的問題--電腦可能以為是 (19)00 年 1 月 1 日。這不僅會導致銀行、大型公司、政府部門出現時間計算、標記錯誤的問題,亦可能造成電腦停頓等災難性結果。

其實開發出 COMTRAN 語言(COBOL 前身)的 Bob Bemer 早在 1958 年便提出過「千禧蟲」的問題,儘管一開始無人理會 Bemer 的警告,但隨著時間逼近,社會大眾才認知「千禧年蟲」問題的重要性,投入大量資源來修正電腦程式語言。最終, 2000 年 1 月 1 日沒有發生大規模電腦錯誤的問題(相信大部分人那晚也很興奮地在跨年)。

不過「千禧蟲危機」也並非只有公元 2000 年會發生,像是台灣使用民國紀年或者泰國的佛曆,亦可能會因為電腦系統沒有修正的關係,造成時間計算錯誤,因此,「千禧蟲」並不會隨著 2000 年過了而解決。

當然,電腦程式系統會不斷修正、開發,大家也不必過於擔心,今晚大家就開心和 2015 最後一天道別,並迎接 2016 年的第一天吧。

 

參考資料:

封面圖片來源:photo via Haxpett@wikimedia, CC License

關於作者


Lafu

畢業於歷史學系。在韓國晃蕩一年回來後,想念那不會過敏的鼻子,以及到處都是泡菜的國度。

留言討論


網站更新隱私權聲明
本網站使用 cookie 及其他相關技術分析以確保使用者獲得最佳體驗,通過我們的網站,您確認並同意本網站的隱私權政策更新,了解最新隱私權政策