オブジェクト指向は、集合論<->圏論のアナロジーでいくと、とても集合論ぽく感じているんだけど、これはただの自分の個人的なイメージ。どうしたらちゃんとした議論にできるかな。
2011-01-06 00:11:11オブジェクト指向の問題点を真剣に考えるためには、オブジェクト指向がなぜ便利なのか、もう一度分析しなおしてみるといいかもしれない。
2011-01-06 00:12:37そうですね。クラス=集合ではないってよく言われますね。 RT @naka_aki_spl: 「クラスは集合」というより「クラスのある側面と集合のある側面は似てる」じゃないかな、とかは思うことはよく有る。
2011-01-06 00:19:34結局の所、インターフェースを議論しないでオブジェクト指向を議論するのはムリだと思うんだけどな。インターフェースに比べたらオブジェクトなんてうんこ。
2011-01-06 00:19:22インターフェースって外部的な仕様の記述だと思うのですが、逆にその外部的な記述だけでプログラミングができないものでしょうか。RT @nakanishiyasuo: 結局の所、インターフェースを議論しないでオブジェクト指向を議論するのはムリだと思うんだけどな。..
2011-01-06 00:21:09Javaのだとしたら「Javaのオブジェクトやクラスがうんこ」だというだけ、というオチもネタ帳に仕込んでおくべきかなとも思う。
2011-01-06 01:03:25Togetterでは上っ面のデメリットだけを呟いてますが、あくまで継承はデータ構造と処理セットと具象化ガイドライン(しかも強い縛りのオマケ付)の3点セットを段ボールに詰めて手軽に抽象・再利用しようとするウルトラCだからこそ、不用意なデメリットを伴いやすいってだけなんですけどね。
2011-01-06 00:24:47ぼくもそんなふうに思います。だれか解説希望。 RT @mzp: クラスってオブジェクトの集合じゃないんすか?なんかこう、ちょっと定義を工夫すれば集合として扱えそうな気がするんだけど
2011-01-06 00:25:51「なにが集合か」と言われたら「コレクション系のやつ。それこそSetクラスとか有るよなあ」と答えたほうが色々しあわせじゃないか、とか思ったりする。違うのかなあ。あるいはクエリつまりxxx.find_all{…} (rubyでいえば)とかさ。
2011-01-06 00:27:08ところで(Javaとかの)Interfaceだと、「メソッド名が固定」なわけだけど、それしか選択肢が無いのってまずくないのかなあ? たしかww、.NETだと、handlesとかいって「継承するときに違う名前のメソッドで受ける」とか出来るんじゃなかった?あれいいね。
2011-01-06 00:28:55そんなのは使い手次第だという意見は正しいと思うが、全体のボトムアップは多くの程度問題同士の比較の上に為せると思う。継承に関しては使い手の技量・経験に依る品質のぶれ幅が他と比べて大きい上、お手軽で、後からの設計方向転換にやたら弱いっていう面もあるので代替があるなら欲しいのです。
2011-01-06 00:30:23てか、よく分からんのだけどもしかしてそれって「オブジェクト指向」である以前に「集合指向」とでも呼ぶべきものだったりしないかな。オブジェクト指向をブートストラップさせるために先に集合指向のビルドアップが必要だ、とでも言うべきアーキテクチャ構成。
2011-01-06 00:40:47Structural subtypingめもめも。ところで「固定的な観念」ってどこの畑の固定だろう。色々あるから宗教戦争になりそうなんだがww
2011-01-06 00:35:35それはわかります。むしろ自分の中では固定的な観念がくずれてOOが分解しつつあって逆にわかりにくい。人によって捉え方違うし。 RT syamino: とりあえずStructural subtypingについて考えればクラスについての固定的な観念を崩せますよと宣伝だけしておきたい
2011-01-06 00:36:28少なくともSmalltalkやVDM++では、オブジェクトの集合ではありません。 "@mzp クラスってオブジェクトの集合じゃないんすか?"
2011-01-06 00:37:09