- only message passing between two objects
- 「3+4」は式ではない。つまりoperator(+)とoperand(3,4)という関係にはあらず。
「3」という名のオブジェクトに対して「+4」というメッセージを送信することを意味した記述である。「+4」というメッセージを受け取った「3」オブジェクトに対して、Smalltalk Systemから"do it"というメッセージを送信すると「3」オブジェクトはその内部において「自信+4」を評価する。"print it"というメッセージを送信すると評価&出力をおこなう。 - Smalltalk Systemから、その内部に居るオブジェクトらへのメッセージとしては"do it"、"print it"、"browse it"などがある。
- Smalltalkを言語的側面で見ると、すべてがobject message passingの記述である。
- この記述を別の側面で見ると、オブジェクト間でのメッセージのやりとりの記述であることから「仕様」そのものを表していることになる。
- 言うまでもなく「仕様」が先にありけり。この仕様に基づいてオブジェクトを抽出し、それらの間でのmessage passingを記述してゆけば、それは既にSmalltalk System上で実行可能なプログラムなのである。
- つまり、Smalltalkによって記述されたプログラムはドキュメントである。
- 実際のSmalltalk System(squeakなど)で、いかなる場所にこの記述を置いても、いつでも評価可能なのである。例えそれがWorkSpace WindowのTitle Barであるにせよ。
- Smalltalk Systemは極めて柔軟性に富んでいる。
- いわゆる動的性能(dynamic)
- Smalltalk System自体もSmalltalkで記述されており、その記述に変更を加えることでSystemの挙動を変えることもできる。
- そんなことしたら後が大変じゃん、と思うでしょうがご心配なく。このような記述は単にインスタンスに対して行われるだけなので、別のインスタンスには何の影響も及ぼしません。
- このような特性を総称してこその「Smalltalk」なのである。
2009年5月17日日曜日
Smalltalk System
SmalltalkはXeroxパロアルト研究所におけるDynaBook(→Dynabook)構想に基づいてアラン・ケイが開発したAlto用のOSである。現時点ではSmalltalkの言語的側面のみが一人歩きしているが、squeakはSmalltalk Systemを守り通している。
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿