null

かなり前に「コンピュータ言語にnullがあることがすべての元凶」との論説がよくありました。

最初に読んだときは「うーん、そうなのかなー、便利だけど」と思いつつも、OptionやEitherなどを使い慣れてくると「うーん、なるほどなぁ」と思うことになった。

全否定する気は今でもない。0(全ビット0)や-1(全ビット1)はハードの論理ゲートにとって特別な状態として取り扱いやすいのは確か。1ビットが粗末にできない時代は仕方ないだろう。その延長上で高級言語が進化しているのだからその過程でnullがあったのも仕方が無いこと。

論理的にはないほうが素直になるというのなら、これからそうする ということでよいだろう。どんな文化/歴史にも無かったほうがよい黒歴史は存在するものだし。