vieweditattachhistoryswikistopchangessearchhelp

アラン・ケイの“ma”

ソフトウェア配線のsumimさんの

くしくも、アラン・ケイも“間”に言及していますね。

あたりから引っ張って…

以下しばらく、感想と妄想 --

オブジェクトの外界と内界との界面
メッセージ→メソッド関門(脳の血管の関門みたいなイメージね)
クリア(透明という意味だろう)なフェンス

許された向きからの突き刺し(=メッセージ)だけは受諾し、それ以外の突き刺しは全て、(面が)それを拒絶する。
黒髭危機一髪ゲーム的?

それも悪くないが、ずいぶんと「互いが仲が悪すぎる」モデルだな。

配線モデルはC++のfrinedに(或る意味で)通じる。
仲良しを決めるモデルだという意味で。
#型単位じゃなくインスタンス単位であることと、コンパイル時じゃなく実行時に決まる(=替えれる)こととが、違い。


強い型付けな言語での「変数」は、何箇所かに穴の開いた器みたいなものだ。
変数はボールじゃなくボウル(?)。そこにちょうど嵌まるボールがオブジェクト。
そういう言語では、少なくともボウルが持ってる穴とピッタリ合う穴が全部有るボールでないと、
そのボウルに嵌めることが許されていないのが普通であるようだ。

余談だが、Javaの変数(つまりボウル)の型はinterfaceだけを、オブジェクト(ボール)の型はclassだけを、
それぞれ使えると良いのではなかろうか?
後者について説明すると、大抵の場合はオブジェクトの型はclassなのだが、
レアケース(?)として無名クラスをでっち上げるときにnew AnInterface(){...}というマネが出来てしまい、
これをも禁止したらどうだろう?という話。

弱い型付けな言語だと、ボウルというよりザルなのだろう。
いっぽうオブジェクトのほうは相変わらず「何箇所かの穴」がある。
戯/ばぶばぶのように(笑)オブジェクトもザルな言語も有るが。


ところで、メッセージは注射針のようなものかも知れない。
というのは、刺さるだけじゃなく、そこから液体(笑)を注入することが有るので。
引数のことだ。

実用性から見た問題点は、突き刺される針の角度や種類(?)を、オブジェクトは選り好みできるが、
その針から流し込まれる薬液を選り好みする権利がオブジェクトに有るかどうかは全然別問題だ、という点だろう。


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


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

This page has been visited 3275 times.