1read 100read
2012年3月プログラム157: オブジェクト指向の弊害 (131)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
アプリケーションの国際化対応の話題スレ (234)
Pythonについて(アンチ専用) (781)
Visual Studio 11 Part1 (163)
雑談スレ 4 (315)
七行プログラミング part6 (360)
七行プログラミング part6 (360)
オブジェクト指向の弊害
- 1 :12/01/24
- 非OOPでコーディングされたソースを見て発狂するアホを生み出したこと
そのくせOOPを十分に理解してないから痛々しい
- 2 :12/01/24
- と天才プログラマー「あい」は申しております。
- 3 :12/01/24
- このスレッドは天才pンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
京都大学霊長類研究所
- 4 :12/01/24
- 高級言語の普及によって、プログラムの自己書き換えが廃れたように、
実際、「オブジェクト指向」という制限が掛かることによって
実装できなくなったプログラミングイディオムってあるよね。
「闇のデザインパターン」とでも言えばよいのだろうか。
誰か、そういうのをまとめてくれないかな。
出版してくれたら、絶対に買うよ。
- 5 :12/01/24
- >>4
アンチパターンですね。
- 6 :12/01/25
- >>5
アンチパターンは、元々やるべきではないもの。
これは、役に立つけど、諸般の事情で使えなくなったもの。
- 7 :12/01/25
- OOPは保守性が高い
- 8 :12/01/25
- >>6
アンチパターンだから使えなくなったのです。
- 9 :12/01/25
- >>7 きちんとクラスが設計されていれば・・・な
- 10 :12/01/25
- Object Prototype Programming Architect Interface
- 11 :12/01/25
- OOPでよく使われる文法は非OO的機能という現実
- 12 :12/01/25
- Bjarne Stroustrup インタビュー (?)
ttp://www.kh.rim.or.jp/~nagamura/misc/stroustrup-interview.html
- 13 :12/01/25
- アルゴリズム本のページ数が伸びる。
もしくはCで学ばなくてはならない。
- 14 :12/01/25
- >>12
外人のネタコピペも結構レベル高くなってきたな
- 15 :12/01/25
- >更新:1999-08-03
- 16 :12/01/25
- 通知を受けるためクラスがあって、そのクラスのインスタンスが
どっかのオブジェクトのメソッドを実行するための何かとか
もう意味不明w
- 17 :12/01/25
- 弊害を語るならせめてパターンくらいは身につけろや
- 18 :12/01/25
- OO系のスレは他にもあるのにワザワザ新しいのを立てたんだから
>>1は責任もってネタを出すように
まさかあれで終わりということはあるまいな
- 19 :12/01/27
- >>16
そうだな
OOになびく奴は昔から頭がちょっと弱めが多い
- 20 :12/01/27
- さあ、釣りだ!
- 21 :12/01/27
- >>19
ネタが尽きたら自問自答は定番だよな
- 22 :12/01/27
- PHPを非オブジェクト指向でプログラミングする
それがあるべき理想の姿だな
- 23 :12/01/28
- >>17
パターンは糞。まだ分からんのか。
- 24 :12/01/28
- ほら、これが釣りですよw
- 25 :12/01/28
- Singletonパターンは百害あって一利なし
- 26 :12/01/28
- パターンが糞っていうか、パターンを身につけないと
糞コード化しやすいところが駄目だわ。
- 27 :12/01/28
- >>25
そのように、パターン名に名前がついてるってのは
すごく重要だよな。
もしSingletonパターンという名前が存在しなかったら、
>>25の書き込みを正確に書くことはできるだろうか?
- 28 :12/01/28
- >>27
洗脳されやすいタイプだなw
パターンなんてのが出てくること自体原始的状態だってことだよ。
たらたらとアドホックに追加するだけだろ。10年たったら全部消えてるよ。
- 29 :12/01/28
- >>28
じゃあ10年後にまたおいでw
- 30 :12/01/28
- Singletonパターンの正当な批判・擁護がなされていないのが問題
- 31 :12/01/28
- システムの大半は、データと操作を分離した従来の構造化プログラミングで十分。
オブジェクト指向は動的なポリモーフィズムが必要な一部に局所化して利用するくらいがちょうどいい。
- 32 :12/01/28
- 馬鹿がパズルを生成するだけ
- 33 :12/01/28
- 馬鹿が作ったパズルくらい解けるようにしとけよ
- 34 :12/01/28
- >>4
手続き型の範囲ではないんじゃない?手続き型プログラムは、クラスをがひとつだけのプログラムか、
staticメソッドだけのプログラムと同じなはずだから。
もちろんアセンブラ的なことは考慮しない。
- 35 :12/01/28
- 馬鹿のパズルは論理破綻してるから解けるわけがない
- 36 :12/01/28
- オブジェクト指向プログラミングは間違いだったか?
http://www.infoq.com/jp/news/2010/07/objects-smalltalk-erlang
所謂オブジェクト指向言語はオブジェクト指向してないんじゃないかというなにか
http://d.hatena.ne.jp/Flast/20111206/1323152264
- 37 :12/01/28
- >>34
「・・・ないんじゃない?」って、
「オブジェクト指向言語でも実装できるよ」って意味?
そりゃ当たり前。チューリング等価なんだから。
でもそれは、アンチパターンでいうところの
「抽象化の逆転(Abstraction inversion)」になるね。
- 38 :12/01/28
- 闇のデザインパターン()笑は例えばどんなのがあるの?
- 39 :12/01/28
- >>37
うーん、オブジェクト指向の機能を使って(メッセージ送信とか)を使って、
手続き型と同じことをしようとするなら、その「抽象化の逆転」になるだろうけど、
大半のオブジェクト指向言語は、オブジェクト指向の機能を使わなければ
手続き型言語そのものになるからなんとも。
手続き型の範囲に限定したのはそのため。
関数プログラミングだってメソッドひとつのイミュータブルな
オブジェクトを使えば大体同じことができるけど、それはたぶん
「抽象化の逆転」になるんでしょう。
- 40 :12/01/29
- Delphi好きだよDelphi
- 41 :12/01/29
- ooどころか構造化されてるかどうかさえ怪しいHSPだって
一応プログラムは作れる、ooに拘泥するアホはHSP厨以下
- 42 :12/01/29
- などということを本気で言ってるやつを見てニヤニヤするスレです
- 43 :12/01/29
- 昔は大きなものも小さなものも C で書いていたが
オブジェクト指向言語は小さなものを作るのに向かないので
今は大きなものを作る言語と小さなものを作る言語
最低 2 つの言語を使えないとプログラマとして使い物にならなくなった
- 44 :12/01/29
- C++ でやればいいんじゃね?
- 45 :12/01/29
- >>38
んー・・・
例を挙げると、lisp や JavaScript の実装で使われている
ポインタへのエンコーディングとか、どう?
あれって、何かそれらしい名前がついていたような気がするのだが、
思い出せない・・・
- 46 :12/01/29
- オブジェクト指向の体現度って↓であってる?
C#>Java>>C++
他の候補:F#、Python、Ruby、Scala
- 47 :12/01/29
- >>46
c++は規格のライブラリが貧弱なだけで、抽象度はライブラリによる
vclは優秀だった。。。
最適化でvcに負けたけど。。。
(mfcには負けてない)
- 48 :12/01/29
- vclはPascalって所が欠点だった。
C++のコードデバッグで辿って行ったら途中でPascalになるんだぜ。
あ、Pascalじゃなかった。Delphiという独自拡張された言語。
気持ち悪いったらありゃしない。
- 49 :12/01/29
- >>46
多分、体現度はsmalltalkが一番
その分、仮装OS的なものが必須だし、>>36の上のurl通り、全体をデバッグしてるんだが。。。
データと手続きが一緒になってるせいで並列化にも向かないって話もある
かえって構造化言語のFortlanの方が超並列ライブラリと言う資産でスパコンで現役だったり
Erlangの中の人がデータと手続きは別のものだ。一緒にするべきじゃない!と言ってたり
(日経ソフトウェア2009年6月号だったと思うけど、matzと結城さんの対談の記事で書いてた)
- 50 :12/01/29
- > Erlangの中の人がデータと手続きは別のものだ。一緒にするべきじゃない!
賛成だね。
データの寿命は長いが、手続きの寿命は小さい。
データベースなんか、データ専用じゃないか。
- 51 :12/01/29
- 個人的にはオブジェクト指向言語の生産性はライブラリとジェネリックが肝な気がする
Cでもライブラリ充実させて、ジェネリック(C++ではテンプレート)をサポートすれば、生産性はオブジェクト指向言語と変わらんのじゃ無いか?と言う疑惑は持ってる
(疑惑だけで確証は無いんだが)
- 52 :12/01/29
- OOPLでも手続きの部分はALGOL流のままだ。
smalltalkのように制御構造までオブジェクトという程まで
徹底されてないから手続き型っぽさが抜けない。
- 53 :12/01/29
- >>49
fortlan2003ではオブジェクト指向が導入されたらしい
- 54 :12/01/29
- ずっと気になっているんだが、fortlanじゃなくてfortranじゃね?
- 55 :12/01/29
- >>54
マ板内検索したら、確かにFortranだなw
フォーミュラ何とかランゲッジって覚えてから、lanだと思ったんだが、違ったw
- 56 :12/01/29
- あ、マじゃなくてム板だった
- 57 :12/01/29
- お前ら相変わらず机上の空論ばっかだな
- 58 :12/01/29
- というか、OOもパターンももう終わるし
- 59 :12/01/29
- と言い続けてはや10年。
自分のほうが、この業界から去ってしまいましたとさ。
- 60 :12/01/29
- >>57
オブジェクト指向プログラミングはともかく、オブジェクト指向設計とか、何やねん。って思うよな
クラスベースより、プロトタイプベースの方が再利用できてるじゃねえか。みたいな
クロージャの方が、継承よりも再利用に適してんじゃねぇか。みたいな
どんだけ時間の無駄だったのかと
- 61 :12/01/29
- アスペクト指向ってどうなったの?
- 62 :12/01/30
- プロトタイプベースで再利用ってあまり聞かないな
何の話してるの?
- 63 :12/01/30
- >>1
あるある
んで、決まってOOP以外はソースがダメだダメだみたいな
プログラミングしていくに当たって
設計思考がひとつしかない奴ってどうなの・・・・・・・
確かにOOPは万能で、どんなプログラムもかけるけど、あくまで汎用性が高いだけで
10段階評価で全部7程度なだけ
専門特化した設計思考も選べるなら、そっちでやったほうが効率でるんだよ
そっちは10段階評価でひとつだけ10を取って他を3くらいにするような感じ
そもそも関数型()っていう言葉があるのも、変な話
だって、関数っつったらプログラミングの最小単位だからな・・・?wwwwwwwww
関数のところまで分解して考えられるなら、そこからどんな設計思考だって作れるよ
一々、その設計思考に名前をつける事のほうが変な話、無限のパターンがあるのに
それにも気づけず、OOPしか出来ない奴、思いつかない奴、
かなりマジレスしてみた
- 64 :12/01/30
- いろいろ残念な人のようだ
- 65 :12/01/30
- 最小単位が関数型?
- 66 :12/01/30
- >>61
どうもなるはずないよ。
OOP、デザパタ、AOPなどなど、ほんとソフトウェア工学は他で使えない頭の弱い連中が
やりちらかしてきた歴史だな。そろそろ仕分けしろよ。
- 67 :12/01/30
- ほらみて。これが釣りだよ。
- 68 :12/01/30
- ほんとだ、>>67 がきっちり釣れてるね。
- 69 :12/01/31
- oopやデザパタのメリットは低能でも分かった気になる事
関数型ではこうはいかない
- 70 :12/01/31
- >>69
関数型言語の場合、まんま数学で言う特殊から一般へ。と言う手法が使えるから楽だよな
- 71 :12/01/31
- >>70
なるほど。特殊から一般だな。分かった気になったぞw
- 72 :12/02/06
- 関数型って要するにSQLみたいなもんだろ、大丈夫、わかるわかる
- 73 :12/02/06
- 副問合せが理解できれば関数型も理解できるって寸法か
これで俺もいつ関数型言語の仕事がきても大丈夫だな
- 74 :12/02/21
- ポリュモルピスムス(笑)
- 75 :12/02/25
- モジュラー指向プログラムとオブジェクト指向プログラムの違いがわからん。
とりわけFortranの場合、90でモジュールが導入されて、モジュールの中に
手続きが書けるようになったが、さらに2003で構造体の中にも手続きが
書けるようになった。2通りの手続きを束ねる手段があって、冗長に思える。
- 76 :12/02/25
- >>75
過去のやり方を無かったことにはできないから互換性のために残してんじゃないの。
- 77 :12/02/25
- fortranさわったことないけど
演算子オーバーロードできるなら
オブジェクト指向の使い道はあると思う
- 78 :12/02/26
- >>77
javaは使い道ありませんかそうですか
- 79 :12/02/29
- >>77
あるよ。さらに利用者定義中置演算子が定義です。ただし、これは2003の
オブジェクト指向の上に載っているのではない。Fortranには伝統的に
「総称名」という概念があって、cos(x)と書くと、xが単精度であれば、
cos(x)[字面が同じで紛らわしいが別のもの]、倍精度であればdcos(x)に
コンパイル時にディスパッチする。
95これを利用者定義型できる。具体的には、それぞれの型ごとに
同じ形式を持つ手続きをそれぞれ定義して、これらにひとつの総称名を
割り当てるという形をとる。このとき、総称名の代わりに演算子を
割り当てることができる。
>>78
Javaが演算子再定義を持たないのは、これこれで言語仕様を簡潔に保つ
という上で適切な解だと思う。メソッド名が長いのはいとわず、英文で
説明するように処理を記述することを期待しているようなので、演算子
は削ってもいいだろう。
- 80 :12/02/29
- Javaはドカタ用言語なので、演算子オーバーローディングまで出来てしまったら
ドカタが混乱する。
出来ないのが正解。
- 81 :12/02/29
- >>80
演算子オーバーロードをなにか特殊なものだと思ってるの?
- 82 :12/02/29
- >>81
まともなプログラマなら思わないけど、ドカタは思うだろう
…と言う意味では
- 83 :12/02/29
- あぁ、自分でドカタ=混乱する人と定義してるのかw
- 84 :12/02/29
- まあオブジェクト指向は最高ってことですねw
高慢と偏見(1)隣は何をする人ぞ
http://el.jibun.atmarkit.co.jp/pressenter/2010/11/1-828a.html
- 85 :12/03/02
- ぼくのかんがえたすごいオーバーロードが蔓延るのはよくないと考えたからJavaには無いんだろ
どこかの「ぼくがしんかさせたすごい言語」状態のゴミになるのを避けるために
- 86 :12/03/02
- ぼくのかんがえたすごいフレームワークが蔓延るのは防げないのであった。
- 87 :12/03/02
- ぼくのかんがえたすごいメソッドと何が違うのかわかりませんw
- 88 :12/03/04
- オブジェクト指向の弊害は、バグが生じた理由を設計が悪かったの一言ですますこと。
単に力量不足、柔軟な機動力不足だろうと思ったり。
あと、設計に時間とって、UMLみたいなお絵かきを自慢げに出すようになったこと。
そんなの書くのに時間とるやつより、ちょっぱやな動作デモを即効作ってくるタイプと仕事してる方が楽しいのにな。
- 89 :12/03/04
- ダクトテーププログラマが役に立つのは同意だが
オブジェクト指向の弊害云々はオブジェクト指向以外にも当てはまるからいまいち
- 90 :12/03/04
- お絵かきはシステム構造図だとかDFDだとかフローチャートだとか
昔から沢山あるだろ。むしろ昔のほうが多かったぐらい。
- 91 :12/03/04
- > ちょっぱやな動作デモを即効作ってくるタイプ
「動いてるからいいじゃん」タイプか。
そういう奴に任せると、後で苦労するぞ。
- 92 :12/03/04
- 判断基準が楽しいかどうかだしな
趣味なら別にいいが、仕事では相手にしたくないわ
- 93 :12/03/04
- デモはデモだろ
「金払ってるからいいじゃん」タイプか
そういう奴に仕事もらうと、後で苦労するぞ。
これが問題なんだ
- 94 :12/03/04
- 再利用できるコードより、部分てきに切り貼りしたり、あるいは一から書き直しても早くできる人が役に立つでしょう。
他とのインターフェースだけオブジェクト指向とかできれいにしてりゃいいよ。
オブジェクト指向じゃないコードをバカにするわりには、面白いコードもかけない人の方が、
なんだかんだ理由をつけて進捗のボトルネックになることが多いよ。
- 95 :12/03/04
- なんというか、あくまで基礎がある上でのオブジェクト指向だな。
基礎がないのに、オブジェクト指向な人が多いから、混乱するだけど、OOが悪いわけじゃないな。
- 96 :12/03/04
- >>88
> ちょっぱやな動作デモを即効作ってくる
そが即効なのは「後で変更する人たちに工数を押し付けた」結果だったりするからな。
納期直前とかならそういうやり方もありだけど、普通はOOに限らず影響範囲が小さくて済むよう
それなりに設計するもんだ。
- 97 :12/03/04
- >>96
その言い方をするなら、即効で仕上げて、あとで変更する人たち余裕を与えたともいえる。
ある設計が変更に耐えられる確率を定量的にいえるなら設計に時間与えてもいいけど、
いえる人っていないでしょ。
設計に時間与えたのに、あとでバグが生じて、設計が悪かったとかいうのを何度かみたよ。
- 98 :12/03/07
- >>97
> ある設計が変更に耐えられる確率を定量的にいえるなら
結合度とか凝集度がそれにあたるな。
> 設計に時間与えたのに、あとでバグが生じて、設計が悪かったとかいうのを何度かみたよ。
設計が甘かったために、ひとつのバグ修正が2つのバグを産むという例のほうが
よっぽど多いけどなw
- 99 :12/03/07
- 一発で設計が上手くいくようなら、ウォータフォールでいいよね
OOPってアジャイルな開発には向いてないの?
- 100read 1read
- 1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
CLDC+MIDP+携帯電話用Javaスレッド part 9 (919)
Visual Studio 2010 Part18 (965)
Java系スクリプト言語Groovy (748)
【最速へ】LowLevelVirtualMachine【LLVM】 (449)
PureBasic (130)
ポインタを難しいと言う奴が理解できない (797)
--log9.info------------------
■■ 赤面症 (顔面紅潮・のぼせ) その6 ■■ (963)
【教祖劣化】稲垣式健康法7【回転式】 (666)
口臭スレッド {重度専用スレ} その1 (255)
フケ・痒みがとまらない Part17 (369)
【わかりにくい】膵臓・膵炎12【すい臓病】 (455)
***梅毒陽性反応でちゃいますた 6*** (357)
鼻くそ食べる癖がやめられない!6食目 (542)
●▲■ 慢性腎炎 14 ■▲● (786)
魚臭症 Part7 (497)
【社会人専用】過敏性腸症候群ガス型 Part4 (278)
【トイレより】下痢真っ最中の人雑談コーナー【発信】12 (256)
【耳】耳鳴り頭鳴りで悩んでいる人…その31【鳴】 (100)
【グゥゥ】お腹が鳴る9回目【ギュルル】 (267)
【矯正】顎変形症・受け口【手術】Part36 (477)
【足の裏が】足底腱膜炎【痛む】3足目 (551)
【TFT】タッピングセラピーについて【EFT】 (136)
--log55.com------------------
MONOEYES #14
東京ゲゲゲイ [無断転載禁止]★3
GLAY統一スレ810
ゲスの極み乙女。62
赤い公園 12
ストレイテナーPart104
【天使の】いきものがかり244班【ボーカル】
ONE OK ROCK 205o'clock
-