作者: 機械伯爵
日時: 2008/2/16(22:14)
 ども、機械です。

 毎回、ビミョーなネタで済みません。

> なんかちょっと違う気がします。
> 
> http://www.rubyist.net/~matz/20040128.html#p01
> 
> とかを参考にしてください。

 拝見させていただきました(み、Mix-in評論家……ですか?(汗))

<引用>
〜当時Mix-inとは多重継承の使い方だったわけです〜
<中略 />
〜Mix-inだけを目的としたエンティティ(moduleやtrait)」という
考え方そのものが亜流〜
</引用>

 ふむ、つまりRubyのエンティティのmodule(やSmalltalk(Squeak?)
のtrait)の話は、一般に言うMix-inとは区別して話さないと、
話が混乱する、ということですか。

 C#はよく知らないのですが、少なくともJavaのinterfaceがMix-in
だという話になってしまうと、Rubyの機能で「継承」と「混入」を
区別するために(だと思ったんですが、違いますか?)導入した
moduleとは、全く真逆方向の機能が同じ「Mix-in」というキーワード
で語られることになるわけで、コレはややこしいですね。

※ご存知の通り、Javaは「子クラスであるとする」いわば、養子縁組
 のためにinterfaceを導入するわけですから。

 そうすると、これから話す時は「RubyやSqueakで言うところのMix-in」
とか限定して言った方がいいんでしょうか?

 /機械伯爵/言葉ってむずかしい……/