CUE
整理。
- つけると馬鹿になる薬は存在する。
- 議論とは、「?」に「!」をつける事だ。
- 動作を表す言葉と状態を表す言葉を交換可能だと思うべきではない。
- 人が自分の想像ほど賢くなかったとしても驚くことではないし、ましてやそれを責めるなど論外。
- Wikiのいいところは、話をさっさと進められる事で、したがって話を進めるタイミングをわざわざ待つ事もなかろう。
- 感情を食物や食欲で表現されると、なんか吐き気がする。
- WikiNameをその意図によって分類するってのは、どうもいただけない。
- 自由研究ってちっとも自由じゃないよね?
- ダブルハイフン署名がそんなに大事とは思えないが。
- アンテナってのは、受信だけじゃなく、送信もできるんだぞ。
■言語とそのエディターはセットで提供されるべきなのかも
そういう意味では、Emacsはなかなか目の付け所がナイスだ、と最近思うようになった。
「言語とエディターがセット」と言うと、最初に思い付いてしまうのは「統合環境」という奴で、
例えばDelphiであったりVisualBasicであったりするわけだけど、これらには分りやすい欠点があると思う。
つまり(笑)、セットになってるエディターというのが「言語の」エディターでなく「文章の」エディターである、という点だ。
■適当なWikiネームを思い当らなかったので、ここに書いとく。>HyperCard,プロトタイプベース・オブジェクト指向
なぜ、プロトタイプベースとクラスベースが対立概念のように書かれているのかが、いまいち腑に落ちない。
言語設計上、このどちらかを選ばなければ言語を実装できないという定理があるのであれば仕方がないが、少なくとも私は聞いた事がない。
感覚としては、プロトタイプベースはクラスベースを包含するように思うのだが、どうだろうか。
プロトタイプベースとクラスベースは対立する概念か?
[TikiGuion:yabb]を考えるにあたって、オブジェクトとクラスの関係(というよりは、ObjとClassの関係)を考えた時、任意のクラスがClassクラスのインスタンスである事の類推から、あるオブジェクトのインスタンスは共通のスーパークラスを持つ(つまり、インスタンスのスーパークラスは、インスタンスのクラスのスーパークラスと同じになる)ようにした。
すると、Objオブジェクト(全てのオブジェクトの根源オブジェクト)には自分自身に任意のメソッドやメンバを登録するだけのメソッドがあれば良い:クラスが存在しない世界では、サブクラスという概念もスーパークラスという概念もインスタンスという概念もないからだ。
一方、Objはクラスである、と仮定すれば、ObjはClassのインスタンスであるから、Classの性質を全て継承する:これによって、Objもインスタンスを持つ事ができるようになる。ClassはもとよりClassのインスタンスであるから、ClassのスーパークラスはObjとすれば良い(Objにはスーパークラスは不要)。
…と書いていて気がついたが、上記のコンテクストの中には、オブジェクトの複製に関する記事は出てこない。要するに、オブジェクトのコピーは、ObjにあるべきかClassにあるべきか(どっちでも可能だが…)によって、考え方が変わってくるかもしれない。
すると、クラスベースとは、オブジェクト(=インスタンス)の複製を、インスタンスが自身で行えず、必ずクラスが関与するという見方ができる:実際、コンストラクタやデストラクタは、クラスに定義されていて、オブジェクト毎には持てない。
一方、オブジェクトベースでは、オブジェクトの複製は、オブジェクトが自身で行う事ができる:オブジェクト毎にコンストラクタを定義できる、という言い方もできる(用語の用法の正しさは別として)。
以上をまとめると、要するに「クラスがオブジェクトかどうか」がクラスベースとオブジェクトベースの分かれ目、と考える事もできるのではないだろうか?
>インスタンスという概念もないからだ。
ええと。ここでいうインスタンスってのは、「クラスではないもの」という意味を含んでいるっすか?
単(?)にオブジェクト==インスタンス、という解釈も結構見かけるんだけど、それだと上記の話は変になっちゃうんで。
- そうか。インスタンスはInstanceクラスのインスタンスだったのか(笑)。--CUE
- 意味を含むとか言うわけじゃなく、クラスとそのインスタンスという「関係」を表すためだけに、これらの言葉を使っています。無論、(C++のように)クラスに実体が存在しないが故に、newされたインスタンスを(メモリ上の実体を表す言葉である)オブジェクトと呼んでしまうような用法ではありません。--CUE
>要するに「クラスがオブジェクトかどうか」がクラスベースとオブジェクトベースの分かれ目
それだとSmalltalkが説明できないような。少なくとも俺はSmalltalkをオブジェクトベースの中には入れられると思えないなあ。 -戯
- 言語仕様上の概念と、その実装上の概念を混同していたかもしれません。--CUE
>オブジェクト==インスタンス、という解釈も結構見かけるんだけど
ここでは、このローカルルールに従いました。
ああ、失礼、こっちの冒頭。
>それだとSmalltalkが説明できないような。
なんで?Smalltalkはクラスもオブジェクトだから、オブジェクトベースっつう事でちゃんと説明できるじゃんか。
がーん!>Smalltalk は、オブジェクトベース --sumim
えー、ちがうんですかぁー>がーん
>「クラスがオブジェクトかどうか」がクラスベースとオブジェクトベースの分かれ目
「オブジェクト」と言っちゃうと、
全てがオブジェクトな言語「ならば必ず」オブジェクトベースだ、という話になっちゃうが、
それは多分違うと思う。
オブジェクトを生む奴が、そのオブジェクトと同格な奴かどうか?が分かれ目なような気がする。
#で、今度は「格」の定義で悩み苦しむ、と(^^; -戯
すくなくとも「メタではない」ということですね。>同格 --sumim
「プログラミング言語は、ユーザーインターフェースだ」というような話を、稚内水族館から電話して話した記憶があるが(笑)、
言語仕様上の概念と、その実装上の概念とで、食い違いができる事に対して、もう少し注意を払うべきだったのかもしれない。--CUE
■質問の真意と意図
質問の意図、というのは、誤解を恐れずに言えば、質問を発するきっかけの事だと思う。
一方、質問の真意というのは、その質問をきっかけにして実際に理解したい事、つまり本当の質問の事だと思う。
例えば「何かお探しですか?」とデパートの店員がお客に聞く場合を考えると
質問の意図は、何か探しているのであれば手伝いたいとか、売り上げアップにつなげようとか、いうものだと思う。
質問の真意といえば、この人は実は万引きしに来たのかもしれないが決め手がないのであたりさわりのない質問をしておこう、とかいうものだと思う。
…うーん、でもどっちもあまり変わらんなぁ(ぉ --CUE
サルガッソ。
このページを編集 (5763 bytes)
|
以下の 10 ページから参照されています。 |
- パーソナルコンピューティング環境として Smalltalk を選択する理由 最終更新: 2004-12-22, 18:42:36 <yahoobb>
- オブジェクト指向の表現流儀 最終更新: 2003-04-08, 12:54:06 <tibook>
- Object感覚の学びにくさの原因 最終更新: 2004-08-31, 14:04:48 <apollon>
- MVC、これでいいのか? 最終更新: 2004-11-10, 11:49:14 <proxy1>
- ダブルハイフン 最終更新: 2003-03-21, 19:29:03 <s-ref>
- プロトタイプベースとクラスベースは対立する概念か? 最終更新: 2003-04-08, 13:34:11 <tibook>
- HyperTalkとプロトタイプベース 最終更新: 2004-12-04, 16:46:06 <adsl-22>
- 悪質ユーザー 最終更新: 2003-04-25, 12:13:27 <nthkid0>
- CRCカード 最終更新: 2004-07-22, 23:40:21 <192>
- 戯/六本松 最終更新: 2003-10-30, 23:22:40 <laplace>
This page has been visited 6723 times.