カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。
偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
探検
オブジェクト指向ってクソじゃね?
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/08/24(金) 13:32:09.36ID:ifygL6bT139デフォルトの名無しさん
2018/09/21(金) 19:22:25.43ID:+zpU6K4O オブジェクト指向は複雑な構造を構築するわけだから
別に破綻はしないだろう
むしろ見た目は良い
別に破綻はしないだろう
むしろ見た目は良い
140デフォルトの名無しさん
2018/09/21(金) 20:28:00.82ID:qgyq16h9 オブジェクト指向の弱点はクラスとクラス間の関係を設計しないといけないこと
141デフォルトの名無しさん
2018/09/21(金) 20:46:48.28ID:qgyq16h9 小規模ならいいが大規模だと設計必須
とりあえず書き始めると最後に詰まるのがオブジェクト指向
小っちゃいパーツを作ってって最後に組み合わせるとき全然組み合わなかったり
つなぎ目の形が合わないのがオブジェクト指向
普通は小さいパーツが出来てるならある程度楽できるはずなのに逆に苦しくなる
本当におかしい
とりあえず書き始めると最後に詰まるのがオブジェクト指向
小っちゃいパーツを作ってって最後に組み合わせるとき全然組み合わなかったり
つなぎ目の形が合わないのがオブジェクト指向
普通は小さいパーツが出来てるならある程度楽できるはずなのに逆に苦しくなる
本当におかしい
142デフォルトの名無しさん
2018/09/21(金) 20:51:36.57ID:qgyq16h9 クラスの関係の設計を軽減するためにクラスには最低限の機能しか実装しないようになっていく
インターフェイスを考えた上の設計がないと後で詰まる
当たり前に思ってるけどそれはオブジェクト指向の限界というか弊害
インターフェイスを考えた上の設計がないと後で詰まる
当たり前に思ってるけどそれはオブジェクト指向の限界というか弊害
143デフォルトの名無しさん
2018/09/22(土) 08:52:06.62ID:seN9Vjts つまりクラス間の関係を排除して、Mix-inだけできるようになればいいのかな
144デフォルトの名無しさん
2018/09/22(土) 09:44:45.27ID:jtQ8570T >>140
境界定義なんて、モノリシックアプリでも必須なんだが?
その認識もないままオブジェクト指向とかマイクロサービスに手を出すとグダる。
開発チームを苦しめるマイクロサービス(翻訳)
https://techracho.bpsinc.jp/hachi8833/2018_01_29/51135
境界定義なんて、モノリシックアプリでも必須なんだが?
その認識もないままオブジェクト指向とかマイクロサービスに手を出すとグダる。
開発チームを苦しめるマイクロサービス(翻訳)
https://techracho.bpsinc.jp/hachi8833/2018_01_29/51135
145デフォルトの名無しさん
2018/09/22(土) 09:58:06.00ID:LHC7cNdc146デフォルトの名無しさん
2018/09/22(土) 14:09:59.67ID:ycLOp2uz147デフォルトの名無しさん
2018/09/22(土) 15:20:24.84ID:LHC7cNdc >>146
そりゃ大規模プログラムをメンテナンス性あげて作ろうとしたら
オブジェクト指向に限らず、考えなきゃいけないことだろな。
でも破綻していいなら、別に抽象的間接的に作らなくていい。
小さなツール程度ならゴットクラスで破綻状態でもなんとかできるだろうさ
そういう点で、オブジェクト指向の限界でも弊害でも何でも無い
そりゃ大規模プログラムをメンテナンス性あげて作ろうとしたら
オブジェクト指向に限らず、考えなきゃいけないことだろな。
でも破綻していいなら、別に抽象的間接的に作らなくていい。
小さなツール程度ならゴットクラスで破綻状態でもなんとかできるだろうさ
そういう点で、オブジェクト指向の限界でも弊害でも何でも無い
148デフォルトの名無しさん
2018/09/23(日) 01:13:41.68ID:MlhnYRcx >>147
いや俺の言う破綻てのは別にオブジェクトオンリーにこだわって
細かいとこをクロージャで逃げたり、その場しのぎ的に小さいオブジェクトで茶を濁すのもダメって意味じゃないんよ
小さいオブジェクトならオブジェクト同士やシステムが密結合になりえないだろうしな
オブジェクト指向の問題や破綻てのはやはし密結合の時にだけ起こるな
いや俺の言う破綻てのは別にオブジェクトオンリーにこだわって
細かいとこをクロージャで逃げたり、その場しのぎ的に小さいオブジェクトで茶を濁すのもダメって意味じゃないんよ
小さいオブジェクトならオブジェクト同士やシステムが密結合になりえないだろうしな
オブジェクト指向の問題や破綻てのはやはし密結合の時にだけ起こるな
149デフォルトの名無しさん
2018/09/23(日) 04:48:40.07ID:N8r2Gw6d > オブジェクト指向の問題や破綻てのはやはし密結合の時にだけ起こるな
因果関係が逆
密結合の時・・・問題や破綻が起きる(オブジェクト指向に限らない)
話はこれだけだろう?単純だろうが
因果関係が逆
密結合の時・・・問題や破綻が起きる(オブジェクト指向に限らない)
話はこれだけだろう?単純だろうが
150デフォルトの名無しさん
2018/09/23(日) 10:01:28.60ID:y+eZw7HP 普通に組めばいいじゃん
151デフォルトの名無しさん
2018/09/23(日) 11:37:45.64ID:0vXeudiz >>149
おまえめちゃめちゃバカやなw
おまえめちゃめちゃバカやなw
152デフォルトの名無しさん
2018/09/23(日) 12:09:34.69ID:loi8GnJQ まあオブジェクト指向は密結合を観察する際の一つの指針にはなるかな。
〜指向全般に言えるけれど、結局は一つの指標みたいなもんで
指標上げることが目的になったらクソになるのは当たり前だよね。
〜指向全般に言えるけれど、結局は一つの指標みたいなもんで
指標上げることが目的になったらクソになるのは当たり前だよね。
153デフォルトの名無しさん
2018/09/23(日) 12:29:12.02ID:0vXeudiz バカすぎて意味がつながっとらんw
154デフォルトの名無しさん
2018/09/23(日) 15:43:38.58ID:w6QfJYdi オブジェクト指向に継承って要る?
もともとのオブジェクト指向の発想からすれば、別に無くてもいいっていうか、むしろ邪魔じゃね?
もともとのオブジェクト指向の発想からすれば、別に無くてもいいっていうか、むしろ邪魔じゃね?
155デフォルトの名無しさん
2018/09/23(日) 16:17:15.71ID:NWkg7eaT >>154
継承でコードを書く量を減らせるってのはあるが、他の仕組みで代わりになるなら無くても良い
継承でコードを書く量を減らせるってのはあるが、他の仕組みで代わりになるなら無くても良い
156デフォルトの名無しさん
2018/09/23(日) 16:31:30.62ID:NWkg7eaT ああでもルートクラスのメソッドを全部で使えるってのはでかいかなあ
157デフォルトの名無しさん
2018/09/23(日) 16:37:33.42ID:MlhnYRcx >>149
ちゃうねん
複雑で大規模なモノは何で組もうが問題や破綻が起きやすくなる、って話と
オブジェクト指向は複雑で 大規模なモノを作ると破綻する、ってのは意味が違う
何故ならオブジェクト指向そのものが大規模で複雑なモノを作るため”だけ”の物だからよ。話の流れで言うと前者により後者が悪質な形で発動する
ただ当然理想論言えば問題を元々起こさなきゃいいっちゃいい話よ理想を言えば
ちゃうねん
複雑で大規模なモノは何で組もうが問題や破綻が起きやすくなる、って話と
オブジェクト指向は複雑で 大規模なモノを作ると破綻する、ってのは意味が違う
何故ならオブジェクト指向そのものが大規模で複雑なモノを作るため”だけ”の物だからよ。話の流れで言うと前者により後者が悪質な形で発動する
ただ当然理想論言えば問題を元々起こさなきゃいいっちゃいい話よ理想を言えば
158デフォルトの名無しさん
2018/09/23(日) 16:50:39.86ID:N8r2Gw6d > 何故ならオブジェクト指向そのものが大規模で複雑なモノを作るため”だけ”の物だからよ。
前提が間違っているから話にならん。
まず標準ライブラリの時点ですでに大規模で複雑
それが隠蔽されてるから単純に見えるってことに気づいていない
大規模で複雑なものを作るためだけのものだからというのなら、
ほとんどのものが大規模で複雑なんだから、オブジェクト指向を
使うのは当然ということになる
そして隠蔽されている部分は無視するという話なら、(オブジェクト指向の)
標準ライブラリを使うだけの簡単なコードは作れる
例えば、Rubyでprint "hello world"と書いただけでもオブジェクト指向が使われてる
オブジェクト指向であっても、小規模で単純なものを作れるものである証拠
前提が間違っているから話にならん。
まず標準ライブラリの時点ですでに大規模で複雑
それが隠蔽されてるから単純に見えるってことに気づいていない
大規模で複雑なものを作るためだけのものだからというのなら、
ほとんどのものが大規模で複雑なんだから、オブジェクト指向を
使うのは当然ということになる
そして隠蔽されている部分は無視するという話なら、(オブジェクト指向の)
標準ライブラリを使うだけの簡単なコードは作れる
例えば、Rubyでprint "hello world"と書いただけでもオブジェクト指向が使われてる
オブジェクト指向であっても、小規模で単純なものを作れるものである証拠
159デフォルトの名無しさん
2018/09/23(日) 17:11:55.75ID:MlhnYRcx >>158
オブジェクト指向言語の標準ライブラリとか1番破綻しないオブジェクト指向のパターンじゃないか?
そりゃ全てのオブジェクト指向で作った物が全て破綻することはないだろう
大規模に向いてるオブジェクト指向をあえて小規模なもの作るに都合いいから流用するのはいい事だろう。個人的には自分で作ったクラスを多数のところで使い回してるならそれぞれ小規模でも全体でみたら中、大規模じゃんってなる所はあるけども
とわいえ、それでもやっぱりオブジェクト指向は大規模なものの為”だけ”にあって、そのため”だけ”の機能があって、そのせいで破綻するってのが俺の考えよ
オブジェクト指向言語の標準ライブラリとか1番破綻しないオブジェクト指向のパターンじゃないか?
そりゃ全てのオブジェクト指向で作った物が全て破綻することはないだろう
大規模に向いてるオブジェクト指向をあえて小規模なもの作るに都合いいから流用するのはいい事だろう。個人的には自分で作ったクラスを多数のところで使い回してるならそれぞれ小規模でも全体でみたら中、大規模じゃんってなる所はあるけども
とわいえ、それでもやっぱりオブジェクト指向は大規模なものの為”だけ”にあって、そのため”だけ”の機能があって、そのせいで破綻するってのが俺の考えよ
160デフォルトの名無しさん
2018/09/23(日) 17:22:45.03ID:N8r2Gw6d >>159
だからオブジェクト指向で小規模なものを作る例あげたじゃん。
馬鹿なの?
大規模なら破綻するのは、オブジェクト指向で無くても同じ
つまりお前の理屈は
オブジェクト指向・・・小規模は作れない、大規模は作れる
???指向・・・小規模は作れる、大規模も作れる
って言ってるだけでしょ
で大規模であれば、破綻するのはどちらも同じなんだから
大規模に置いてはオブジェクト指向も???指向も変わらない
だからオブジェクト指向で、小規模は作れないと言ってるだけだよね?
(実際にはオブジェクト指向で小規模なものが作れる)
だからオブジェクト指向で小規模なものを作る例あげたじゃん。
馬鹿なの?
大規模なら破綻するのは、オブジェクト指向で無くても同じ
つまりお前の理屈は
オブジェクト指向・・・小規模は作れない、大規模は作れる
???指向・・・小規模は作れる、大規模も作れる
って言ってるだけでしょ
で大規模であれば、破綻するのはどちらも同じなんだから
大規模に置いてはオブジェクト指向も???指向も変わらない
だからオブジェクト指向で、小規模は作れないと言ってるだけだよね?
(実際にはオブジェクト指向で小規模なものが作れる)
161デフォルトの名無しさん
2018/09/23(日) 17:45:57.32ID:cRG95Xcq この原則さえ守れば破綻は回避できる
大体の大きな問題は起きなくなる
@公開インタフェースは可能な限り少なくする
A原則として、よほど適切な理由がないかぎり、可能な限り継承よりコンポジション使う
B下位階層(ここでの階層は>>101>>106の意味)のクラスが上位階層のクラスのインターフェースに絶対に直接アクセスしてはいけない
※ 当然、下位クラスが上位クラスのインターフェースを直接呼びだすようなリフレクションは禁止
C下位階層のインスタンスが非同期で上位のインスタンスに処理を依頼したい状況が発生した場合(可能な限りこんな状況が起きる設計は当然避けるべき)、
処理のやりとりはメッセージキューで行い、可能な限り少ない回数で簡潔なメッセージを用いて簡単に完結できるようにする、複雑なメッセージシーケンスも禁止
(コレは並立するインスタンス間でも同じ)
D同じ階層に並立するインスタンスをムダに乱立させるのは当然禁止
コンポジションとメッセージシーケンス、クラスの階層(ここでの階層は>>101>>106の意味)、インスタンスの生存期間さえ
ドキュメントで適切におさえることができる状態になっていれば
問題やエンハンスが発生しても持続可能対応できる
大体の大きな問題は起きなくなる
@公開インタフェースは可能な限り少なくする
A原則として、よほど適切な理由がないかぎり、可能な限り継承よりコンポジション使う
B下位階層(ここでの階層は>>101>>106の意味)のクラスが上位階層のクラスのインターフェースに絶対に直接アクセスしてはいけない
※ 当然、下位クラスが上位クラスのインターフェースを直接呼びだすようなリフレクションは禁止
C下位階層のインスタンスが非同期で上位のインスタンスに処理を依頼したい状況が発生した場合(可能な限りこんな状況が起きる設計は当然避けるべき)、
処理のやりとりはメッセージキューで行い、可能な限り少ない回数で簡潔なメッセージを用いて簡単に完結できるようにする、複雑なメッセージシーケンスも禁止
(コレは並立するインスタンス間でも同じ)
D同じ階層に並立するインスタンスをムダに乱立させるのは当然禁止
コンポジションとメッセージシーケンス、クラスの階層(ここでの階層は>>101>>106の意味)、インスタンスの生存期間さえ
ドキュメントで適切におさえることができる状態になっていれば
問題やエンハンスが発生しても持続可能対応できる
162デフォルトの名無しさん
2018/09/23(日) 19:29:44.09ID:y+eZw7HP オブジェクト指向にメリットなんて無いからね
163デフォルトの名無しさん
2018/09/23(日) 20:20:35.62ID:MlhnYRcx >>160
そりゃ作れないなんて言ってないがな。
「オブジェクト指向は大規模なモノを作る為だけにある」って話であって「オブジェクト指向は小規模なモノは絶対に作れない」とはならんからな
ただオブジェクト指向で小規模なモノ作ったらデータをオブジェクトでラッピングしやすいてのがあるけど
あれ完全に全くの偶然でデータをオブジェクトにまとめるのがオブジェクト指向の本丸じゃないように、オブジェクト指向の本丸ではないサブシステムが運良くそこにハマったってだけで
特にそこもオブジェクト指向は大規模なモノを作る為”だけ”にあるってのは意味は変わってないからな
俺が言ってるのは一般的にモノが複雑になれば破綻しやすいという話ではなくて
、”その上で更に”オブジェクト指向は独特の破綻を招くって話であって
そりゃ作れないなんて言ってないがな。
「オブジェクト指向は大規模なモノを作る為だけにある」って話であって「オブジェクト指向は小規模なモノは絶対に作れない」とはならんからな
ただオブジェクト指向で小規模なモノ作ったらデータをオブジェクトでラッピングしやすいてのがあるけど
あれ完全に全くの偶然でデータをオブジェクトにまとめるのがオブジェクト指向の本丸じゃないように、オブジェクト指向の本丸ではないサブシステムが運良くそこにハマったってだけで
特にそこもオブジェクト指向は大規模なモノを作る為”だけ”にあるってのは意味は変わってないからな
俺が言ってるのは一般的にモノが複雑になれば破綻しやすいという話ではなくて
、”その上で更に”オブジェクト指向は独特の破綻を招くって話であって
164デフォルトの名無しさん
2018/09/23(日) 21:48:23.69ID:N8r2Gw6d >>163
あー、わかったわかった、つまりこういうことだろ?
墜落事故は飛行機特有の問題だ
自動車は飛べないから墜落自体ありえない
自動車で遠くにいくなら時間はかかるし
距離も長いから事故の確率も上がるし大変だが
飛べないから墜落事故は起きないのだ
あー、わかったわかった、つまりこういうことだろ?
墜落事故は飛行機特有の問題だ
自動車は飛べないから墜落自体ありえない
自動車で遠くにいくなら時間はかかるし
距離も長いから事故の確率も上がるし大変だが
飛べないから墜落事故は起きないのだ
165デフォルトの名無しさん
2018/09/23(日) 21:50:15.95ID:N8r2Gw6d そう主張することで、飛行機の何を否定しているのかわからんのと
どうように、オブジェクト指向の何を否定しているのかわからんがなw
どうように、オブジェクト指向の何を否定しているのかわからんがなw
166デフォルトの名無しさん
2018/09/23(日) 21:51:15.19ID:0vXeudiz おまえら破綻しすぎじゃね?w
どうやったらそんなに破綻を量産できんねんw
どうやったらそんなに破綻を量産できんねんw
167デフォルトの名無しさん
2018/09/23(日) 22:02:41.85ID:MlhnYRcx168デフォルトの名無しさん
2018/09/23(日) 22:26:37.81ID:N8r2Gw6d169デフォルトの名無しさん
2018/09/23(日) 22:28:04.83ID:N8r2Gw6d > しかも間違い失敗のリカバリーはオブジェクト指向のメリットの規制隠蔽が裏目に出てより悪化する
しない。
オブジェクト指向を使わないほうが破綻するし、
破綻した後のリカバリーはオブジェクト指向よりも大変
お前は単に両方とも破綻するが
オブジェクト指向的破綻をするのはオブジェクト指向だけと言ってるだけだろ
破綻する時点で問題なんだよ。オブジェクト指向の方が破綻しない
しない。
オブジェクト指向を使わないほうが破綻するし、
破綻した後のリカバリーはオブジェクト指向よりも大変
お前は単に両方とも破綻するが
オブジェクト指向的破綻をするのはオブジェクト指向だけと言ってるだけだろ
破綻する時点で問題なんだよ。オブジェクト指向の方が破綻しない
170デフォルトの名無しさん
2018/09/23(日) 22:42:45.15ID:MlhnYRcx >>169
>オブジェクト指向的破綻をするのはオブジェクト指向だけと
そういう事や。楽をするためにそれをするメリットが上回ってデメリットのが下回らなきゃいけないのはオブジェクト指向の完全必須項目なんだが
大規模複雑はこの完全必須項目がどんどん難易度が上がってくる。
途中の間違い失敗のリカバリのコストは確実にオブジェクト指向のが上
理想論一般論で言えば間違えなくちゃんと作ればいい、どの作り方でも大きいのは大変は大変、以上!て言えばそりゃそうだが
その問題を防ぐための記法が裏目に出て逆効果なら理想論一般論で片付けたらいかんでしょ
>オブジェクト指向的破綻をするのはオブジェクト指向だけと
そういう事や。楽をするためにそれをするメリットが上回ってデメリットのが下回らなきゃいけないのはオブジェクト指向の完全必須項目なんだが
大規模複雑はこの完全必須項目がどんどん難易度が上がってくる。
途中の間違い失敗のリカバリのコストは確実にオブジェクト指向のが上
理想論一般論で言えば間違えなくちゃんと作ればいい、どの作り方でも大きいのは大変は大変、以上!て言えばそりゃそうだが
その問題を防ぐための記法が裏目に出て逆効果なら理想論一般論で片付けたらいかんでしょ
171デフォルトの名無しさん
2018/09/23(日) 23:17:04.84ID:N8r2Gw6d172デフォルトの名無しさん
2018/09/23(日) 23:18:16.29ID:N8r2Gw6d 結局、小規模アプリでも大規模アプリでも
オブジェクト指向のほうが良いって結論なわけだよ。
そして、大規模で破綻するのはオブジェクト指向じゃなくても同じこと
オブジェクト指向のほうが良いって結論なわけだよ。
そして、大規模で破綻するのはオブジェクト指向じゃなくても同じこと
173デフォルトの名無しさん
2018/09/23(日) 23:18:37.66ID:N8r2Gw6d ただの言葉遊びだったな
174デフォルトの名無しさん
2018/09/23(日) 23:26:41.71ID:loi8GnJQ そうなりやすいのがオブジェクト指向論争
175デフォルトの名無しさん
2018/09/23(日) 23:28:46.55ID:cRG95Xcq バカに限って抽象化とかいって
サルみたいにうれしがって継承するからな
破綻はそこから始まる
しばらくたつと
データ受け渡しするために
無秩序に相互参照しはじめる
こうなったら終わりの始まり
サルみたいにうれしがって継承するからな
破綻はそこから始まる
しばらくたつと
データ受け渡しするために
無秩序に相互参照しはじめる
こうなったら終わりの始まり
176デフォルトの名無しさん
2018/09/23(日) 23:33:26.91ID:N8r2Gw6d 同じものを作る時、オブジェクト指向はオブジェク手と指向破綻をしやすいが
オブジェクト指向じゃないものを使うと、オブジェクト指向じゃない破綻をする
って言ってるだけ。
オブジェクト指向だと大規模なものを作れる。
オブジェクト指向じゃないと大規模なものは作れない
オブジェクト指向じゃないものを使うと、オブジェクト指向じゃない破綻をする
って言ってるだけ。
オブジェクト指向だと大規模なものを作れる。
オブジェクト指向じゃないと大規模なものは作れない
177デフォルトの名無しさん
2018/09/24(月) 00:03:50.44ID:+ob6DU4m オブジェクト指向じゃなくしたから
大規模なシステムを作れるようになった
って話はあまり聞かない
大規模なシステムを作れるようになった
って話はあまり聞かない
178デフォルトの名無しさん
2018/09/24(月) 01:12:57.64ID:oYzwCf5A オブジェクト指向にメリットなんて無いからね
179デフォルトの名無しさん
2018/09/24(月) 09:54:20.13ID:dKKNaNpJ ただモジュール境界を明確にしただけなのをオブジェクト指向って言い張ってるだけだろうな。
「オブジェクト指向じゃないと大規模なものは作れない」
この結論ありきで論法を組み立てるとそうなる。
「オブジェクト指向じゃないと大規模なものは作れない」
この結論ありきで論法を組み立てるとそうなる。
180デフォルトの名無しさん
2018/09/24(月) 16:52:34.59ID:JEGqIfby >>171
そのアカン例えを使うなと
事故が多発しないはずのシステムでそのシステム特有の事故が多発したって話やな
まぁ、その、悪い例えにあえて乗っかるなら自動車で事故りそうだから飛行機に乗ったら墜落事故起こしたって、だからなんだよって言ったらそりゃダメだよってなるような話で
いややっぱアカンやろこの例え、設計を抽象的な部分から見直せ
そのアカン例えを使うなと
事故が多発しないはずのシステムでそのシステム特有の事故が多発したって話やな
まぁ、その、悪い例えにあえて乗っかるなら自動車で事故りそうだから飛行機に乗ったら墜落事故起こしたって、だからなんだよって言ったらそりゃダメだよってなるような話で
いややっぱアカンやろこの例え、設計を抽象的な部分から見直せ
181デフォルトの名無しさん
2018/09/24(月) 18:34:58.60ID:jnbiRGGY まぁオブジェクト指向は「銀の弾丸」じゃないですからね
オブジェクト指向の採用による成功事例は数多く存在する一方で、
オブジェクト指向を採用したにもかかわらず失敗した事例も
少数とはいえ存在するのも事実
たとえば、以下は「一貫性」という設計哲学が無視されてしまったため、
標準ライブラリ設計に失敗した言語の例
http://mevius.2ch.net/test/read.cgi/tech/1491491123/44-45/
http://mevius.2ch.net/test/read.cgi/tech/1530664695/527/
スレタイに沿って返すとすれば:
・あらゆる言語においてオブジェクト指向ってクソじゃね?
=> いいや、そんなことはない
・Pythonにおいてオブジェクト指向ってクソじゃね?
=> たしかに、Pythonではクソかもしれない
オブジェクト指向の採用による成功事例は数多く存在する一方で、
オブジェクト指向を採用したにもかかわらず失敗した事例も
少数とはいえ存在するのも事実
たとえば、以下は「一貫性」という設計哲学が無視されてしまったため、
標準ライブラリ設計に失敗した言語の例
http://mevius.2ch.net/test/read.cgi/tech/1491491123/44-45/
http://mevius.2ch.net/test/read.cgi/tech/1530664695/527/
スレタイに沿って返すとすれば:
・あらゆる言語においてオブジェクト指向ってクソじゃね?
=> いいや、そんなことはない
・Pythonにおいてオブジェクト指向ってクソじゃね?
=> たしかに、Pythonではクソかもしれない
182デフォルトの名無しさん
2018/09/24(月) 18:36:05.95ID:csv6kfNU >>180
とりあえずお前が馬鹿だっていうのはわかった
大規模なものはどちらにしろ問題が発生する。
オブジェクト指向的問題か
非オブジェクト指向的問題かの
どちらかだ。
オブジェクト指向を使わなかったら
今度は非オブジェクト指向問題が発生するだろ
とりあえずお前が馬鹿だっていうのはわかった
大規模なものはどちらにしろ問題が発生する。
オブジェクト指向的問題か
非オブジェクト指向的問題かの
どちらかだ。
オブジェクト指向を使わなかったら
今度は非オブジェクト指向問題が発生するだろ
183デフォルトの名無しさん
2018/09/24(月) 18:37:21.47ID:csv6kfNU184デフォルトの名無しさん
2018/09/24(月) 18:42:13.65ID:csv6kfNU 仮にオブジェクト指向設計を採用せずに
構造化設計を採用したとしよう。
大規模プログラムで密結合になってると失敗する
そうすると構造化設計特有の問題が発生したということで
それはオブジェクト指向よりもリカバリーが大変
構造化設計を採用したとしよう。
大規模プログラムで密結合になってると失敗する
そうすると構造化設計特有の問題が発生したということで
それはオブジェクト指向よりもリカバリーが大変
185デフォルトの名無しさん
2018/09/24(月) 18:42:49.46ID:FEoaRsa5 どうでもいい話だな
186デフォルトの名無しさん
2018/09/24(月) 18:43:48.46ID:JEGqIfby >>182
んなもん当たり前だろ別のやり方すれば別の問題があるに決まってやろ
そんな何にでも通ずる一般論じゃないの
オブジェクト指向がそれ専用なのに逆効果だから色々言ってるの
これは何にでも通ずるフラットな一般論じゃないぞ?何故ならオブジェクト指向はそれ専用なのに逆効果だからな、いわばイレギュラーで根本的な問題
んなもん当たり前だろ別のやり方すれば別の問題があるに決まってやろ
そんな何にでも通ずる一般論じゃないの
オブジェクト指向がそれ専用なのに逆効果だから色々言ってるの
これは何にでも通ずるフラットな一般論じゃないぞ?何故ならオブジェクト指向はそれ専用なのに逆効果だからな、いわばイレギュラーで根本的な問題
187デフォルトの名無しさん
2018/09/24(月) 18:44:29.97ID:csv6kfNU そう。ただの言葉遊びしてるだけだからどうでもいいこと
結局は構造化設計を選んで失敗したから
構造化設計に問題があると言ってるだけなんだから
自分の非を認めたくないからそういことをしてる
あ、オブジェクト指向が使えないんだっけか?w
結局は構造化設計を選んで失敗したから
構造化設計に問題があると言ってるだけなんだから
自分の非を認めたくないからそういことをしてる
あ、オブジェクト指向が使えないんだっけか?w
188デフォルトの名無しさん
2018/09/24(月) 18:45:02.09ID:csv6kfNU189デフォルトの名無しさん
2018/09/24(月) 18:46:46.24ID:csv6kfNU 構造化設計は大規模に向かないのである
構造化設計で大規模をやると
失敗する確率が大幅に上がる
構造化設計+大規模でなんども経験している
そしてオブジェクト指向で設計すると
失敗する確率は大幅に下がるわけだが
それでも失敗してしまったら文句を言おう
オブジェクト指向が問題だったんだー!
構造化設計で大規模をやると
失敗する確率が大幅に上がる
構造化設計+大規模でなんども経験している
そしてオブジェクト指向で設計すると
失敗する確率は大幅に下がるわけだが
それでも失敗してしまったら文句を言おう
オブジェクト指向が問題だったんだー!
190デフォルトの名無しさん
2018/09/24(月) 18:54:12.30ID:JEGqIfby191デフォルトの名無しさん
2018/09/24(月) 18:55:45.99ID:JEGqIfby >>189
おっ?そうだなオブジェクト指向が問題が問題だったんだ。なんだかんだ同意見やったんやな
おっ?そうだなオブジェクト指向が問題が問題だったんだ。なんだかんだ同意見やったんやな
192デフォルトの名無しさん
2018/09/24(月) 19:07:39.30ID:jnbiRGGY193デフォルトの名無しさん
2018/09/24(月) 19:08:50.83ID:csv6kfNU194デフォルトの名無しさん
2018/09/24(月) 19:13:55.57ID:csv6kfNU まとめ
構造化・・・大規模に適していない
オブジェクト指向・・・大規模に適している
構造化で小規模・・・失敗しにくい(所詮小規模なので)
オブジェクト指向で小規模・・・失敗しにくい(小規模に使えないとは誰も言ってない)
構造化で大規模・・・適していないので失敗しやすい
オブジェクト指向で大規模・・・適しているので失敗しにくい
構造化で大規模で失敗・・・失敗して当然。構造化に問題があった
オブジェクト指向で大規模で失敗・・・適した道具を使っても失敗した
使ってるやつの能力に問題がある
責任転嫁としてオブジェクト指向使ったから失敗したんやーと叫ぶw
構造化・・・大規模に適していない
オブジェクト指向・・・大規模に適している
構造化で小規模・・・失敗しにくい(所詮小規模なので)
オブジェクト指向で小規模・・・失敗しにくい(小規模に使えないとは誰も言ってない)
構造化で大規模・・・適していないので失敗しやすい
オブジェクト指向で大規模・・・適しているので失敗しにくい
構造化で大規模で失敗・・・失敗して当然。構造化に問題があった
オブジェクト指向で大規模で失敗・・・適した道具を使っても失敗した
使ってるやつの能力に問題がある
責任転嫁としてオブジェクト指向使ったから失敗したんやーと叫ぶw
195デフォルトの名無しさん
2018/09/24(月) 19:14:23.90ID:Kxio7RVg Cで書かれたOSはくさるほどある
C++で書かれたOSなんかあんの
C++で書かれたOSなんかあんの
196デフォルトの名無しさん
2018/09/24(月) 19:18:02.09ID:JEGqIfby197デフォルトの名無しさん
2018/09/24(月) 19:21:50.21ID:Kxio7RVg 超大規模なMS WindowsもCで書かれてる
198デフォルトの名無しさん
2018/09/24(月) 19:21:52.45ID:csv6kfNU >>196
お前の会話が非論理的だからしょうがない。
オブジェクト指向に問題があったんじゃなくて
大規模で密結合にしたから失敗があっただけだろ?
構造化であっても密結合にしたら失敗するんだから
で、構造化使って密結合にして失敗したら構造化のせいにせずに
オブジェクト指向を使って密結合にして失敗したら
オブジェクト指向のせいにしてるんだろ?
お前の会話が非論理的だからしょうがない。
オブジェクト指向に問題があったんじゃなくて
大規模で密結合にしたから失敗があっただけだろ?
構造化であっても密結合にしたら失敗するんだから
で、構造化使って密結合にして失敗したら構造化のせいにせずに
オブジェクト指向を使って密結合にして失敗したら
オブジェクト指向のせいにしてるんだろ?
199デフォルトの名無しさん
2018/09/24(月) 19:23:43.41ID:csv6kfNU どちらにしろ
構造化よりもオブジェクト指向のほうが大規模に強いのは変わらん
オブジェクト指向が大規模のために作られたと言っても
小規模で使えないことにもならない
実際に小規模でも使える
オブジェクト指向で失敗するようなら構造化でも失敗する。
能力不足が原因だからな。
で、能力不足を認めたくないから、
オブジェクト指向のせいにしてるんだろ?
構造化よりもオブジェクト指向のほうが大規模に強いのは変わらん
オブジェクト指向が大規模のために作られたと言っても
小規模で使えないことにもならない
実際に小規模でも使える
オブジェクト指向で失敗するようなら構造化でも失敗する。
能力不足が原因だからな。
で、能力不足を認めたくないから、
オブジェクト指向のせいにしてるんだろ?
200デフォルトの名無しさん
2018/09/24(月) 19:23:52.69ID:0XIVTMWe そもそも破綻している、と言える状態はどんな場合だろうか
201デフォルトの名無しさん
2018/09/24(月) 19:24:42.73ID:Kxio7RVg だいたいわかる
ウンコスクリプトしか使えないような低学歴知恵遅れが
ムダにオブジェクト指向あげしてる
ウンコスクリプトしか使えないような低学歴知恵遅れが
ムダにオブジェクト指向あげしてる
202デフォルトの名無しさん
2018/09/24(月) 19:26:39.65ID:csv6kfNU 馬鹿「オブジェクト指向で失敗したら、オブジェクト指向特有の・・・」
じゃあ、構造化で失敗したら構造化特有のやり方が原因なんやな?
馬鹿「ぐぬぬ」
↑イマココ
じゃあ、構造化で失敗したら構造化特有のやり方が原因なんやな?
馬鹿「ぐぬぬ」
↑イマココ
203デフォルトの名無しさん
2018/09/24(月) 19:27:16.94ID:Kxio7RVg で、ウンコスクリプトで
山盛りのウンコをつくる
rubyとpython作ってるような
ウンコスクリプター
山盛りのウンコをつくる
rubyとpython作ってるような
ウンコスクリプター
204デフォルトの名無しさん
2018/09/24(月) 19:30:25.06ID:Kxio7RVg コイツラの場合
ウンコスクリプトフレームワーク()使っても
破たんさせるほどの特殊能力がある
だいたいこういうの使ってるヤツラは
そういうヤツラだ
ウンコスクリプトフレームワーク()使っても
破たんさせるほどの特殊能力がある
だいたいこういうの使ってるヤツラは
そういうヤツラだ
205デフォルトの名無しさん
2018/09/24(月) 19:34:16.94ID:JEGqIfby >>198
皮肉もわからんのかーwwwとか言うやつが急に非論理的だ、とか笑わせに来てんのか貴様は
なんだろうなお前の言い分は都合が悪いと全部一般論にして逃げてる感あるな、大規模なモノが破綻するのはオブジェクト指向に限らずみんな一緒とか。
それを言うならオブジェクト指向使わず手続き型で組んでも破綻しないように組めばいいじゃんってなるんだよな。
その先が見えないわけよな。もはや何の為にオブジェクト指向使ってるんという
皮肉もわからんのかーwwwとか言うやつが急に非論理的だ、とか笑わせに来てんのか貴様は
なんだろうなお前の言い分は都合が悪いと全部一般論にして逃げてる感あるな、大規模なモノが破綻するのはオブジェクト指向に限らずみんな一緒とか。
それを言うならオブジェクト指向使わず手続き型で組んでも破綻しないように組めばいいじゃんってなるんだよな。
その先が見えないわけよな。もはや何の為にオブジェクト指向使ってるんという
206デフォルトの名無しさん
2018/09/24(月) 19:36:53.39ID:JEGqIfby >>200
オブジェクト指向の破綻はルール守る為に手続き型のコストを超えた時やろな
オブジェクト指向の破綻はルール守る為に手続き型のコストを超えた時やろな
207デフォルトの名無しさん
2018/09/24(月) 19:40:51.50ID:Kxio7RVg ノータリン言語の開発現場には
ノータリンが集まる
コレは宿命
ノータリンが集まる
コレは宿命
208デフォルトの名無しさん
2018/09/24(月) 19:42:38.68ID:JEGqIfby209デフォルトの名無しさん
2018/09/24(月) 19:45:46.24ID:BNNY8GPf いつまで自演しとんねん
210デフォルトの名無しさん
2018/09/24(月) 19:47:43.48ID:csv6kfNU >>208
当たり前だろ
どんなものでも壊れるというのは大前提
どれだけ壊れにくいか?という壊れにくさの話をしてるのに、
お前は「オブジェクト指向は銀の弾丸でなければならないが
銀の弾丸でないことが判明したらどうする?」と言ってるだけだろ?
誰もオブジェクト指向が銀の弾丸なんていってない
だが強力な武器なんだよ。
当たり前だろ
どんなものでも壊れるというのは大前提
どれだけ壊れにくいか?という壊れにくさの話をしてるのに、
お前は「オブジェクト指向は銀の弾丸でなければならないが
銀の弾丸でないことが判明したらどうする?」と言ってるだけだろ?
誰もオブジェクト指向が銀の弾丸なんていってない
だが強力な武器なんだよ。
211デフォルトの名無しさん
2018/09/24(月) 19:48:10.66ID:dKKNaNpJ とりあえずオブジェクト指向で作るってことがなんなのかから判別しようか。
例えばlinux kernelはオブジェクト指向でバリバリ作ってると思われてんのかね?
例えばlinux kernelはオブジェクト指向でバリバリ作ってると思われてんのかね?
212デフォルトの名無しさん
2018/09/24(月) 19:49:06.45ID:Kxio7RVg ハードが壊れるのと
低学歴知恵遅れのオツムが壊れてるのは
別問題
低学歴知恵遅れのオツムが壊れてるのは
別問題
213デフォルトの名無しさん
2018/09/24(月) 19:50:21.60ID:BNNY8GPf まだ自演を続けんのかよ
いい加減にしろ
いい加減にしろ
214デフォルトの名無しさん
2018/09/24(月) 19:57:16.26ID:Kxio7RVg システムが壊れてるワケじゃない
壊れてるのは低学歴知恵遅れのオツム
オツムが壊れてないヤツが作れば
壊れたシステムはできあがらない
オブジェクト指向はキチガイに刃物
ノータリンにオブジェクト指向を促すこと自体が常軌を逸してる
ノータリンがオブジェクト指向で開発しようとすること自体が銃刀法違反並の重罪
壊れてるのは低学歴知恵遅れのオツム
オツムが壊れてないヤツが作れば
壊れたシステムはできあがらない
オブジェクト指向はキチガイに刃物
ノータリンにオブジェクト指向を促すこと自体が常軌を逸してる
ノータリンがオブジェクト指向で開発しようとすること自体が銃刀法違反並の重罪
215デフォルトの名無しさん
2018/09/24(月) 20:01:34.39ID:H/ciA4Rj オブジェクト指向って何ですか?
C言語ではオブジェクト指向に従ってプログラムを作ることはできないのですか?
C言語ではオブジェクト指向に従ってプログラムを作ることはできないのですか?
216デフォルトの名無しさん
2018/09/24(月) 20:07:21.20ID:Kxio7RVg X11やMS Windowsもオブジェクト指向で設計されてる
ただ、低学歴知恵遅れでは、C言語でそれを実現することはできない
そしてそれを簡単に実現できる言語を使うと
なにが便利であるか核心的な部分が理解できずに使って
別のろくでもない問題をおこすわけ
ただ、低学歴知恵遅れでは、C言語でそれを実現することはできない
そしてそれを簡単に実現できる言語を使うと
なにが便利であるか核心的な部分が理解できずに使って
別のろくでもない問題をおこすわけ
217デフォルトの名無しさん
2018/09/24(月) 20:10:52.64ID:Kxio7RVg ハンドラやコンテキストつかって
オブジェクトを操作するのはまさしくオブジェクト指向の便利な部分だからな
UNIXのi/oなんかもハードウェアがうまく抽象化されてる
ファイルディスクリプタ使って簡単に読み書きができるからな
オブジェクトを操作するのはまさしくオブジェクト指向の便利な部分だからな
UNIXのi/oなんかもハードウェアがうまく抽象化されてる
ファイルディスクリプタ使って簡単に読み書きができるからな
218デフォルトの名無しさん
2018/09/24(月) 20:13:11.48ID:oYzwCf5A オブジェクト指向にメリットなんて無いからね
219デフォルトの名無しさん
2018/09/24(月) 20:17:40.60ID:csv6kfNU220デフォルトの名無しさん
2018/09/24(月) 20:22:15.20ID:csv6kfNU 結局の所、小規模なものはオブジェクト指向使っても失敗しない
大規模なものは、オブジェクト指向を使うと失敗しにくくなる
って所が重要なんじゃないですかね?
失敗したときにそれがオブジェクト指向的な原因か
構造化的な原因か、なんてことよりよりも
大規模なものは、オブジェクト指向を使うと失敗しにくくなる
って所が重要なんじゃないですかね?
失敗したときにそれがオブジェクト指向的な原因か
構造化的な原因か、なんてことよりよりも
221デフォルトの名無しさん
2018/09/24(月) 20:30:44.15ID:Kxio7RVg 低学歴知恵遅れにオブジェクト指向はまずムリ
日本では、ITドカタは低学歴底辺がなる職業だからな
だいたい程度がしれたヤツラが群がってくる
この板みれば分かるとおり
日本では、ITドカタは低学歴底辺がなる職業だからな
だいたい程度がしれたヤツラが群がってくる
この板みれば分かるとおり
222デフォルトの名無しさん
2018/09/24(月) 20:31:28.52ID:e4NBE4Fp う〜ん、ここ見てるとオブジェクト指向はクソと言いたくなるね。
何らかの問題を解決したい、もっと便利で問題の発生しない手法は無いだろうかというような要望があって、
それを実現するためにオブジェクト指向なるものが発明されたとすれば、
同じ考えでオブジェクト指向を採用するのも良いだろうけど、
最初からオブジェクト指向ありきはダメなんじゃないの?
なんかさ、なんでも右ならえで無理に採用してるような気がするんだよなあ。
オブジェクト指向に限った話じゃ無いけど、特に日本では。
何らかの問題を解決したい、もっと便利で問題の発生しない手法は無いだろうかというような要望があって、
それを実現するためにオブジェクト指向なるものが発明されたとすれば、
同じ考えでオブジェクト指向を採用するのも良いだろうけど、
最初からオブジェクト指向ありきはダメなんじゃないの?
なんかさ、なんでも右ならえで無理に採用してるような気がするんだよなあ。
オブジェクト指向に限った話じゃ無いけど、特に日本では。
223デフォルトの名無しさん
2018/09/24(月) 20:32:33.20ID:csv6kfNU224デフォルトの名無しさん
2018/09/24(月) 20:35:08.38ID:csv6kfNU >>221
優れた人が優れた道具を使う
それに対抗するために、もっと優れた道具ができたとしても
それだって優れた人が使ったほうがもっと効果が高いわけで
優れてない人が、優れてない道具を使って勝つには
人海戦術しかないんだよね
優れた人が優れた道具を使う
それに対抗するために、もっと優れた道具ができたとしても
それだって優れた人が使ったほうがもっと効果が高いわけで
優れてない人が、優れてない道具を使って勝つには
人海戦術しかないんだよね
225デフォルトの名無しさん
2018/09/24(月) 20:38:06.78ID:Kxio7RVg ぜんぜん分かってないわ
刃物は道具でもあるし
人を殺すこともできる
刃物は道具でもあるし
人を殺すこともできる
226デフォルトの名無しさん
2018/09/24(月) 20:38:44.95ID:Kxio7RVg あやまった使い方をすれば
簡単にケガをする
簡単にケガをする
227デフォルトの名無しさん
2018/09/24(月) 20:42:45.07ID:e4NBE4Fp228デフォルトの名無しさん
2018/09/24(月) 20:50:20.68ID:Kxio7RVg 教育コストはものすごいかかるが
手続き型言語でオブジェクト指向をみっちり体験してから
オブジェクト指向の教育に移行したほうがいい
この手順踏んだほうが間違いが少ない
そうでないと
ID:csv6kfNU ← コイツ
みたいに頭悪いのが大量に量産され続ける
手続き型言語でオブジェクト指向をみっちり体験してから
オブジェクト指向の教育に移行したほうがいい
この手順踏んだほうが間違いが少ない
そうでないと
ID:csv6kfNU ← コイツ
みたいに頭悪いのが大量に量産され続ける
229デフォルトの名無しさん
2018/09/24(月) 21:03:48.14ID:u7Hms91/230デフォルトの名無しさん
2018/09/24(月) 21:19:43.39ID:AdxflhqI オブジェクト指向のメリットって何?
この問いに今だかつて一人も答えてくれた事は無い
どっか他の文献指差して丸投げとか
逃げと食い下がりを駆使して結局答えないとか
この問いに今だかつて一人も答えてくれた事は無い
どっか他の文献指差して丸投げとか
逃げと食い下がりを駆使して結局答えないとか
231デフォルトの名無しさん
2018/09/24(月) 21:47:42.62ID:oYzwCf5A232デフォルトの名無しさん
2018/09/24(月) 21:48:43.99ID:FEoaRsa5 低学歴は無理せずにIT土方やってなさい
233デフォルトの名無しさん
2018/09/24(月) 23:07:18.05ID:Kxio7RVg 転ばぬ先の杖
STOP オブジェクト指向
STOP オブジェクト指向
234デフォルトの名無しさん
2018/09/24(月) 23:31:05.04ID:JEGqIfby235デフォルトの名無しさん
2018/09/25(火) 08:11:13.05ID:ffbXNZny 色んなサイトでオブジェクト指向の説明してるけど説明が下手すぎねえか?
設計図とか野菜や動物に例えるとか理解してんのかと思うわ
雛形作ってからそこに入力規格を統一したデータをぶち込むって例えでいいだろ
設計図とか野菜や動物に例えるとか理解してんのかと思うわ
雛形作ってからそこに入力規格を統一したデータをぶち込むって例えでいいだろ
236デフォルトの名無しさん
2018/09/25(火) 08:46:47.22ID:Eix7hoc3 >>235
意味不明すぎてふいた
意味不明すぎてふいた
237デフォルトの名無しさん
2018/09/25(火) 08:48:25.26ID:Eix7hoc3 オブジェクト指向とは雛形作ってそこに入力規格統一したデータをぶち込むってことだぞ
238デフォルトの名無しさん
2018/09/25(火) 08:48:47.92ID:Eix7hoc3 わかってんのかお前ら
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【芸能】波瑠と高杉真宙が結婚 ドラマ共演きっかけで交際2年ゴールイン 12月上旬に婚姻届提出し既に挙式終え (スポニチ) [湛然★]
- 高市内閣の若い世代の支持率は92.4% FNN世論調査★4 [♪♪♪★]
- 【サンリオ】「けろっぴ」の横顔公開にファン驚き「全方位かわいい」の声 [湛然★]
- ゼレンスキー氏「高市総理に感謝」 9000億円超追加支援に 「国際秩序に貢献」 (動画あり) [ごまカンパチ★]
- 【MLB】村上宗隆の『小型契約』は吉田正尚の影響か 市場が思いのほか停滞 「NPB打者に懐疑的。吉田が高すぎた」 [冬月記者★]
- 「ONE PIECE」尾田栄一郎、原作は「ここからが大変」「僕は歳をとってしまったので最高速度で来年もズッシリドッシリ航海します」 [muffin★]
- 【正論】X「誰だよチャーハンをレンゲで食う文化作ったやつ💢スプーンのが食べやすいだろ」 [394133584]
- フェラムネとかいうお菓子wowowow
- お前らって真面目な話いつぐらいに童貞卒業したの?(童貞は書き込み禁止)
- おいお前、チンポでかすぎひん?
- もうすぐメリクリ学園アイドルマスター学マススレ
- 口がクサいと笑うのはキミがいい〜でもキモいねって嬉しそうなのも〜
