そういえば今世紀を迎える時に2000年問題というのがありました。2007年問題とも少しからんできますのでおさらいをしてみましょう。
2000年問題とは何だったのか?
1999年から2000年に年が変わる時、システムで色々と不具合が出ると危惧されたのが2000年問題です。原因の一つはハードディスクの価格にありました。昔、ハードディスクは高く貴重なものでした。
例えば、企業で受注があり在庫があれば引当して出荷する。在庫がない場合は生産指示をし、出来上がったら出荷する業務があるとします。
となると 受注1件に対して
受注日 在庫引当日 生産指示日 生産完了日 出荷日 |
これらは日付データですので本来は8桁(年4桁、月2桁、日2桁)必要ですが、少しでもハードディスクの容量を減らすために6桁(年の下2桁、月2桁、日2桁)が使われました。
1975年2月10日の8桁表記と6桁表記 |
1日あたりの受注数が多く、顧客も多ければ、この10桁の減少によって かなりのハードディスクの容量を減らすことができました。
また昔はOS(基本ソフト)の制約で、プログラム的に大きな容量を扱えず、なるべく工夫してコンパクトなファイルにする必要もありました。
さて、2000年へ世紀が変わる時、「99(1999年)」が「00(2000年)」となり、2000年を1900年と誤認識して色々なシステムで不具合が発生するのではと危惧されました。
私が過去に作ったプログラムでも10本ほどは影響するなとすぐ思ったぐらいですので、システムエンジニアの数でいえば相当数のプログラムで不具合があったはずです。
2000年の正月に念のため会社に泊まりこんだ方も多いと思いますが、ふたを開けてみると新聞沙汰になるような騒ぎはありませんでした。細かなトラブ ルはたくさん発生しましたが局所的な影響だけでした。
1997年頃から既存プログラムのチェックをし、事前に修正したり2000年問題を機会にシステムの再構築を行う等、事前準備が功を奏したようです。
2007年問題と言うのは?
2000年問題はプログラムの年号という局所的な問題でした。ただし日付に従って業務が動くことが多く、システム全体に影響する問題でした。2007年問題も同じようにシステム全体に波及する問題ですが、プログラムでなく作り上げてきた人間の問題になります。