関係を管理することには一種の美しさがあります。次の例を検討してください。
- 原子は亜原子粒子で構成され、分子は原子で構成され、細胞は分子で構成され、器官は細胞で構成され、人は器官で構成され、社会は人で構成されます。
- 囲碁のゲームの複雑な戦略は、生き残るために「両目」で構造を作る必要性に基づいています。ただし、「両目」のことはルールに記載されていませんが、それ自体が囲碁の非常に単純なルール。
- Conwayのs_Game_of_Lifeのチューリング完全性は、グライダー、銃、宇宙船の観点から証明できます。これらは、オンとオフの概念と非常に単純なルールのセットに基づいています。
すべての場合において、最小限のオブジェクトのセットと最小限のルールのセットは、最終的に非常に複雑な構造になります。
私の最初の質問: OOP言語を構築するために使用できるプログラミング「オブジェクト」と「ルール」の小さくてミニマルなセットの概要を説明することは可能ですか?
さて、賢いコンピューター科学者はおそらくルール110のチューリング完全性を指摘し、これがあなたが必要とするすべてであると言うでしょう!しかし、それは私が探しているものではありません。むしろ、明確に定義されていない質問を投げかけるリスクを冒して、オブジェクト指向プログラミング言語に組み込むことができる最も単純で人間が理解できる概念は何ですか?
私が欲しいものを示唆する悪い不完全な例については、3つの概念オブジェクトを定義します:参照、関数、および情報ホルダー。次に(レベル2?)、他の情報フォルダーへの参照を介して他の情報を保持する情報ホルダーとなる構造を定義します。初歩的なクラス(レベル3?)は、関数への参照で構造を拡張しますが、プライベート関数とパブリック関数の概念を処理するには、追加の構造を構築する必要があります。最終的には、基本的な概念のみに基づいて構築されたフル機能のOOP言語に到達する必要があり、どこにも不正行為はありませんでした。ハードコーディングの最適化またはマシンコードとの構文ソルトによる。そして理想的には、最終結果は依然として魅力的で読みやすいコードです。
私の2番目の質問:すでにこれに近づいているOOP言語はありますか?