コード短編小説「ゼロ除算」
コード短編小説「ゼロ除算」
それは都市の中心で起きた。
巨大な演算塔が一瞬で沈黙し、数百万のプロセスが同時に落ちた。
原因はただ一つ――
x = 1 / 0 # ZeroDivisionError
分母がゼロになる。
単純すぎて、誰も想定しなかった。
神崎ユウはエンジニア班の端末を睨んだ。
スクリーンいっぱいに赤い文字が踊る。
ZeroDivisionError: division by zero
「こんな……バカげた理由で?」
隣の若手が青ざめて首を振る。
「処理系は全自動のはずです。ゼロで割ろうとしたら、自動で補正される……はずだったのに」
けれど、補正は働かなかった。
都市の心臓は止まり、信号機は沈黙し、冷蔵庫の中で食料が腐り始めている。
「ゼロ除算は、禁忌だ」
古いプログラマーが呟いた。
「何もないものを分けようとすれば、すべてが壊れる」
ユウは理解できなかった。
数式のエラーがどうして街全体を沈黙させるのか。
だが塔の演算はすべての基盤を支えていた。
ゼロに触れた瞬間、その支柱は無限大に膨れ上がり、あらゆる値を飲み込んだ。
夜、ユウは廃墟となった広場を歩いた。
誰も声を出さず、ただ「分母」を恐れていた。
ポケットのメモ帳に、彼は書き殴る。
try:
value = 1 / 0
except ZeroDivisionError:
value = "生きてる"
処理系なら救える。
だが現実は救わない。
誰もが「try」したが、「except」に辿りつけなかった。
その時、彼の前にひとりの少女が現れた。
名をルリと言った。
彼女の掌には、小さな「ゼロ」が乗っていた。
「これは、あなたたちが無視した値」
ユウは後ずさった。
「触れるな、それは――」
だがルリは微笑む。
「ゼロは虚無じゃない。ゼロは約束だよ。分け合う前に、みんなが同じ場所に立ってるっていう」
ユウは目を見開いた。
ゼロを避ければ、確かにエラーは起きない。
だがゼロを受け入れなければ、始まりもまた生まれない。
def divide(a, b):
if b == 0:
return "share"
return a / b
ルリはゼロを空に投げた。
夜空に白い環が広がり、人々が小さな声を取り戻す。
「ただいま」
「おかえり」
――それは割り切れないものを、無理に割らずに共有する方法だった。
やがて都市は再び動き出す。
エラーは消えたわけではない。
ゼロは依然としてそこにある。
だが、人々はゼロを抱えたまま前に進むことを選んだ。
ユウはそっと呟く。
「ゼロで割れないなら、割らなければいい。
……でも、ゼロを忘れちゃいけないんだ」
ルリは笑って頷いた。
その瞳には、無限大ではなく、ただひとつの「はじまり」が宿っていた。
Discussion