ユニバーサルクラスが1つだけ必要な理由に反対する議論はありません。ただし、ObjectクラスとAntiObjectクラスの2つのユニバーサルクラスがあるのはなぜですか。自然と科学の中で、私たちは二元性の概念を見つけます-エネルギーとダークエネルギーのように。男女; プラスマイナス; 乗算と除算; 電子と陽子; 統合と派生; 集合論で。二元論の例は非常に多いので、それ自体が哲学です。プログラミング自体には、デザインパターンの使用方法とは対照的に作業を実行するのに役立つアンチパターンがあります。これをオブジェクト指向プログラミングと呼びます。それは制限要因ですか、それともプログラミング言語の形成を理解する上で私が見逃している基本的なものがありますか?
編集:わかりませんが、この二重性の概念の有用性は、空きオブジェクトまたは緩いオブジェクトと組み合わせて自分自身を破壊し、それによってメモリを解放するアンチオブジェクトを作成するガベージコレクターを作成することにあるかもしれません。または、AntiObjectsがObjectsと連携して、自己変更プログラミング言語を作成することもできます。これにより、安全な自己変更コードを作成し、遺伝的プログラミングを使用して進化的計算を行い、リバースエンジニアリングを防ぐためにコードを非表示にすることができます。ここではトピック外と見なされているため、この質問をStackExchangeのコンピュータサイエンスサイトに移動しました。この質問にコメント/回答したい場合は、それを使用してください。