見出し画像

”2月29日”を見てシステム屋気質を想う

車に乗った時にカーオーディオの時刻表示にちゃんと2月29日と表示されてて、「ちゃんと考慮してるやん!」って開発者を褒めたくなった朝。

初めて就職した会社でプログラミングの仕事に就いた時に、日付処理を考えることがあって、このグレゴリオ暦にとても苦労した覚えがあります。

グレゴリオ暦法では、うるう年を次のように決めています。
(1)西暦年号が4で割り切れる年をうるう年とする。
(2)(1)の例外として、西暦年号が100で割り切れて400で割り切れない年は平年とする。

https://www.nao.ac.jp/faq/a0306.html

今読んでも、この(2)の例外処理がわかったような分からないような・・・。

大昔に比べるとこのあたりの閏年を考慮する部分はすでにライブラリとして提供されていたりして、開発者が意識することはずいぶんと少なくなってきたような気がします。

システム屋はつねに「イレギュラーを探す」仕事

基本的な処理はできて当たり前。でも、4年に1回、10年に1回のことまで考慮に入れて考えるべきなのがコンピュータシステムを作る人達の考え方。いろんな例外処理となりそうな場面をあれやこれやと想定してコンピュータの仕組みを作り込みます。
でも、それでも人間が考える事なので、”考慮漏れ”や”想定外”が生じるのが常。
AIを使ってテストパターンの洗い出しや想定等もできるようになってきていますが、何事も頼りすぎるのはスキルダウンにつながってしまうので日々考え続ける事だけは弛まずに行うべきなんでしょう。

飛行機のパイロットが自動操縦機能が充実している現代でも、離着陸に関してはオートパイロットを基本的にOFFにしていますし、常に技量の維持に努めているのは有名なお話です。

システムに依存しすぎない事も大切に

一方で使う側は、こうしたコンピュータの仕組みを”完璧”とは思い込まないことも時には必要。

”バグる”というフレーズが一般化していますが、バグッた時もユーザー側が冷静に対処できれば、とりあえずリカバリーできる。

ホントはすぐに直してもらうべきなんでしょうけど、すぐには直せない時はそれに合わせて動くしかないですもんね。


インターネットもコンピュータも暮らしの中でも仕事でも欠かせない時代。
プログラム・ロジックを組み立てた人に思いを馳せつつ、ちょっとしたミスを見つけた時は「あー、苦労してプログラミングしたんだよね。」って少しだけ許してあげてください。

やっぱり、許しちゃダメかな。。。。(笑)



本日のAIイラスト道場。

スクリプト失敗しました(泣)。

draw picture Japanese pilot and co-pilot is apporaching airport with B-737 outside weather is fog daytime

どこ向いてるねん! しかも、2人とも4本線なのに若過ぎ! 機種は合ってる

 折角なので機種だけ変えてみた。
draw picture Japanese pilot and co-pilot is apporaching airport with B-747

もう、何がなんだか・・・・・(笑)

この記事が気に入ったらサポートをしてみませんか?