はいはい、やってきました「Y2K問題・第2形態」の日。 今のところ、俺の周りから悲鳴は聞こえてこない(俺が知らないだけかも?)。 まあ、ほとんどの会社は対策済みだったんだろう。大丈夫、大丈夫。
ここまで来れば、もし何かバグが出ても「出たとこ勝負」で直せばいいだけ。 ぶっちゃけ、プログラマーだってどんな不具合が潜んでるかなんて、完璧には予測できないんだから。 あとは持久戦だ。頑張れ、全国のエンジニアたち! 💪
おっと、安心してはいけない。「第3形態」の存在を忘れてないかい? 次は2月29日だ。
何が問題かって? 2000年が、ただの閏年じゃないからさ。 いいかい、よく聞けよ。閏年のルールはこうだ。
- 西暦が 4 で割り切れる年は閏年。
- でも、100 で割り切れる年は平年。(例外ルール1)
- しかし! 400 で割り切れる年は、例外の例外で閏年!(例外ルール2)
つまり、2000年は「400で割り切れる」から、超レアな閏年なんだ。 ポンコツなプログラムだと、ルール(2)までしか考慮してなくて、「2000年は平年だ!」と勘違いしちまう。すると、2月29日が存在しない日になって、システムが盛大にバグるってわけ。こりゃまた大変だ!
え?ルール(2)すら知らなかったって? それは逆にラッキーだ。次の100で割り切れる年(2100年)まで、君の知識は間違ってないぜ!
さあ、あと2ヶ月弱。プログラマーの皆さんに、再びエールを送ろうじゃないか。