vieweditattachhistoryswikistopchangessearchhelp

CUE

整理。

■言語とそのエディターはセットで提供されるべきなのかも

そういう意味では、Emacsはなかなか目の付け所がナイスだ、と最近思うようになった。

「言語とエディターがセット」と言うと、最初に思い付いてしまうのは「統合環境」という奴で、
例えばDelphiであったりVisualBasicであったりするわけだけど、これらには分りやすい欠点があると思う。
つまり(笑)、セットになってるエディターというのが「言語の」エディターでなく「文章の」エディターである、という点だ。



■適当なWikiネームを思い当らなかったので、ここに書いとく。>HyperCard,プロトタイプベース・オブジェクト指向

なぜ、プロトタイプベースとクラスベースが対立概念のように書かれているのかが、いまいち腑に落ちない。
言語設計上、このどちらかを選ばなければ言語を実装できないという定理があるのであれば仕方がないが、少なくとも私は聞いた事がない。
感覚としては、プロトタイプベースはクラスベースを包含するように思うのだが、どうだろうか。

プロトタイプベースとクラスベースは対立する概念か?

[TikiGuion:yabb]を考えるにあたって、オブジェクトとクラスの関係(というよりは、ObjとClassの関係)を考えた時、任意のクラスがClassクラスのインスタンスである事の類推から、あるオブジェクトのインスタンスは共通のスーパークラスを持つ(つまり、インスタンスのスーパークラスは、インスタンスのクラスのスーパークラスと同じになる)ようにした。
すると、Objオブジェクト(全てのオブジェクトの根源オブジェクト)には自分自身に任意のメソッドやメンバを登録するだけのメソッドがあれば良い:クラスが存在しない世界では、サブクラスという概念もスーパークラスという概念もインスタンスという概念もないからだ。
一方、Objはクラスである、と仮定すれば、ObjはClassのインスタンスであるから、Classの性質を全て継承する:これによって、Objもインスタンスを持つ事ができるようになる。ClassはもとよりClassのインスタンスであるから、ClassのスーパークラスはObjとすれば良い(Objにはスーパークラスは不要)。

…と書いていて気がついたが、上記のコンテクストの中には、オブジェクトの複製に関する記事は出てこない。要するに、オブジェクトのコピーは、ObjにあるべきかClassにあるべきか(どっちでも可能だが…)によって、考え方が変わってくるかもしれない。

すると、クラスベースとは、オブジェクト(=インスタンス)の複製を、インスタンスが自身で行えず、必ずクラスが関与するという見方ができる:実際、コンストラクタやデストラクタは、クラスに定義されていて、オブジェクト毎には持てない。

一方、オブジェクトベースでは、オブジェクトの複製は、オブジェクトが自身で行う事ができる:オブジェクト毎にコンストラクタを定義できる、という言い方もできる(用語の用法の正しさは別として)。

以上をまとめると、要するに「クラスがオブジェクトかどうか」がクラスベースとオブジェクトベースの分かれ目、と考える事もできるのではないだろうか?



>インスタンスという概念もないからだ。
ええと。ここでいうインスタンスってのは、「クラスではないもの」という意味を含んでいるっすか?
単(?)にオブジェクト==インスタンス、という解釈も結構見かけるんだけど、それだと上記の話は変になっちゃうんで。

>要するに「クラスがオブジェクトかどうか」がクラスベースとオブジェクトベースの分かれ目
それだとSmalltalkが説明できないような。少なくとも俺はSmalltalkをオブジェクトベースの中には入れられると思えないなあ。 -戯

オブジェクト==インスタンス、という解釈も結構見かけるんだけど
ここでは、このローカルルールに従いました。
ああ、失礼、こっちの冒頭

それだとSmalltalkが説明できないような。
なんで?Smalltalkはクラスもオブジェクトだから、オブジェクトベースっつう事でちゃんと説明できるじゃんか。

がーん!>Smalltalk は、オブジェクトベース --sumim

えー、ちがうんですかぁー>がーん

>「クラスがオブジェクトかどうか」がクラスベースとオブジェクトベースの分かれ目
「オブジェクト」と言っちゃうと、
全てがオブジェクトな言語「ならば必ず」オブジェクトベースだ、という話になっちゃうが、
それは多分違うと思う。

オブジェクトを生む奴が、そのオブジェクトと同格な奴かどうか?が分かれ目なような気がする。

#で、今度は「格」の定義で悩み苦しむ、と(^^; -戯

すくなくとも「メタではない」ということですね。>同格 --sumim

「プログラミング言語は、ユーザーインターフェースだ」というような話を、稚内水族館から電話して話した記憶があるが(笑)、
言語仕様上の概念と、その実装上の概念とで、食い違いができる事に対して、もう少し注意を払うべきだったのかもしれない。--CUE

■質問の真意と意図

質問の意図、というのは、誤解を恐れずに言えば、質問を発するきっかけの事だと思う。
一方、質問の真意というのは、その質問をきっかけにして実際に理解したい事、つまり本当の質問の事だと思う。

例えば「何かお探しですか?」とデパートの店員がお客に聞く場合を考えると
質問の意図は、何か探しているのであれば手伝いたいとか、売り上げアップにつなげようとか、いうものだと思う。
質問の真意といえば、この人は実は万引きしに来たのかもしれないが決め手がないのであたりさわりのない質問をしておこう、とかいうものだと思う。

…うーん、でもどっちもあまり変わらんなぁ(ぉ --CUE

サルガッソ。

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


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

This page has been visited 6723 times.