|
|
||
オブジェクト指向の“モヤッと”の正体を知りたくなったら、id:sumim:20080415:p1 や id:sumim:20040525:p1 がお役に立つかも…。
UPDATE!!:
id:propella さんがすばらしい翻訳を公開してくださいましたので、そちらをどうぞ
"-- -- -- -- -- -- -- -- -- -- -- -- -- --"
タイトルの訳はよく分からないのですが「“ソフトウエア工学”は矛盾表現か?」みたいな感じでしょうか。
これは、Croquet(Squeak システム上に構築された仮想3D空間オーサリング用のフレームワーク。Qwaq 社による商用化もされている)の最初の公開バージョンのマニュアル(Croquet0.1.pdf)の付録に掲載された文章なのですが、なぜか公式サイトからは消えていて、ググって見つけた勝手アーカイブから入手できる元の PDF でも絵が壊れていたので、それを直してあらためて当該文章だけ PDF 化して勝手ミラーしておきました。
真の“ソフトウエア工学”と呼べるものはまだないけれど、次善の策として動的結合というものが役に立ちそうなこと、それをメッセージングで実現することでどんなメリットがあるかなどが語られていて、メッセージングのOOと抽象データ型のOOとの(要素だけ挙げると共通項も多そうな気がする両者において)決定的なスタンスの違いを際だたせるのに役に立つ内容ではないかと思います。
あと、動的言語というと巨大システムの構築や長期プロジェクトには向かないというのが現在の“常識”となっているわけですが、メッセージングという“ツール”と、Smalltalk システムという“実績”を持つアラン・ケイの頭の中ではそれが真逆になっているのもおもしろいですね。(ただ、動的な言語ならなんでもいいというわけでもないので LISP 以外の動的言語のファンはぬか喜びしないほうがよさそうです。言語が動的でも、処理系自体が古い“工法”で作られていたらダメだと思うので。詳細は原文を)
以下、内容をおおざっぱにメモ。自慢することじゃないですが、訳はかなりいいかげんなのでできるだけ原文にあたってください。
Late binding allows ideas learned late in project development to be reformulated into the project with exponentially less effort than traditional early binding systems (C, C++, Java, etc.)
最近のコメント
最近のトラックバック