数学の歴史において重要な発明に0 (ゼロ)の発明があります。「存在しないことを表す概念」ですが、しかし「『存在しないことを表す概念』それ自体が存在する」と考えるとなんだか面白いですよね。
プログラミングの世界では、更に「定義されていないことを表す概念」というのを採用している処理系があって、Perl だと undef
がそれです。「0 という値すら持たない存在」「『定義されていないことを表す概念』それ自体が定義されている」わけですね。ある変数 $a
自体は宣言されているけれども、値は undef
で未定義。でも $a
は定義されているんだよね? 未定義っていう状態は実在として認められるの? 存在って何よ? 0 のように考えてみると深みにはまりそうで楽しいです。