2010-09-15
@sumim ありがとうございます。「Javaが」は言い過ぎでしたね。'95ですから。ALGOL-60と初期のSmalltalkは単一継承で、72で多重継承が入り76で改善されたが、それ以降のバージョン(いつ?)で単一継承に戻された、という理解で正しいでしょうか? T ALGOL-60では「オブジェクトは相互排除的なクラスに分類される」としており、そしてリリース2.0より前のC++には多重継承はなかった。多重継承が当たり前の世界にJavaが単一継承の制約を入れたのではなかった。C++が挑戦しそれを失敗だとみなして元に戻しただけだった。 T @sumim ありがとうございます!継承の由来とは別に探していた「なぜオブジェクトが欲しかったのか」という理由も説明されていてとても助かりました!!>ALGOL-60 T というのも、一つのクラスから複数のインスタンスを作れることの間には依存関係が無いので、モジュールを再利用して定義を部分的に書き換えることのできる言語があってもおかしくないからなのだが。 T 継承を最初に発明したのは誰?なんの目的で発明した? T @sumim なるほど、もう少し調べてみます。ありがとうございます! T 片付けのできない僕でも他人の物は片付けられるってことが判明した!! T Smalltalkが多重継承をやめて単一継承に戻ったのが1989年以前だとすると、1989年に多重継承を入れたC++はなにやってるんだってことになるのかなぁ T