オブジェクト指向の中の計算不可能性

実際のところ、すでにオブジェクト指向の中には計算不可能なことがあります。


Javaで言えば、受け取ったオブジェクトが実際にどのクラスのオブジェクトになるかを決定する、どんなプログラムにでも使えるアルゴリズムは存在しません。
ただ、オブジェクトがどのクラスに属するかが決定できれば、どのフィールドを持っているかとか、どのメソッドが呼び出せるかは決定できます。


もっと計算不可能性を持っているのは、動的型のオブジェクト指向言語の方で、たとえばRubyの場合、受け取ったオブジェクトが実際にどのクラスのオブジェクトになるかは、Java以上に決定が困難です。
また、オブジェクトがどのクラスに属するか決定できたとしても、そのオブジェクトに対してどのメソッドを呼び出せるかは決定不可能です。


モノを扱うためのオブジェクト指向が、計算不可能な過程を含むとすると、動的型の言語の方が静的型の言語よりも近くにあるのではないかと思います。