vieweditattachhistoryswikistopchangessearchhelp

SELF

Self とも。プロトタイプベース・オブジェクト指向言語のひとつ。通常、オブジェクト(クラスのインスタンス)は、クラスで決められた数のデータ(状態)だけを保持し、処理はクラスに委譲するというように、「処理を含んだデータ」というその一般的な認識(モデル)とは実装が異なるため、とくに非開発者などにはその扱いを学ぶことがある種の心理的ハードルになってしまっている。これに対するアンチテーゼとして登場したのがプロトタイプベースで、オブジェクト(フレーム)はシンプルに独自のデータと同時に、クラスに頼らずに自分の処理を持つべし、とし、非開発者がいだくオブジェクトに対する印象をほぼそのまま実現している。

XEROX の PARC での研究をスタンフォードでまとめたもの。その後、Sun Microsystems で開発が続けられた。本家のそれは Solaris 用と、なぜか Mac 用のバイナリしか用意されていないため、かつての Smalltalk のように、名前は知られているが実際に触れたことのある人は少ない…状態。

そのシンプルなオブジェクトモデルとは裏腹に、実装面においては、すべての変数(値スロット)へのアクセスが、メッセージ送信で行なわれる(直接参照しているような記述はシンタックスシュガーに過ぎない)など多くのオーバーヘッドを抱え込んでいた。そのため、VM の高速化技術に関する研究も進んでいてその方面での注目も高い。


技術資料


関連


レポート

--sumim


生物に例えると、クラスベースが真核生物でプロトタイプベースがバクテリアだなってっても興味ない人には意味不明だろうなぁ…(^_^;)。--sumim

おおしまさんの見なしによると、アラン・ケイは、プロトタイプベースが嫌いならしい。Squeak eToys が完全なプロトタイプベースに仕立て上げられなかったのはここに理由があったのでは…っちゅうのは私の穿ちすぎる考えというもの? いずれにせよ、これはちょっと意外でした。アラン・ケイは、その昔、Scheme でプログラムなんか組んだりしていたけど、基本はアイデア・パーソンで、そのアイデアを具現化することさえできさえすれば、オブジェクト指向か否か程度の興味はあっても、それがクラスベースかプロトタイプベースかなんて話は興味がないとばかり思っていたのですが…。SELF に何か良くない思い出でもあるのでしょうか…。たしかに SELF のオリジナルペーパーは Smalltalk に批判的だけどね(^_^;)。--sumim

最近は OS X 版も出てちょっと VM の性能も上がっているいるみたいですね。ちなみに Linux/Cygwin 用の x86 版は こちら 。前に遊んだときよりちょっと分かったような気がすると同時に謎も深まった感じで難儀しています。--sumim

このページを編集 (4389 bytes)


Congratulations! 以下の 20 ページから参照されています。

This page has been visited 10603 times.