«前の日記(2004-01-28) 最新 次の日記(2004-01-30)» 編集

Matzにっき

迷惑メール対策なら Dr.WEB
『Dr.WEB メールデーモン』、MTA 用迷惑メール対策製品です!


2004-01-29 [長年日記]

_ [言語]SelfとMix-in

sumimさんから衝撃の事実が。

余談ですが、たしかに Self にはクラスこそありませんが、フレームワークとして traits (くだんの Traits とまぎらわしいですが…)と呼ばれるクラスと同種の機能を持つオブジェクトがかなり早い時期(すくなくとも '91)から用意されていて、この延長で Mix-in (mixin と呼称) もあります(と言っても、traits との違いは継承ツリーに含まれるか否かだけですが)。Self の mixin の明確な実装時期は分かりませんが、早ければ traits と一緒、遅くとも '94 には Self システムに組み込まれていたようです。

がーん、SelfにはRubyよりずっと前から「Mix-inだけを目的としたエンティティ」が存在していたのですね。 探せば見つかるだろうなとは覚悟していましたが、目の前につきつけられるとやはりショックですね。

しかし、改めて自分がSelfについて無知なことを露呈してしまいました。Selfについては、

  • プロトタイプベース
  • 構文はSmalltalk
  • Morphなど新しい概念のライブラリを持つ(一部はSqueakに取り込まれた)
  • Sunが研究していて、高速な実行についての論文が何本も出ている
  • その一部はHotSpotなどJavaに応用された

くらいしか知識がありませんでした。Smalltalk系は構文的に面白くないので、 あまり興味を持てなかったのですが、やはり、調べておくべきでしたかねえ。

本日のツッコミ(全1件) [ツッコミを入れる]
_ sumim (2004-01-30 12:15)

なんか微妙にかみ合ってないなぁ…とは思っていました(^_^;)。でも、Self はその処理系が動く環境が限られているのでしかたがないかもしれませんね。私もたまたま Mac ユーザーでなければ(と言うか、Self グループがなぜかたまたま Mac 版のバイナリを公開してくれていなければ)それに触れることすらかなわなかったと思います。

お名前:
E-mail:
コメント:
[]

«前の日記(2004-01-28) 最新 次の日記(2004-01-30)» 編集

RSS feed meter for http://www.rubyist.net/~matz/ track feed Matzにっき Creative Commons License This work is licensed under a Creative Commons License.