文轉YAHOO新聞:
想像一下正當人們熱烈慶祝民國一百年元旦的到來,興奮倒數計時後,卻發現銀行存款突然歸零?退休年資帳戶變成負的?醫院藥劑用量無法正確計算?遲繳的罰單罰款可能龐大到變賣家產也繳不起?民國一百年年序由二位數增至三位數,若資訊系統沒有更新,上述情況就有可能發生。….
看到這篇報導,就想到最近在寫報價單的時候,有個流水編號,過去手動的話是利用民國年+月+日+序號,不過寫寫在測試的時候我發現,如果一百年呢?那不就慘了…回歸到00年+月+日+序號,後來就決定改用西元年紀錄,起碼是四位數字,也不會遇到像Y2K的問題,會有問題起碼要等到西元9999年後,這時候都不知道投胎幾次或是程式不知道進步到什麼程度了…
昨天第一天上JAVA,老師說了一段話,說是在讀者文摘看到的,成為他寫程式的座右銘之一,”大多數人的性命,掌握在少數的程式設計師上”,或許一般我們用到的程式不會牽扯到性命問題,但是試想,現在的車子都有行車電腦,飛機除了起飛與降落,大部分都是由電腦自動駕駛,大眾捷運系統不也是有自動駕駛,在講一點如同銀行所有交易程序亦或是ATM…等,現在全面電腦化,若程式寫的不嚴謹,那就會出現大亂不是嗎?醫院的處方籤若是無法正確計算更可能出人命….
就如同過去Y2K發生的情形一樣,或許是因為過去記憶體空間比較小,程式設計師為了換取更多記憶體空間而採用兩位數計元,結果一開始沒人想到這個問題成為習慣,但當越接近2000漸漸發現到,才能全面的做更換,甚至沒注意還真的會影響到與多人,果然程式設計師要想得更遠更多,設想許多例外或比較難發現發生的狀況!!