今後のy2k


新聞とかに1/1以降のy2k問題チェックポイントリストなんてのが出てた。

1月4日 仕事始め
1月10日 2000年後初めて桁が増える
2月29日 400年に一度の閏年
3月31日 2000年後初の年度変わり
10月10日 日付がさらに一桁増える

1/4てのはそこで問題が新たに起きるって訳じゃなくて、たんにそこで電源入 れるから4日発覚するっていう意味ではまあよろし。あと3/31も年度計算として3 月までは年から1を引いて処理とかしているものがありそうな気はするのでこれ も分かる。

1/10と10/10はなんでやねんてかんじ。そもそも1/10の日付のカウントができ ない作りのものなら1/9だってダメだ。10/10てのはもっとわからん。 月と日の桁部分で3桁を想定してるプログラムなんてないし、三桁の真中の桁を あるときは日として、あるときは月として利用するようなプログラム、 作る方が難しいぞ。計算機内部では1/9も1/10も10/10も同じ桁数だっての。

2/29の閏年問題は一見もっともらしいがまず起こりっこないと思ってええ。 閏年は、普通「4年に一度」ってことで通ってる。ここまでは小学校くらいで習 う知識。一応書いとくと、さらに「西暦が100で割り切れる年は閏年はキャンセ ルするが400で割り切れるときはやっぱり閏年にする」というルールがある。 んでもって「4年に一度」だけ知ってりゃ日常生活に支障ないからそれだけを覚 えてる人は多いはず。わしもそうだった。ただプログラムを作るとなると 100年&400年ルールくらいは入れないといけなくて、そこで初めてそのルー ルを知ったりする。なので、そもそも100年ルール知ってるやつは400年ルールも 絶対知ってると思うし、400年ルール知らないやつは100年ルールも知らないはず だ。てことで結局ちゃんと知ってて書いたプログラムも、4年ルールしか知らず 書いたプログラムも2000年は「2/29アリ」と判定してめでたしめでたし。 ちうか、今年を2/29ナシと判定するプログラムあったとしたら、そのプログラマ の言い訳を聞いてみたいぞ。


きまぐれ記
yuuji@example.org
Fingerprint16 = FF F9 FF CC E0 FE 5C F7 19 97 28 24 EC 5D 39 BA
HIROSE Yuuji - ASTROLOGY / BIKE / EPO / GUEST BOOK / YaTeX [Tweet]