05/06/22 01:22:29
>>25への反論
1.対象物の構造をそのまま、オブジェクト指向言語で完全に表現する事はできない。
不完全な表現の例:
多重継承、
時間的な状態変化、
計算不可能な対象物/概念、
非常に複雑な対象物/概念
etc.
もしあらゆる事柄を表現しシミュレーションする方法があるのなら、
科学者の仕事の大半はいらなくなる
2. オブジェクト指向に限らず、モデリングとシミュレーション、そして科学の肝は、
対象物をそのまま記述するのではなく、
特徴を捉えて扱いやすい簡易的な表現を得る事である。
要するに、抽象化こそが知性の最も重要な働きなのである。
抽象化を行わないオブジェクト指向プログラミングがあるとすれば、
それはせいぜいPC上のソフトウェアの「移植」とか「エミュレーション」程度の事に過ぎない。
3. このように対象物の構造と、ソフトウェア上の表現・・・ここではオブジェクト指向モデル/プログラム
との差異を何らかの形で縮め、実用上問題がないように取り繕う技術が、
モデリングであり、設計であり、プログラミングである。
これは普通にソフトウェアを弄っている人間にとって、常識である。