結局OOpが役に立たないのはなぜ?
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2010/04/14(水) 01:14:080449デフォルトの名無しさん
2010/05/05(水) 17:40:04高凝集かつ疎結合なシステムを構築しやすい。
0450デフォルトの名無しさん
2010/05/05(水) 17:41:41C++のテンプレートは、C++言語の大きな欠点とされているだろ。
0451デフォルトの名無しさん
2010/05/05(水) 17:49:010452デフォルトの名無しさん
2010/05/05(水) 17:54:46それはOOだけじゃない。
0453デフォルトの名無しさん
2010/05/05(水) 17:56:34別にOOだけのウリだとは一言も言っていない。
0454デフォルトの名無しさん
2010/05/05(水) 18:15:15それだと、OOの一番のメリットっと言わないだろう。 普通は。
0455デフォルトの名無しさん
2010/05/05(水) 18:20:24別にC++のテンプレートを褒める気は無い
重要なのは、あの醜悪な道具を使ったSTL並の道具を
C++の伝統的なOOの手法では作れなかったということ
Stroustrup自身が、自分にはSTLのようなものは作れなかったし、その発想が
無かったと認めている
STLの作者自身はOO嫌いらしいね
0456デフォルトの名無しさん
2010/05/05(水) 18:27:36日本語でおk
0457デフォルトの名無しさん
2010/05/05(水) 18:34:31構造化言語でも出来る。
0458デフォルトの名無しさん
2010/05/05(水) 18:37:40ほっとけ、相手はOOを知らないアホだから。
0459デフォルトの名無しさん
2010/05/05(水) 18:50:08可能か不可能かで言えば可能かもしれないな。
0460デフォルトの名無しさん
2010/05/05(水) 18:59:42C++(というかStroustrup)にとってのOOは、最近の責務ベースのOOとは全然違うからな。
0461デフォルトの名無しさん
2010/05/05(水) 19:38:00http://www.youtube.com/watch?v=CFZiil0DfMc
0462デフォルトの名無しさん
2010/05/05(水) 20:12:58STLの例は、責務ベースだとか責務ベースでないとかは、関係ないよ
STLを知っている人には通じると思うが
STLの根底にあるアイデアは、コンテナとアルゴリズムを分離し、
良く定義されたプロトコル(iterator)を糊として使うというもので、発想は
非OO的
分離することで、コンテナ×アルゴリズムという乗算量になってしまう実装の手間が
コンテナ+アルゴリズムという加算量の手間で済み
テンプレートの提供するダックタイピングの能力とあわせて、
継承階層と無関係に、組み込み型の配列やポインタでも同様に利用できる
0463デフォルトの名無しさん
2010/05/05(水) 20:13:56ほぼ同じ時期(むしろMFC以前)に出来ていたTurboC++のOWLなんかはまともなフレームワークだったよ
0464デフォルトの名無しさん
2010/05/05(水) 20:53:50それがOOと何の関係があるの?
0465デフォルトの名無しさん
2010/05/05(水) 22:02:45http://www.youtube.com/watch?v=i6-1934HZG0
0466デフォルトの名無しさん
2010/05/05(水) 22:04:00おまえ空気嫁てないなw
STLはOOと関係ないっていう話をしてるんだよw
0467デフォルトの名無しさん
2010/05/05(水) 22:06:44そりゃそうだ。
0468デフォルトの名無しさん
2010/05/06(木) 02:41:11ただ、型推論をもうちょっと強力にして、
template<>とかいちいち宣言しなくていいようにしてほしい。
auto add( auto &a, auto &b )
{
return a+b;
}
こんなかんじで。
あと、型推論にunionもほしいんだよな。
auto a;
B b; C c;
a = b;
a = c;
//aはBとCのunionになる。
で、このunionなaで、関数の呼び出しが動的オーバーロードされりゃポリモも出来るな。
0469デフォルトの名無しさん
2010/05/06(木) 05:26:340470デフォルトの名無しさん
2010/05/06(木) 12:50:49その辺を突き詰めると、Haskellの言語仕様に近くなるような気がする。
0471デフォルトの名無しさん
2010/05/08(土) 02:14:38MLのモジュールとかHaskellの型クラスとか分かってんのかな?
色々な構造化の手法を知って、その共通点とか相異点を実感して、
初めてOOの特徴が分かるってもんだろ
日本語しか知らないのに、日本語の特徴は...って語ってるのと同じだぞ
0472デフォルトの名無しさん
2010/05/08(土) 02:17:400473デフォルトの名無しさん
2010/05/08(土) 02:22:590474デフォルトの名無しさん
2010/05/08(土) 02:52:55よく分からないww
どこぞやの生き残りブログでもそうだけど、
OOの話になるとC言語と比べた話くらいしか出てこないのがとても残念
モジュールやファンクターの世界を知れば、
OOではクラスがそのまま型になっている事が便利な理由であり制約でもあると気づけるのに
型クラスの世界を知れば、
OOではIdentityが前提だからインスタンスを指定する必要があったんだと気づけるのに
井の中にしか興味ないなら仕方ないけどさ
0475デフォルトの名無しさん
2010/05/08(土) 02:55:220476デフォルトの名無しさん
2010/05/08(土) 02:57:27もっと具体的に。
0477デフォルトの名無しさん
2010/05/08(土) 03:11:46いや、もう十分具体的じゃんww
まずはバリアントとレコードとモジュールとファンクターとシグネチャーを勉強してくれ
OOとは別の世界があるから
それから、Identityとpurely functionalの意味をHaskellを触りながらでも実感してくれ
OOがどれだけ副作用と切り離せないか分かるから
0478デフォルトの名無しさん
2010/05/08(土) 04:11:360479デフォルトの名無しさん
2010/05/08(土) 07:10:17実際 Haskell って楽しい?ちょっと興味はある
コード書く上で、例えばメイン処理、サブ処理1、1の結果を得て別の結果を返すサブ処理2と
3つのルーチンを考えた時、ベタな実装って具体的にどうなるの?
0480デフォルトの名無しさん
2010/05/08(土) 07:40:50それくらい、ぐぐろうよ
ttp://www.sampou.org/haskell/tutorial-j/functions.html
頑張って型クラスまで辿り着いてねー
0481デフォルトの名無しさん
2010/05/08(土) 07:47:33ググろうじゃなくて実際に書いてる人としてお前の感想聞きたいんだけど
0482デフォルトの名無しさん
2010/05/08(土) 08:00:40こりゃ失礼
もちろん楽しいです
λ計算や圏論や型理論が基礎にあって、地に足が付いている感が好きです
0483デフォルトの名無しさん
2010/05/08(土) 08:51:21いつものひとかw
0484デフォルトの名無しさん
2010/05/08(土) 09:16:19えっww
OCamlのスレには書き込むけど、このスレは>>471が初めてなんだがww
0485デフォルトの名無しさん
2010/05/08(土) 10:04:08Haskellの人じゃないけど
メインとサブの処理にするなら、そのまま関数にすればいいと思う
サブ1の結果を使うサブ2があるなら、サブ2の引数にサブ1の結果を渡すだけ
0486デフォルトの名無しさん
2010/05/08(土) 10:10:190487デフォルトの名無しさん
2010/05/08(土) 10:33:28OOPは、よくできたプログラムの構造を研究した結果でてきたもの。
0488デフォルトの名無しさん
2010/05/09(日) 12:07:430489デフォルトの名無しさん
2010/05/10(月) 11:57:56・>>324-325が意外と的を射ているのかも
・Erlangって面白そう
0490デフォルトの名無しさん
2010/05/11(火) 20:48:45関数といっても副作用のあるC言語的な関数です。
0491デフォルトの名無しさん
2010/05/11(火) 21:25:320492デフォルトの名無しさん
2010/05/11(火) 21:39:20>このスレで学んだこと:
>・>>324-325が意外と的を射ているのかも
それは一番駄目な奴のとろだから。
0493デフォルトの名無しさん
2010/05/11(火) 22:52:42中とろ
下とろ
0494デフォルトの名無しさん
2010/05/12(水) 17:41:10324,325=489
ほっといてやれ。
0495デフォルトの名無しさん
2010/05/14(金) 16:37:31確かに既存ライブラリを使うときにはOOで整備されていると楽だけど
自分で作る部分は、それほどOOにする必要がない場合が多いんだよね。
0496デフォルトの名無しさん
2010/05/14(金) 16:41:58あれは複数人で開発(意思の疎通、統合が不自由)したり、
全体像が把握できないほどコード量が膨大になったりしたときに
役に立つんだと思うよ。
0497デフォルトの名無しさん
2010/05/14(金) 17:20:120498デフォルトの名無しさん
2010/05/14(金) 17:36:11それをしてオブジェクト施行というならオブジェクト思考でないプログラミングなんてありえない。
0499デフォルトの名無しさん
2010/05/14(金) 18:29:430500デフォルトの名無しさん
2010/05/14(金) 18:41:17まあ、フラグの山は流石に例えがおかしいが。
0501デフォルトの名無しさん
2010/05/15(土) 00:21:510502デフォルトの名無しさん
2010/05/15(土) 00:33:10オブジェクトなんて必要ないのに
0503デフォルトの名無しさん
2010/05/15(土) 01:50:46わかるかな?
0504デフォルトの名無しさん
2010/05/15(土) 05:27:51オブジェクトの種類によって決まってる処理なら、オブジェクトだけ渡せば済むほうが気楽だなあ
0505デフォルトの名無しさん
2010/05/15(土) 05:44:26手動でOOPしている。
0506デフォルトの名無しさん
2010/05/15(土) 13:06:000507デフォルトの名無しさん
2010/05/16(日) 12:04:07OOPを使うやつらに役に立たない連中が多いからじゃね?
0508デフォルトの名無しさん
2010/05/18(火) 11:25:27十把一絡げでレッテル貼りぱねぇっす‥ て、一瞬言おうと思ったが‥
深いかもしれない。言葉通りじゃなく、なんか深い
0509デフォルトの名無しさん
2010/05/20(木) 00:46:210510デフォルトの名無しさん
2010/05/20(木) 00:50:120511デフォルトの名無しさん
2010/05/23(日) 18:36:020512デフォルトの名無しさん
2010/05/23(日) 20:51:080513デフォルトの名無しさん
2010/05/23(日) 22:36:38http://www.petatv.com/tvpopup/video.asp?video=agri_long&Player=wm&speed=_med
0514デフォルトの名無しさん
2010/05/28(金) 11:31:16以前よりも無駄のないすっきりとしたプログラムを作れているという実感があります。
これは、処理の分割(抽象化)の能力が上がるからのような気がします。
関数型をかじりながらオブジェクト指向でプログラムを作ると良いのかもしれません。
0515デフォルトの名無しさん
2010/05/28(金) 13:14:59Haskell
とかって仕事では使わないしなー
0516デフォルトの名無しさん
2010/05/28(金) 19:57:16抽象化能力をあげるような機構とかってつくれないかな。と思ってみたり
0517デフォルトの名無しさん
2010/05/29(土) 12:23:520518デフォルトの名無しさん
2010/06/10(木) 18:50:30実用するかどうかは置いといてとりあえずLISP学んどけって
0519デフォルトの名無しさん
2010/06/12(土) 00:59:21「うわーすんげー楽!変数書き換えられるよ!
シーケンシャルな(書いた順に実行する)コード書けるよ!」
ってなるw
0520デフォルトの名無しさん
2010/06/12(土) 11:29:070521デフォルトの名無しさん
2010/06/13(日) 20:59:04全部手続きで書きたいワケじゃなくて、基本関数的に書いてても
局所的には手続き的にやりたい時はある
そういう時に純粋関数型だとちょっと面倒くさい、やれなくは無いんだがね
0522デフォルトの名無しさん
2010/06/21(月) 12:33:300523デフォルトの名無しさん
2010/06/21(月) 13:21:50たとえばStringのtoUpperCaseメソッドはどう呼び出すかというと
( .toUpperCase "hello" )
こんな感じです。
このスレ的に、ちょっと面白い位置付けですね。
0524デフォルトの名無しさん
2010/07/02(金) 23:44:260525デフォルトの名無しさん
2010/07/02(金) 23:50:300526デフォルトの名無しさん
2010/07/03(土) 00:00:26でも、仕様がそこらのOO屋さんの言ってるOOにはそぐわないらしいw
つか、OO分析してくれた結果が役に立たないのはなぜ?
さらに、OO言語使わないとOO出来ないのはなぜ?
0527デフォルトの名無しさん
2010/07/04(日) 23:04:19http://www.amazon.co.jp/dp/4798111767
リアルタイムUML―オブジェクト指向による組込みシステム開発入門
http://www.amazon.co.jp/dp/4881359797
0528デフォルトの名無しさん
2010/07/12(月) 02:33:43世間のOOな開発手法は言語のサポートがある前提だからでしょ。
だから、そうでない場合、実装へのギャップが大きすぎるか
言語仕様に縛られて、OOとしては半端で意味のない設計になる。
他にはOO的手法は、非機能要件への対策には弱い印象がある。
極端にリソースがチープだったり、リアルタイム性が求められる時、
手法としては対処出来ない。
属人的なノウハウはあるだろうけど。
まぁ526は世間で言われるところの「OO」はしてないんじゃね?
原理主義的な(悪い意味でなく)OOであるのかも知れない。
0529デフォルトの名無しさん
2010/07/12(月) 22:26:39*BSD とか OpenSolaris の kernel 読んでると十分 OO してるけどな
まぁ、言語の制約もあって cast しまくりだがw
0530デフォルトの名無しさん
2010/07/13(火) 08:07:38OOD?P?
socketまわりぐらいしか見る機会無かったけど、
あんまりOOって感じじゃなかったような。
ちょっと興味はある。
これまで見た中でCでOOを頑張ってるのは
gtkしか知らない。
知らんだけであるとは思う。
0531デフォルトの名無しさん
2010/07/13(火) 10:26:360532デフォルトの名無しさん
2010/07/13(火) 23:09:200533デフォルトの名無しさん
2010/07/15(木) 21:17:470534デフォルトの名無しさん
2010/07/15(木) 21:46:360535デフォルトの名無しさん
2010/07/15(木) 22:27:340536デフォルトの名無しさん
2010/07/16(金) 00:27:46a
0537デフォルトの名無しさん
2010/07/16(金) 00:28:48十分条件だとすると、関数型言語もOOになるがいいのか?
0538デフォルトの名無しさん
2010/07/16(金) 03:28:110539デフォルトの名無しさん
2010/07/16(金) 09:48:552. 多態さえあればOO
の2択であれば、1の方が正解に近そうだ
0540デフォルトの名無しさん
2010/07/17(土) 20:31:36派閥がいっぱいあって、一般論にならず、まとまらない。
もうオブジェクト指向とか語るだけ無駄だろ。
OOは皆の心の中にある。
0541デフォルトの名無しさん
2010/07/17(土) 21:08:44その上で継承、多態、通信の方法などの個別の拡張で派閥争いがある。
0542デフォルトの名無しさん
2010/07/17(土) 21:49:40つまり、OOA/OODのレイヤーから逆算して議論しないとまとまるわけがない。
0543デフォルトの名無しさん
2010/07/18(日) 00:36:22> 広義では情報とそれを操作する手続きを一緒の入れ物に押し込んだものをオブジェクトと呼ぶ。
これだと、モジュールやファイルもオブジェクトになるな。
それどころか、static変数を持った関数も。
0544デフォルトの名無しさん
2010/07/18(日) 00:39:54歴史上では出て来た順番が逆なもんで、
OOPは独立したもので、OODありきで考えるのは
本質的でないと言う人も居たり。
0545デフォルトの名無しさん
2010/07/18(日) 03:13:40(例えば、オブジェクト指向=「継承」「現実世界のモノを計算機に写像する方法論」という
考え方は、近年では否定される傾向にある)研究が進んだ結果再整理された、ってことで
いいんじゃないのかな。他のサイエンスでもそういうことはよくある。
0546デフォルトの名無しさん
2010/07/18(日) 05:28:530547デフォルトの名無しさん
2010/07/18(日) 12:09:00現在ではOOPは単なるOO開発手法のサブセットだ、
と言ってる、という理解であってる?
0548デフォルトの名無しさん
2010/07/18(日) 20:00:30OO開発手法が役に立たない局面は山ほどある
# 所詮、数式化出来ない屑が使う手法 > OO開発
■ このスレッドは過去ログ倉庫に格納されています