1read 100read
2012年3月プログラム106: オブジェクト指向は本当に正しいのか? (234) TOP カテ一覧 スレ一覧 2ch元 削除依頼
どうせ暇だしFirefoxのアドオン作るわ (478)
リファクタリングをただのコード修正と思ってる人へ (267)
C/C++の宿題片付けます 156代目 (769)
ネットワークプログラミング相談室 Port27 (846)
SDL=Simple DirectMedia Layerでゲームだ (522)
Visual Studio 2008 Part 21 (537)

オブジェクト指向は本当に正しいのか?


1 :12/03/11
議論する

2 :12/03/11
このスレッドは天才pンジー「アイちゃん」が
言語訓練のために立てたものです。
アイと研究員とのやり取りに利用するスレッドなので、
関係者以外は書きこまないで下さい。
                  京都大学霊長類研究所

3 :12/03/11
高慢と偏見(1)隣は何をする人ぞ
http://el.jibun.atmarkit.co.jp/pressenter/2010/11/1-828a.html
 高学歴で長い経験に自信を持つエンジニアは他人の話を聞かなくなる、
というのは広く世に知られた真理の1つである。
 K自動車ICTシステム部の三浦技術担当マネージャは、そのようなエンジニアの生き見本のような人だった。
初めに言葉ありき。私が聞いた三浦マネージャーの最初の言葉はこうだ。
 「オブジェクト指向など、実業務では使いものにならない!」
 私は思わず手を止めてしまい、壁を見つめた。
 隣に座っていた男性プログラマも同じように手を止めて、まるで隣の会議室が見えるかのように壁をまじまじと見つめている。
 声は続いている。
 「オレはもう20年以上システム業界にいるけどな、その長い経験から言うと、オブジェクト指向なんてものは、
理論としては面白いけど、およそ実用的とは言い難いものだな。まぁ、例えばGUIのコンポーネントとかは
オブジェクト指向に基づいて作られているようだから、そういうツールとかを作る人には必要なものなのかもしれない。
しかし君たちがいずれ作ることになる業務アルゴリズムにはまったく無縁のものだと思ってもらって間違いない。
どうもこの業界、オブジェクト指向でなければダメ、というような風潮がまかりとおっているけどな、
オブジェクト指向なんか本当に使っている人はほとんどいないよ。オレも少し勉強してみたけど、カプセル化とかポリ何とかとか、
どうにも利点が理解できなかったね。実際、実業務で使ったことなどないしな……」
 おいおいおいおい。私は思わず壁の向こうの顔も知らない講師に突っ込んだ。もちろん心の中で、だが。
 ――あなたはオブジェクト指向をほとんど使ったこともないくせに、
オブジェクト指向は「使えない!」と断言しているわけですか?

4 :12/03/11
そんなことより、手続き型、オブジェクト指向、関数型に代わる新しいパラダイム考えようぜ

5 :12/03/11
高慢と偏見(終) エピローグ
http://el.jibun.atmarkit.co.jp/pressenter/2011/02/post-6b95.html
 疲労による脱落者を数人出しながらも、3月末に何とかカットオーバーした――というかさせた――新部品調達システムは、
4月1日に本番稼働した。三浦マネージャは自分の功績を大いに吹聴したらしいが、
その栄華はほとんど1日しか続かなかったとのことだった。
 初日から立て続けにいくつかの機能でトラブルが発生した。最初のうちは、本番サーバと予備サーバを切り替えることでしのいでいたものの、
数日後に、とうとうシステムを停止せざるを得なくなった。同じようなコードをコピペして、複数のモジュールで使っていたため、
バグが複製されてしまったのが原因だったようだ。無用なドキュメント作成に時間を取られたために、
十分なテストができなかったことも遠因だったに違いない。数々のトラブル対して、
大量のドキュメントがまったく役に立たなかったのは言うまでもない。
 それでも三浦マネージャは、「この程度のバグは、新しいシステムの初期段階では大抵起こりうる程度にすぎない」などと
強気な発言をしていたらしい。が、バグを修正することが新たなバグを作り込んでしまうという悪循環が続き、
新部品調達システムは、予定の半分以下の機能だけが辛うじて稼働しているだけになってしまった。
 とうとう業を煮やした経営層が、トラブルシューティング専門のコンサルティング会社に、システム全体の調査を依頼した。
三浦マネージャはICTシステム部だけで対応できると言い張ったらしいが、すでにその言葉を額面どおりに受け取る人間は少なくなっていた。
 ソースを調査したコンサルティング会社のエンジニアは、あまりに効率の悪い
前時代的なコーディングに絶句したらしい。そりゃそうだろう。私だって、事前知識なしであのソースを見たら驚く。
 「時代錯誤も甚だしい」
 「保守性というものをまった考慮していない」
 「最低でも6カ月を要する、根本的な大改造が必要」

6 :12/03/11
 最新の日記は、
 「オブジェクト指向など、実業務では使いものにならない!」
 間違いない。あの人だ。
 日記の内容はというと、「私は20年以上、企業システムのプログラミングを続けているが、
その中でオブジェクト指向などというものが役に立ったことは一度もない」と始まっていて、
 「staticを使えば、わざわざインスタンスを作る必要などない」
 「独自にクラスを作る必要などない。クラスは使うものだ。作るものではない」
 「20年にわたる経験から明白である」
と、どこかで聞いた言葉が並んでいる。
 吹き出したのは、
 「……私はカプセル化もポリモリズムも意味がよく理解できなかった。従って私はこれは不必要なものだと結論づけた……」
のくだりだった。案の定、コメント欄は炎上状態だった。
最初の方では、懇切丁寧にオブジェクト指向の利点を解説してくれている人たちもいたのだが、
 「あなたの経験は何年だ? 私は20年だ」
 「あなたの出身校はどこだ? 私はT大学大学院卒だ」
 「あなたはSIerだろう。私は客側の人間だ。客の言うことは絶対だ」
などのように、火に油どころか爆弾を投下するような発言が続いたため、親切なコメントはなくなっていた。
 その後も、たまに覗いてみると、
 「ベテランが提案する非オブジェクト指向開発」
 「使えるパターンと使えないパターン」
 「デザパタなどは時間の無駄である」
といったタイトルの日記が定期的に更新されていた。中身はというと、自分が理解できないことを経験だけで批判しているか、
オブジェクト指向を解説しているWebサイトのささいな誤字脱字を針小棒大に批判するか、どちらかでしかなかった。
 たまに別のWebサイトのコメント欄に、オブジェクト指向批判を書くこともあった。当然、技術的な裏付けも何もない、
思い込みによる批判だから、正論で完膚なきまでに叩きのめされてしまう。正面から議論を展開できるだけの知識がないから、
スリービーチさんにできることは、「その日本語はおかしい」とか「若い人はすぐに感情的になるから議論にならない」などと、負け惜しみを書くことだけだった。

7 :12/03/11
クラスの継承で再利用できるってこと実務でありえるの?

8 :12/03/11
どんな糞職場で働いてんだ。

9 :12/03/11
>>4
すでに俺は考えてある。

10 :12/03/11
>>8
まともな職場教えてくれよ。

11 :12/03/11
>>7
社内用のライブラリとか無いのか?

12 :12/03/11
長文が貼ってあるけど
プロジェクトが破綻した理由とオブジェクト指向やデザパタがつながってないように見える

13 :12/03/11
今、アプリ開発でフレームワークを使わないことは
まず無いと思うけど、ちょっと前までは自前で作ってた。
フレームワークのコードを見ればわかるけど
継承や各種オブジェクト指向のオンパレード。
それ(フレームワーク)によって何が持たされるかというと、
大幅な開発効率の向上。
あるものを使ってるだけだと、オブジェクト指向の恩恵に
気づかないかもしれないけど、自分でフレームワークに近いものを
作るようになれば、そのメリットが分かる。
ようは下っ端はわからない。

14 :12/03/11
単なる老害が関わったせいでプロジェクトが崩壊する典型的な一例だな
こういった老害は、どんな方法論を与えても同じことを繰り返す

15 :12/03/11
アプリそのものの実装で、再利用を考えた設計をすることってあんまないな
ライブラリ作るときは使いまくるけど

16 :12/03/11
>>15
似た奴を2個目つくるときは再利用するだろ。で、3個目も考慮して一部ライブラリ化される。

17 :12/03/11
アプリそのものを単純に作れるようにするために、
共通部分をライブラリやフレームワークとして分離する。
そのライブラリやフレームワーク側でオブジェクト指向を使う。
だから、それらを使うだけの人は、誰かが頑張ってくれたお陰で
自分は単純に作れると知りましょう。

18 :12/03/11
>>13
そうかなぁ?
それらを非オブジェクト指向でラップしちゃってもやっぱり同じことになると思うよ
オブジェクト指向関係ないじゃない

19 :12/03/11
オブジェクト指向でも最近は継承使わずに委譲だな
委譲を使って必要なメソッドだけを使って必要なメソッドだけを実装するほうが、仕様が爆発しなくて済む。
継承だと親のメソッドを引き継いで、下流が「なんかこんなメソッド有ったんで使っときましたよ^^」「はぁ仕様書に書いてないだろ」「いや、つかえましたよ^^」とか面倒な事が減る

20 :12/03/11
>>19
javaにはC++のような多重継承がない。
これは多重継承みたいな事をやりたいときは多重委譲にしろって事なのかもね。
でも委譲で十分じゃんとは思う。オーバーライドの整合性を考える余計な労力が減るし。

21 :12/03/11
俺はライブラリ制作側と使う側のスタイルは分けて考えないとダメだと思ってる
俺等は使う側なので極度の抽象化は作業効率が落ちるだけ
それとライブラリ制作にもまた複数あると思う
MSみたいに一度リリースしてしまったら不具合も含めて仕様・・・となってしまうライブラリ制作と
同じ会社のどっかのライブラリチームみたいに不具合がみつかり次第修正
仕様も簡単に変えて修正してもらいますじゃ適用するもんが全然違う

22 :12/03/11
>>18
そりゃ、使う側から見れば
おなじに見えるだろうなw
だけど、作る側の開発効率がぜんぜん違うわけで。
オブジェクト指向は言語にあらず。
非オブジェクト指向言語でも
オブジェクト指向で作られてる。
オブジェクト指向で作るならば
オブジェクト指向言語が相性がいい。

23 :12/03/11
>>22
じゃ、MSのライブラリを使ってるという視点でみれば
必ずしもオブジェクト指向は正しい選択じゃないと
そういえるわけだよね?

24 :12/03/11
>>21
> 俺はライブラリ制作側と使う側のスタイルは分けて考えないとダメだと思ってる
> 俺等は使う側なので極度の抽象化は作業効率が落ちるだけ
極度の抽象化が必要になったら、それはライブラリとして
分離するべき所ってこと。そうすればもっと作業効率が上がる。
だがまともな技術とセンスを持った人がいなければ使いにくいものができてしまう。
だけどそれはただだの、「技術力が低いと使いにくいものが出来る」という
当たり前の話しに過ぎない。

25 :12/03/11
>>24
>だがまともな技術とセンスを持った人がいなければ使いにくいものができてしまう。
その場合のオブジェクト指向の使用の有無はどういう風に影響を及ぼすわけ?
とりあえず会社的には特定の技術者に特別な処置をしてもらうよりも
馬鹿を長時間働かせて解決する方向へもっていきたいと考えるようだから
ご立派な人にしか理解できないはメリットにはならないと思うが
オブジェクト指向は人を選ぶのだろうか?

26 :12/03/11
>>23
それは正しいかどうかを語る資格が無いだけ。
飛行機に乗るだけの俺が
航空理論はほんとうに正しいのか?なんて
議論しても意味がないだろう?
俺は航空理論を使ってなくても、飛行機乗れるといっても
何の説得力があるだろうか。
オブジェクト指向が正しいかどうかを語っていいのは、
オブジェクト指向を適用するライブラリや
フレームワーク開発者だけだ。

27 :12/03/11
>>25
だから、お前には無関係の世界なんだろ?
それだけだよ。
無関係の人は語らないでくれ。
ただ、便利なライブラリやフレームワークを
作ってる人たちに感謝するのは忘れるなよ。
お前が感謝している人たちが感謝をしている
オブジェクト指向を信じろ。

28 :12/03/11
.net Frameworkの開発者ぐらいしか発言できないなこのスレw

29 :12/03/11
>>27
なんで怒ってるの?
MSの社員じゃないと発言できないぜ?

30 :12/03/11
.net frameworkだけがライブラリやフレームワークなのだろうか?

31 :12/03/11
>>29
なんで、MSの社員じゃないと発言できないって思い込んでるの?

32 :12/03/11
社内のショボ宴Cブラリをフレームワークと表現するかい?
とりあえずどの規模からフレームワークと定義するの?
俺の休日に作ったコントロールのイベントをすべて監視してログに残すdllもフレームワークでおk?

33 :12/03/11
ちまちま議論してないでacmの論文でも探して読めよ^^

34 :12/03/11
> 社内のショボ宴Cブラリをフレームワークと表現するかい?
しない。
なぜなら「ショボチン」だから。
逆に言えば、ショボチンでなければ
ライブラリ(フレームワーク?)と表現する。

35 :12/03/11
>>34
ショボチンとデカチンの基準を決めてくれるかい?

36 :12/03/11
> コントロールのイベント
これ、オブジェクト指向だろ?w

37 :12/03/11
>>35
あぁ、ソムリエじゃないと
ワインの味はわからないよねw

38 :12/03/11
>>32
それはただのアプリケーションだろ。

39 :12/03/11
>>36
え?
今はライブラリやフレームワーク開発者じゃないと
このスレで語るに値しない
って発言から参加権があるかどうかを決定してるのだよ
君は話がわかっているのかい?

40 :12/03/11
>>22を見て思いついたんだが、>>6 の老害は、
非オブジェクト指向言語でやるようなオブジェクト指向プログラミングを、
オブジェクト指向言語でやってたりするんだろうか。

41 :12/03/11
>>39
うん。感謝はしろ。
だけど、良し悪しは語るな。

42 :12/03/11
>>41
は?
日本語でおkよ?

43 :12/03/11
だからオブジェクト指向を使うような
仕事をしていないで、
単に(オブジェクト指向で作られたものを)
使うだけのやつは語る資格ないってことだよ。
お前が便利に使っているものに
オブジェクト指向が使われてるのに
それを否定して説得力があると思うか?

44 :12/03/11
>>43
関係ないラインがあるってさっき自分で言っただろw
だからライブラリ、フレームワーク開発者に参加者を絞ったんだろ
自分で言っといて忘れるなよクズ

45 :12/03/11
もう>>1のQ全部むしりたくなってきた
発言があまりにもクズ過ぎる

46 :12/03/11
>オブジェクト指向は正しいか。
コンパイラーがエラーを出さない限り正しい。

47 :12/03/11
実はオブジェクト指向ってしっくりこないんです

48 :12/03/11
どこらへんがしっくりこないのか気になる。

49 :12/03/11
オブジェ区都市高

50 :12/03/11
staticおじさんは他人のブログに糞コメ混ぜてくるから困る

51 :12/03/11
自分の庭で暴れても相手にされなくなったんで、でばって暴れて回ってるのかw
悪名が広まって結構なことだ。

52 :12/03/11
実は構造化ってしっくりこないんです、って若いころおっさんが言ってたら
ムキになって否定してそうなのが余計ムカツクこのタイプ。

53 :12/03/11
gotoを使うなとかbreakを使うなとか、そういうおかしい人とは関わりたくないな。
こんなのがいると、ifの行の最後にに{を書く奴がマシに見えてしまう。

54 :12/03/11
 ショボチンでも要件みたせるなら、それはそれで有りだと思う。
下手に凝って、納期を外したらあほやろ? ニーズに応じて作りこんで行けばいい。

55 :12/03/11
if の行の最後に { は、C の神様が C の次に作った limbo や、
その次に作った Go でそういう風に構文を変更した程だぞ。

56 :12/03/11
そりゃ失策だ。

57 :12/03/11
if () {
}
else if () {
}
普通降格だろ?

58 :12/03/11
いや、こうだな
if () {
} else if () {
} else {
}

59 :12/03/11
多様性を使ってif自体を消しておこうか。

60 :12/03/11
せっかく匿名ifが使えるんだからそうさせてくれよ

61 :12/03/11
oh!豚痔ェ苦怒嗜好

62 :12/03/11
そんなに漢字が好きなら中国にでも行くといいよ。

63 :12/03/11
高慢と偏見(1)隣は何をする人ぞ
http://el.jibun.atmarkit.co.jp/pressenter/2010/11/1-828a.html
 高学歴で長い経験に自信を持つエンジニアは他人の話を聞かなくなる、
というのは広く世に知られた真理の1つである。
 K自動車ICTシステム部の三浦技術担当マネージャは、そのようなエンジニアの生き見本のような人だった。
初めに言葉ありき。私が聞いた三浦マネージャーの最初の言葉はこうだ。
 「関数型言語など、実業務では使いものにならない!」
 私は思わず手を止めてしまい、壁を見つめた。
 隣に座っていた男性プログラマも同じように手を止めて、まるで隣の会議室が見えるかのように壁をまじまじと見つめている。
 声は続いている。
 「オレはもう20年以上システム業界にいるけどな、その長い経験から言うと、関数型言語なんてものは、
理論としては面白いけど、およそ実用的とは言い難いものだな。まぁ、例えばパーサコンビネータなんかは
関数型言語が向いてるみたいだから、トイ言語を作る人には必要なものなのかもしれない。
しかし君たちがいずれ作ることになる業務アルゴリズムにはまったく無縁のものだと思ってもらって間違いない。
どうもこの業界、関数型言語でなければダメ、というような風潮がまかりとおっているけどな、
関数型言語なんか本当に使っている人はほとんどいないよ。オレも少し勉強してみたけど、モナドとか参照透明性とかモノイドとかとか、
どうにも利点が理解できなかったね。実際、実業務で使ったことなどないしな……」
 おいおいおいおい。私は思わず壁の向こうの顔も知らない講師に突っ込んだ。もちろん心の中で、だが。
 ――あなたは関数型言語をほとんど使ったこともないくせに、
Haskellは「使えない!」と断言しているわけですか?

64 :12/03/11
>>63
こちらにどうぞ。
http://toro.2ch.net/test/read.cgi/tech/1331328955/

65 :12/03/12
オブジェクト指向プログラミングは間違いだったか?
http://www.infoq.com/jp/news/2010/07/objects-smalltalk-erlang

66 :12/03/12
マ板か、ここ

67 :12/03/12
いや、プ板だ。

68 :12/03/12
aとtheの区別がつかない日本人には基本的に必要ない機能だよねコレw

69 :12/03/12
またstaticおじさんか

70 :12/03/12
ポリフォーリズムは正しい

71 :12/03/12
パラダイムの一つでしかないんだから正しいも糞もない
効率が良いと思う人が使えばいいだけの話

72 :12/03/12
オブジェクト指向は役に立つという迷信は本当に正しいのか?

73 :12/03/12
世の中からオブジェクト指向でできたものを
取り除こう。

74 :12/03/12
オブジェクト指向だと思っていたらただの構造化だった

75 :12/03/13
クラス図を書いたと思ったら、ただのE-R図だった。

76 :12/03/13
せいぜい100個しか変数の動きを追えない俺が
100万行以上のプログラムを開発できるのはOOPのおかげ。

77 :12/03/13
>>73
世の中のOSからウィンドウシステムが消えそうだな

78 :12/03/13
>>72 おまえの脳味噌が迷信、というのが正しいよ。

79 :12/03/13
>>72 に脳味噌があるなんて迷信だった

80 :12/03/13
>>77
ウィンドウハンドラなんて概念を持ってるくらいだし、あれはオブジェクト指向じゃない。

81 :12/03/13
ハンドラ持つとオブジェクトじゃない!入りました〜

82 :12/03/13
ウインドウ "メッセージ" ハンドラ な
ちまたにあふれるニセooよりよほど忠実

83 :12/03/13
ちまたにあるれるニセoo
って例えば何だよ

84 :12/03/13
private:
public:
こんなやつ

85 :12/03/13
bless

86 :12/03/13
Perl6のキャメルブックまだー?

87 :12/03/13
言語とか環境によるかもしれないけど
ファイルアクセスもオブジェクト指向に近い

88 :12/03/14
ファイルへのアクセスは
シェルスクリプトやバッチファイルでは非OOP的だけど
大半のプログラミング言語はOOP的なところあるよね

89 :12/03/14
様々な対象をファイルとして抽象化するのが
極めてオブジェクト指向的

90 :12/03/14
そもそもファイルをファイルとして扱うのがオブジェクト指向的じゃない

91 :12/03/14
>>89-90
どっちだよw

92 :12/03/14
ストリームならOKなん?

93 :12/03/14
ストリームでファイルでもオブジェクト指向的に扱うことは可能。
ストリームやファイルそのものがオブジェクト指向かどうかは関係ない。
Cのファイル操作関数は非オブジェクト指向、
Javaだとストリームはオブジェクト、ファイルもオブジェクトっぽく扱える。
しかし読み込みなどのやり方がいかにもな手続き型。

94 :12/03/14
?
fopenでインスタンス生成
以後生成したインスタンスを渡してサービスを呼び出す
オブジェクト指向だと思うが

95 :12/03/14
fopenっていうかその先のOSのシステムコールの中身が
関数ポインタ+構造体でまんまオブジェクト指向な作りになってるよ

96 :12/03/14
fopenとpopenで同じ関数が使えるところは多態だよな

97 :12/03/15
多態と言えばstdoutだろやっぱ
コンソール出力とファイル出力とパイプ出力なんて全く別のものなのに

98 :12/03/15
インターフェースの標準化、抽象化が目指すのは多態ではあるが、オブジェクト指向では無い。

99 :12/03/15
理由を示すことはできないが、オブジェクト指向では無い。

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
ゲームプログラムなら俺に聞け23 (710)
【日本携帯】Mascot Capsule/Micro3D【標準】 (156)
自動巡回ソフトを作りたい。 (371)
Visual Studio 11 Part1 (163)
【GPGPU】くだすれCUDAスレ part5【NVIDIA】 (608)
Java系スクリプト言語Groovy (748)
--log9.info------------------
【SM】ソウルマスター -Soul Master- Part12 (298)
サドンアタック引退するやつアカウントくれ (251)
【ハンゲ】わくわくフィッシング (608)
モバゲーに月いくら金使ってる? (156)
【グラボ】真・三国無双Online PCスレ 5台目 (242)
【Xbox360】Forza Motorspor 4 オンライン【3周】 (425)
ハンゲームの大富豪 強さ議論隔離スレ (666)
【MF】モンスターズファンタジー (578)
ai sp@ce アイスペース Phase98 (908)
アヴァロンの鍵 Online part47 (721)
【CSO】 Co-op専用スレ Part4 (979)
【Xbox360】バーチャロンオラタン PT募集スレ4 (490)
【リヴリー】マターリしようよ (ヽ'ω`)250【Livly】 (938)
ぷよぷよ2ちゃんねる総合スレ (187)
【女性会員】サミー777タウン雑談スレ2【限定】 (849)
トイウォーズ 垢くれくれスレ (112)
--log55.com------------------
【緊急】ヘイト議員の杉田水脈さん終了、自民党幹部から議員辞職、離党勧奨 ソースは読売系列
「今日は食っていいの?」「おかわりもいいぞ」胃破裂虐待死男児。満腹状態で踏みつけられたか
【悲報】韓国企業、ラオスにダムではなくて湖を作ってしまう
米メディア、選挙を前にトランプ大統領の実績を報じず架空のロシア疑惑ばかり報道 メディア敵視強まる
大塚久美子社長が苦しんでる。誰か助けてあげて
酷暑で蚊が減った
子供の頃のあだ名、絶対に笑わないから書いて立ち去れ
警官「ダウン症が銃持っとるやんw撃ち殺したろww」おもちゃの銃所持で死亡