型オブジェクトとプロトタイプベースについての嫌ぁんな感じ
404 Blog Not Found:タイプ・クラス・プロトタイプ - OOの語彙 さんを読んで、頭の中でガンガン継承警鐘 がなっているのを自覚します。いやぁな感じがする。すっごい違和感。でも、どこが酷いかを上手く説明できません。
きっと sumim さんとか odz さんとか 上手いこと突っ込んでくれてるんだろうなぁ(←他力本願)と思ったらやっぱり(w
いつも勉強させていただいてます。m(_ _)m
プロトタイプベースの誤解 - Smalltalkのtは小文字です
オブジェクトがそれが属するクラスによらず独自のメソッドやインスタンス変数を持てること*こそ*が、「プロトタイプベース」あらため「インスタンスベース」の本質です。
こういう風にモヤッとをスッキリ晴らす一言が綺麗に出せないということは、あたしもまだまだ全然解っていないということなんだよね、と振り替えれるWeb が好きです。勉強、勉強♪
* * *
あと、型の話も嫌ぁんな気配がします。これも上手く説明できないのだけれど、今度は自力で頑張ってみます。
そもそも型とオブジェクトを対比するというのに嫌な感じがします。弾さんの説明で私がパッとイメージするのは「C++で言えば、オーバーロードは『型』側の話、仮想関数は『オブジェクト』側の話」なのだと思うのだけれど、そう解釈してしまうとディスパッチのが静的か動的かの話になってしまう。また、「静的型付けを考えると解りやすい」とか言いながら、そもそも静的型付けと動的型付けの話にしか読めなくって、
int a = 3.14159265;はコンパイラーが弾いてしまう
と
{"one":1}.lengthといえば、「lengthなんてプロパティはありません」と怒られる
を見比べるとその疑念を更に深めてしまいます。(なんか自分の眼鏡が色眼鏡になってくる)
もちろん私が盛大に誤読している可能性は大きいとおもうけれど、どうしても、静的型付け=型 / 動的型付け≠型 と言っているように読めてしまいます。・・なんか違うな。私の言ってることもどっかピントがずれている気が。
うーん、うがちすぎかしら。