消えてなくなれよ >オブジェクト指向 part.2
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2009/03/22(日) 06:57:59http://pc11.2ch.net/test/read.cgi/tech/1198822420/
0711デフォルトの名無しさん
2009/05/28(木) 18:35:370712デフォルトの名無しさん
2009/05/28(木) 18:52:15逆だろw >>642がイメージしているのはKay的OOとは正反対だ。
0713デフォルトの名無しさん
2009/05/28(木) 19:05:10オブジェクト指向:ツリー型
0714デフォルトの名無しさん
2009/05/28(木) 19:12:34それはまったく違うぞ。
>>642の脳内での「オブジェクト指向」の定義はKay的OOだが、
オブジェクト指向「プログラミング」はC++的なものだと思ってるってことだ。
0715デフォルトの名無しさん
2009/05/28(木) 20:31:550716デフォルトの名無しさん
2009/05/28(木) 20:37:050717デフォルトの名無しさん
2009/05/28(木) 21:09:35> "メッセージ"とかご大層なもののように言うけど、単に遅延束縛だろ。
うんにゃ、メッセージってのは、「ノイズも含めて」ただの信号だ
信号処理系をどうデザインするかは、手法によって変わるんだろうけど
少なくともOOAとかOODって言ってる奴等は
「ノイズも信号のうち」
って、当たり前の事実が分かってない
0718デフォルトの名無しさん
2009/05/28(木) 21:11:260719デフォルトの名無しさん
2009/05/28(木) 21:14:03単なる関数呼び出し。Objective Cのコードとか見てみろって。
0720デフォルトの名無しさん
2009/05/28(木) 21:14:27うけねらい?それともOO信者お得意のメタファー?
ネタなら、ごめん。意味分からん。
たとえ話なら、そんなのいいからプログラミングの機能の話がしたい。
0721デフォルトの名無しさん
2009/05/28(木) 21:22:30OO信者というより、通信理論や信号処理をかじった奴が能書き垂れてるだけだろ。
とんだお笑いものだがな。
0722717
2009/05/28(木) 21:24:39いや、厳然たる事実
OOA とか OOD とかやってる連中って、やたら例外を作る
「ノイズも信号のうち」と考えてデザインすると
物事はもっと簡単になったりする
# もとハード屋のつぶやきだ
0723デフォルトの名無しさん
2009/05/28(木) 21:36:16じゃあどう簡単になるのか設計の具体例を挙げてみてよ
0724デフォルトの名無しさん
2009/05/28(木) 21:57:14nullで例外出さないでNullableで演算を最後まで通してしまうとかかな
0725717
2009/05/28(木) 22:38:47ソフト的に考えたらそうなんだろうけど
ノイズそのものも評価対象にいれるってゆうか…
ハードつくる場合って例外事象への対応はとってもコストが
かかるんで、伝達関数書くときに外乱を意味する変数を作って、
それも一緒に処理の中に含めるってゆうか…
外乱とかノイズとかも最初から入力の一つの要素として扱う
ってのが、賢いハード屋
0726デフォルトの名無しさん
2009/05/28(木) 22:52:03だからソフトウェア開発でお前の言った方法論が適用出来る具体例を挙げろよ
0727717
2009/05/28(木) 22:54:55例外扱いしなきゃいいって
0728デフォルトの名無しさん
2009/05/28(木) 22:57:51具体的に何を例外扱いせずにどう処理するんだよ
0729717
2009/05/28(木) 23:08:14例外事象も入力のうちって捕らえたら
out = f (in, exception-case)
の関数だよな. 内部の状態は適当に隠蔽するとして…
後はカリー化して1入力-1出力の関数になるだろ?
0730デフォルトの名無しさん
2009/05/28(木) 23:09:03製造業や建設業における設計が、ソフトウェアでは設計+実装に当たるから。
ソフトウェア産業での「製造工程」ってのは、ビルドフェーズになる。
つまり、既に自動化されている。
0731デフォルトの名無しさん
2009/05/28(木) 23:10:420732デフォルトの名無しさん
2009/05/28(木) 23:30:300733デフォルトの名無しさん
2009/05/28(木) 23:37:200734デフォルトの名無しさん
2009/05/28(木) 23:53:16だから入力がfで処理できないようなものだったらどうするのか、ってことなんだが。
0735デフォルトの名無しさん
2009/05/29(金) 00:06:34C#だとNullableがあってもRoundなどNullable用のメソッドがないから
自分で作っていたが
もしかしてMaybeモナドってそんなことしなくてすむようになるんかな
だとしたらHaskellすごい
0736デフォルトの名無しさん
2009/05/29(金) 00:06:38で、それがオブジェクト指向とどう関わりがあるんだ?
0737デフォルトの名無しさん
2009/05/29(金) 00:11:44カプセル化?データ構造や内部関数の隠蔽ならMLのモジュールでもできるよ。
逆にデータ構造と手続きを分離できないから、visitorパターンなんていうばかばかしい
テクニックを使わなきゃいけなくなる。
データと手続きを一緒にする意義ってあるの?正直ナンセンスだよ。
0738デフォルトの名無しさん
2009/05/29(金) 00:20:18サブルーチンのカタマリにしてくってことですか?
0739デフォルトの名無しさん
2009/05/29(金) 00:23:32カプセル化だけがOOだと思ってるなら勉強不足にも程がある
0740デフォルトの名無しさん
2009/05/29(金) 00:25:13おっと、こんな時間にだれかk(ry
0741デフォルトの名無しさん
2009/05/29(金) 00:25:57データと手続きを分離した場合、無制限に操作を許すと
「システムとして有り得ない状態」を作り出しやすいんだよね。
もしくは、状態を多数つくって管理が破綻するとか。
敢えて制限をかけることで制御のし易さを得ることができるというわけ。
0742デフォルトの名無しさん
2009/05/29(金) 00:26:33OOの方がいいと思うけど。OOから入った人は、OOが当たり前に有るから。
その欠点しか見えないかもしれないね。これもゆとりの・・・
0743デフォルトの名無しさん
2009/05/29(金) 00:26:47OO信者最強の武器「勉強不足」www
0744デフォルトの名無しさん
2009/05/29(金) 00:27:47ジェネリックプログラミングは型の型による制約で分離しつつもそれを防いでいる
0745デフォルトの名無しさん
2009/05/29(金) 00:30:13アホか?信者じゃねーぞ
批判するならOOを知った上でないと>>737みたいな勘違い批判になるってことだ
0746デフォルトの名無しさん
2009/05/29(金) 00:34:040747デフォルトの名無しさん
2009/05/29(金) 00:37:59737は勘違いなのか?データと手続きは分離したままで、「システムとして有り得ない状態」
が出ないように隠蔽できるというMLの型システム(モジュール)を知っての上での批判だと思うが。
0748デフォルトの名無しさん
2009/05/29(金) 00:38:22ジェネリックプログラミングとOOは排他的な概念じゃなかろうもん。
0749デフォルトの名無しさん
2009/05/29(金) 00:43:41その意味ではコンストラクタとデストラクタ間で制約を設けられるような類のOO言語の方が有利な場合もある
0750デフォルトの名無しさん
2009/05/29(金) 00:45:50そんなことは言っていないぞ。
MLのモジュールシステムは基本的に関数やデータタイプを個別の名前空間に閉じ込める
だけだから、「システムとして有り得ない状態」を防げるわけではない。
> データと手続きを一緒にする意義ってあるの?正直ナンセンスだよ。
なんて言う時点で勘違い。
0751デフォルトの名無しさん
2009/05/29(金) 00:48:52力不足というのは同位
>コンストラクタとデストラクタ間で制約を設けられるような類のOO言語の方が有利
ここ、もちょっとkwsk
0752デフォルトの名無しさん
2009/05/29(金) 00:52:39>MLのモジュールシステムは基本的に関数やデータタイプを個別の名前空間に閉じ込める
>だけだから、「システムとして有り得ない状態」を防げるわけではない。
そこまで知ってるなら、なぜシグネチャーを知らない?
0753デフォルトの名無しさん
2009/05/29(金) 01:15:35当然知ってるが。シグネチャは結局モジュールの受け付ける型を制限するだけで
あって、静的型チェックはC++やJavaでもやってること。
0754デフォルトの名無しさん
2009/05/29(金) 01:29:43http://www.geocities.jp/m_hiroi/func/ocaml09.html
「シグネチャとデータ抽象」あたりを読むべし。
0755デフォルトの名無しさん
2009/05/29(金) 01:40:41何が言いたいんだ?3行で説明してみろよ。
0756デフォルトの名無しさん
2009/05/29(金) 01:53:37せめて引用したい部分だけでも貼れって思う
仮に
>>754
http://www.ntv.co.jp/sekaju/student/20050115/03_0201.html
とかやったら俺のいうことを理解できるまで上記リンクを最後まで読むんだろか?w
0757デフォルトの名無しさん
2009/05/29(金) 04:46:280758デフォルトの名無しさん
2009/05/29(金) 05:04:48違いを具体的に説明出来ないのなら、それは理解していないのと何ら変わりない。
0759デフォルトの名無しさん
2009/05/29(金) 05:13:29違いはinclusion polymorphismだ。あとは自分で調べろカス
0760デフォルトの名無しさん
2009/05/29(金) 05:25:46結局説明できないんだな。知ったかのクズが
0761デフォルトの名無しさん
2009/05/29(金) 07:18:410762デフォルトの名無しさん
2009/05/29(金) 07:32:24曖昧さのないように3行で説明してみろやボケが
0763デフォルトの名無しさん
2009/05/29(金) 08:35:29人にモノを訊くときにはまず自分で調べてからにしろ。クズ。
0764デフォルトの名無しさん
2009/05/29(金) 08:59:42ここまで渋るとは、お前は本当に説明出来ないんだな。
だったら最初から偉そうな物言いをするなよ。
人の名前や述語を挙げて後は調べろで煙に巻くような輩に碌な人間はいないな。
0765デフォルトの名無しさん
2009/05/29(金) 09:02:34最低限の知識を踏まえていない人間が議論で相手にされるとでも?
0766デフォルトの名無しさん
2009/05/29(金) 09:17:07するのならその根拠を説明するのは当然だろうが。そんなことも理解できないのか?
0767デフォルトの名無しさん
2009/05/29(金) 09:23:03もう>>757は嘘ということで終わりな
0768デフォルトの名無しさん
2009/05/29(金) 09:23:400769デフォルトの名無しさん
2009/05/29(金) 09:45:54称される機構は、ちょっと回りくどい関数呼び出しに過ぎないですよ。それは Smalltalk も同じ。
Smalltalkはあくまで暫定的な仕様のシステムだったのだけれども、いろいろあって途中で変化を
やめてしまった。にも関わらず、それを完成された形と勘違いした多くの言語作者が
この関数のことをメソッドだとかその呼び出しをメッセージ送信だとか、ひそみに倣い
はじめたからおかしな事になったわけです。
ただやっかいなことに、しくみは古いままでも、それをメッセージングだと見なしてプログラミングしたり
そうした思考や行為をサポートする主にメタな機構・ツール・環境を充実させてみると、(領域によっては)
目を見張る生産性を発揮することも分かった。暫定ダイナブックOSとしてのSmalltalkはその実証でもあるわけです。
20年以上再起動することなしに動き、拡張され続けているシステムって、メッセージングのアイデアの
源でもあるインターネットシステムを除けば、Smalltalkの他にないのではないでしょうか。
そんなケイが「メッセージング」を介して本来目指したものや、Smalltalkによって得られた成果についての
ケイ自身の総括みたいなものはここで読めます。
http://metatoys.org/oxymoron/oxymoron.html
以上、長くなりましたがケイの「メッセージングのOO」の参考まで。
0770デフォルトの名無しさん
2009/05/29(金) 10:06:100771デフォルトの名無しさん
2009/05/29(金) 10:14:06リンク先にもきちんと書いてあるだろ?
元々 well-defined じゃない。
0772デフォルトの名無しさん
2009/05/29(金) 13:46:010773デフォルトの名無しさん
2009/05/29(金) 17:53:530774デフォルトの名無しさん
2009/05/29(金) 18:44:54メッセージングの違いとかinclusion polymorphismの話題を含むやつを具体的に
0775デフォルトの名無しさん
2009/05/29(金) 18:52:360776デフォルトの名無しさん
2009/05/29(金) 19:29:22『作った後で要求がガンガン変わる』という事例にまで頭が回っていないように見える。
0777デフォルトの名無しさん
2009/05/29(金) 20:35:28http://www.ntv.co.jp/sekaju/student/20050115/03_0201.html
0778デフォルトの名無しさん
2009/05/29(金) 20:52:400779デフォルトの名無しさん
2009/05/29(金) 20:52:550780デフォルトの名無しさん
2009/05/29(金) 21:48:23あれは、メッセージングの仕組みはオブジェクトの責任分担について一方面しか切り出せず、
横断的な関心事に無力であり、その不便を解消したいという問題意識と捉えると、メッセージ
ングの本質的な弱点を指摘していると思う。
0781デフォルトの名無しさん
2009/05/29(金) 22:29:59アスベスト?
0782デフォルトの名無しさん
2009/05/29(金) 22:53:450783デフォルトの名無しさん
2009/05/30(土) 00:13:04純粋サイエンスのまま実用的になった技術って正規表現くらいじゃね?
0784デフォルトの名無しさん
2009/05/30(土) 00:29:04あれはただの技術ですよ。
0785デフォルトの名無しさん
2009/05/30(土) 00:32:010786デフォルトの名無しさん
2009/05/30(土) 00:42:01再利用性云々の話は眉唾に聞こえてきてしまう
型エラーにならなけりゃとにかく使いまわせる関数型アプローチにはそういう意味ではかなわないなと
0787デフォルトの名無しさん
2009/05/30(土) 00:44:05お前ネタで言ってるのか?
正規表現は数学者Kleeneが数学用のツールとして考案したものだ。
0788デフォルトの名無しさん
2009/05/30(土) 00:49:01サイエンスまでいかなくても、まっとうな議論ができる土台でコンピューター技術に
応用されているものをぱっと思い付きで挙げると、
λ計算、オートマトン、関係代数、述語論理、π計算、圏論、グラフ理論
0789デフォルトの名無しさん
2009/05/30(土) 00:53:560790デフォルトの名無しさん
2009/05/30(土) 00:59:32> ツール
科学じゃねーじゃん
0791デフォルトの名無しさん
2009/05/30(土) 01:01:39それそれ。
メッセージングだとか多態性だとかカプセル化だとか、本質的にはオブジェクトを物とみなしてだとか、
OOは全然サイエンス的な議論ができないじゃん。だから嫌い。
0792デフォルトの名無しさん
2009/05/30(土) 01:03:260793デフォルトの名無しさん
2009/05/30(土) 01:04:570794デフォルトの名無しさん
2009/05/30(土) 01:28:20馬鹿か?Kleeneの論文読んでこい。
0795デフォルトの名無しさん
2009/05/30(土) 01:35:17科学っていうのは解き明かすことが重要なの。
0796デフォルトの名無しさん
2009/05/30(土) 01:41:17そうか、だからOOはなんとなく宗教チックなんだ。言うことがいちいち大袈裟だし。
長年のもやもやがスッキリした。
0797デフォルトの名無しさん
2009/05/30(土) 01:46:19お前が言っていることは、数学は科学で無い、と同じ位荒唐無稽な主張だ。
正則表現の定義から導き出される数々の定理を知った上で言っているのか?
0798デフォルトの名無しさん
2009/05/30(土) 01:49:03まぁエンジニアリング上の問題だからな。
どうしても人間による認識が入ってくるのは仕方ない。
0799デフォルトの名無しさん
2009/05/30(土) 01:49:57> 正則表現の定義から導き出される数々の定理を知った上で言っているのか?
知らないので教えてくださいw
0800デフォルトの名無しさん
2009/05/30(土) 01:50:54OOはベースになる理論が弱すぎるからな。
あと、いい加減なことを言う商売人が多すぎるのも問題。
その点、関数型は理論に裏打ちされていて良い。
0801デフォルトの名無しさん
2009/05/30(土) 01:56:52正則表現と有限オートマトンの等価性
Pumping Lemma
0802デフォルトの名無しさん
2009/05/30(土) 03:02:31OOにベースとなる理論なんてあるの?
基本的に経験則から導き出されたノウハウ的なものだと捉えてるんだけど?
0803デフォルトの名無しさん
2009/05/30(土) 03:13:01大した成果が出てないっていうか。研究するには筋の悪い分野だな。
0804デフォルトの名無しさん
2009/05/30(土) 05:25:21Kleeneのどの論文か言わないとCardelli厨と同一判定されますよw
0805デフォルトの名無しさん
2009/05/30(土) 07:46:37土台にきちっとした議論ができるから好き。
0806デフォルトの名無しさん
2009/05/30(土) 07:49:43突拍子もない主張ではないのだからCardelli厨と一緒にするのはやめてくれ。
これが当該の論文だ。わざわざpdfのリンクまで貼ってやったのだから
>>790はこれを読んで荒唐無稽な主張を取り下げること。
KLEENE, S.C.
Representation of events in nerve nets and finite automata.
In Automata Studies, C. E. Shannon, and J. McCarthy, Eds,
Princeton University Press, 1956, pp. 341.
http://www.soe.ucsc.edu/classes/cmps130/Spring09/Papers/kleene_1956.pdf
0807デフォルトの名無しさん
2009/05/30(土) 08:58:150808デフォルトの名無しさん
2009/05/30(土) 09:10:37ほぼOKだけど、文脈による。
ケイのOO(メッセージング指向のOO)やプロトタイプベースのOOでははなから関係ない。
クラスを含め、あってもいいが、無くても成り立つ。
http://www.purl.org/stefan_ram/pub/doc_kay_oop_en
ストラウストラップのOO(クラス指向のOO)では当初中核をなす概念だったが、クックらの指摘で
クラス継承だけでは型安全性が確保できないことが知られるようになってからは
インターフェイス継承や、委譲に軸足が移っている。
http://www.research.att.com/~bs/whatis.pdf
http://ctp.di.fct.unl.pt/mei/talmp/docs/InheritanceIsNotSubtyping.pdf
0809デフォルトの名無しさん
2009/05/30(土) 10:03:16確かにそうだけど、そこまで理解している人となら何について話しても
論理的な議論が出来そうだな。
0810デフォルトの名無しさん
2009/05/30(土) 10:24:00■ このスレッドは過去ログ倉庫に格納されています