無理やりオブジェクト指向にしたから出てきた問題を解決して凄い凄い言ってるだけ。
単なるマッチポンプ。
カプセル化(英語:encapsulation)とは、オブジェクト指向を構成する概念の一つで、
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、
オブジェクトの実際の型を隠蔽したりすることをいう。
偏差値の低い学校向けの情報処理系教科書において「大変すばらしいものであり絶対に使うように」と大体的に宣伝された。
一方、カリフォルニア大学バークレー校の有識者を中心としたインターネットを作った人たちは「階層化の有害性」として
「絶対に使うな」としている。大雑把にいうと、その時は良くても、将来的な改修の際に隠蔽されたデータに
アクセスできないと解決できない問題が出てきて、結果的にデスマーチに陥るというのである。
オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で
縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」
という概念はない。
https://monobook.org/wiki/%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96
前前スレ
オブジェクト指向ってクソじゃね?
https://mevius.5ch.net/test/read.cgi/tech/1535085129/
前スレ
オブジェクト指向ってクソじゃねぇよ? Part2
https://mevius.5ch.net/test/read.cgi/tech/1539872441/
探検
オブジェクト指向ってクソじゃねぇかよPart3
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2018/11/22(木) 20:07:52.47ID:OdN2A7JT2018/11/22(木) 20:13:05.54ID:vqLc4BhY
ここまでオブジェクト指向のメリットなし
2018/11/22(木) 20:59:26.40ID:R0GBuPHm
オブジェクト指向の是非はさておき
Smalltalkはウンコ
Smalltalkはウンコ
2018/11/22(木) 22:02:40.52ID:3Ij8+ioX
プロジェクトメンバーが皆アランケイならもちろんそんなものは不要
強い型付けだのカプセル化だの名前空間だのは俺を含めたアホのための技術
であり、
コンパイラさんエラーメッセージをありがとう、今日もバグが事前に検知できたよと感謝の十万回単体テスト
強い型付けだのカプセル化だの名前空間だのは俺を含めたアホのための技術
であり、
コンパイラさんエラーメッセージをありがとう、今日もバグが事前に検知できたよと感謝の十万回単体テスト
2018/11/22(木) 22:44:43.29ID:AcqNnxh2
みんなSmalltalk大好きで困っちゃうわー
2018/11/22(木) 23:00:07.78ID:VUc8aEEA
熱いsmallalk談義
内容は理解出来ないけど
その熱さは良いよ
内容は理解出来ないけど
その熱さは良いよ
2018/11/23(金) 12:16:28.55ID:xUgPEkHQ
だから言ったじゃん
ピュアオーディオとか純喫茶とか純文学の話になってるだろ
それに連なる『純オブジェクト指向』だ
ここで純オブジェクト指向と目されるSmalltalkを持ち出してピュア談義してるだけだ
オブジェクト指向≒Javaと見做されてる昨今では「Javaはクソ」≒「オブジェクト指向はクソ」となるのが普通だ
そこにわざわざ純オブジェクト指向なる概念を持ち出すから話がややこしくなる
平たく言うと、Javaの開発案件がたちまちクソの山になるのはそれがオブジェクト指向だから、っていう話だ
それも、数値にしがたい負の感情を産み出す母体になってる
オブジェクト指向にメリットはなく、代わりに数値化できないデメリットが業界で拡大再生産されてる
その根幹原因がJava≒オブジェクト指向にある
クソなんだからメリットが生産されるわけじゃない
デメリットが生産されてんだよ
「現状のオブジェクト指向が上手く行かないのは、それが純オブジェクト指向じゃないから」
それを延々話してるんだよ
その「純オブジェクト指向」なる状態が、あり得ないものか、未だに存在してないものか、そもそも存在出来ないものかは知らないが、
現状の実態たるJavaの話から乖離して、延々と架空の話を続けてるだけだろ
現実を見たくないからわざわざSmalltalkなんて引っ張り出して来てるんだよ
それだけクソってことだろ
ピュアオーディオとか純喫茶とか純文学の話になってるだろ
それに連なる『純オブジェクト指向』だ
ここで純オブジェクト指向と目されるSmalltalkを持ち出してピュア談義してるだけだ
オブジェクト指向≒Javaと見做されてる昨今では「Javaはクソ」≒「オブジェクト指向はクソ」となるのが普通だ
そこにわざわざ純オブジェクト指向なる概念を持ち出すから話がややこしくなる
平たく言うと、Javaの開発案件がたちまちクソの山になるのはそれがオブジェクト指向だから、っていう話だ
それも、数値にしがたい負の感情を産み出す母体になってる
オブジェクト指向にメリットはなく、代わりに数値化できないデメリットが業界で拡大再生産されてる
その根幹原因がJava≒オブジェクト指向にある
クソなんだからメリットが生産されるわけじゃない
デメリットが生産されてんだよ
「現状のオブジェクト指向が上手く行かないのは、それが純オブジェクト指向じゃないから」
それを延々話してるんだよ
その「純オブジェクト指向」なる状態が、あり得ないものか、未だに存在してないものか、そもそも存在出来ないものかは知らないが、
現状の実態たるJavaの話から乖離して、延々と架空の話を続けてるだけだろ
現実を見たくないからわざわざSmalltalkなんて引っ張り出して来てるんだよ
それだけクソってことだろ
2018/11/23(金) 12:38:27.53ID:IHq0MGQO
まあでもJavaってオブジェクト指向だからクソなんだろ?
9デフォルトの名無しさん
2018/11/23(金) 12:40:10.05ID:3lsJKaBh JavaのWrite once, run anywhereに代わる新しい標語を考えよう!
まず俺からな。
Java -- Motor of all fails --
まず俺からな。
Java -- Motor of all fails --
10デフォルトの名無しさん
2018/11/23(金) 12:41:08.98ID:3lsJKaBh 予測変換で間違えた!
では改めて。
Java -- Mother of all fails --
では改めて。
Java -- Mother of all fails --
2018/11/23(金) 12:45:14.41ID:YugcRL6k
ぷぷぷwww間違えてやんのwww
2018/11/23(金) 13:01:19.47ID:/Y0l7Zgd
ここまでオブジェクト指向にメリットなし
2018/11/23(金) 13:07:15.96ID:EBrY1e8N
オブジェクト指向は糞の山を作りやすいというのがメリット
2018/11/23(金) 13:08:58.72ID:8zdH1C48
DBから取ってきたデータをただの構造体としてしか使ってない
Java現場ばかりなんだがそれをオブジェクト指向と言うのか
Java現場ばかりなんだがそれをオブジェクト指向と言うのか
2018/11/23(金) 13:09:18.71ID:t8DmZZYh
>>7
Smalltalkが純オブジェクト指向?Self見てから言えよw
Smalltalkが純オブジェクト指向?Self見てから言えよw
2018/11/23(金) 13:15:31.31ID:hVgyH4Uc
SELFよりはIo派
2018/11/23(金) 13:16:39.23ID:hVgyH4Uc
非同期メッセージングもあるし
2018/11/23(金) 13:24:25.52ID:YugcRL6k
2018/11/23(金) 13:34:30.42ID:8zdH1C48
20デフォルトの名無しさん
2018/11/23(金) 13:50:21.91ID:rfRL5vB8 >Javaの開発案件がたちまちクソの山になるのはそれがオブジェクト指向だから
有る意味それは合っている
でもそれはあくまで
オブジェクト指向を効果的に使うのが難しいからで
オブジェクト指向そのものが駄目な訳ではない
効果的に使うのが難しいのは
どの様に効果的に使うか?
という方法論やセオリーが十分教範として出来上がっていない
と言うのが原因だと自分は思っている
そういう教範がそのうち出来るだろう
と思っていたけど
現実には未だもって出来ていないみたい
その辺が効果的に使う事を難しくしている
自分も完全には理解していないけど
部分的に使うだけでも効果が有って
これを完全に使いこなしたら
どれ程の物なんだろうか?
と有る意味期待をしている
自分はこのスレを通す事で
オブジェクト指向プログラミングの何が解り難いのか?
という部分がはっきりして
何らかの教範が出来る材料になればいいんじゃないかなぁ
って期待している
有る意味それは合っている
でもそれはあくまで
オブジェクト指向を効果的に使うのが難しいからで
オブジェクト指向そのものが駄目な訳ではない
効果的に使うのが難しいのは
どの様に効果的に使うか?
という方法論やセオリーが十分教範として出来上がっていない
と言うのが原因だと自分は思っている
そういう教範がそのうち出来るだろう
と思っていたけど
現実には未だもって出来ていないみたい
その辺が効果的に使う事を難しくしている
自分も完全には理解していないけど
部分的に使うだけでも効果が有って
これを完全に使いこなしたら
どれ程の物なんだろうか?
と有る意味期待をしている
自分はこのスレを通す事で
オブジェクト指向プログラミングの何が解り難いのか?
という部分がはっきりして
何らかの教範が出来る材料になればいいんじゃないかなぁ
って期待している
2018/11/23(金) 14:24:45.75ID:t8DmZZYh
>>18
ORMなんか使うなよ。OODB使えよ。
ORMなんか使うなよ。OODB使えよ。
2018/11/23(金) 14:32:04.97ID:wr9ihIGx
2018/11/23(金) 14:35:25.11ID:1KJ0KFwU
農業なめてんじゃねえよITドカタが
24デフォルトの名無しさん
2018/11/23(金) 18:08:55.01ID:MPvH8zSl25デフォルトの名無しさん
2018/11/23(金) 18:39:37.15ID:5BpJnoAE リファクタリングを考えるなら現状オブジェクト指向しかない。
2018/11/23(金) 18:41:40.04ID:wr9ihIGx
>>25
意味不明
意味不明
2018/11/23(金) 23:37:46.54ID:DenX8efU
静的型付けの方がリファクタリングはやり易いけど
オブジェクト指向は関係なくない?
オブジェクト指向は関係なくない?
28デフォルトの名無しさん
2018/11/23(金) 23:39:22.31ID:ROaTpR2G リファクタリングやりたすぎやろ
2018/11/23(金) 23:50:37.13ID:YugcRL6k
そりゃTDDやってるからな
テスト駆動だとリファクタリングが開発の1フェーズだよ
テスト駆動だとリファクタリングが開発の1フェーズだよ
30デフォルトの名無しさん
2018/11/24(土) 02:13:00.74ID:NJ75NL6c 928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
31デフォルトの名無しさん
2018/11/24(土) 02:43:42.26ID:NJ75NL6c 955 デフォルトの名無しさん 2018/11/22(木) 01:49:36.77 ID:ROOr0q+m
>>954
>違うという理由を人に聞く前に
>そうだという理由を述べるのが筋だろ
ならばシステムをオブジェクト単位に分ける必要性について答えておこうか。
>>951
>オブジェクト単位に分ける工程が完全に削除できるんだから
戦神のベルトが倉庫を圧迫。仕分けましょう【DQ10】
http://okirakudq10.com/archives/53537205.html
>>954
>違うという理由を人に聞く前に
>そうだという理由を述べるのが筋だろ
ならばシステムをオブジェクト単位に分ける必要性について答えておこうか。
>>951
>オブジェクト単位に分ける工程が完全に削除できるんだから
戦神のベルトが倉庫を圧迫。仕分けましょう【DQ10】
http://okirakudq10.com/archives/53537205.html
2018/11/24(土) 06:11:54.47ID:rcmII/yb
オブジェクト指向ってしっくりこないんです
2018/11/24(土) 06:28:10.41ID:emfrr2Lm
2018/11/24(土) 09:15:39.26ID:eoAr82J8
ここまでオブジェクト指向のメリットなし
ピロリン♪
鉄山靠をマスターしました!←New
鉄山靠マスターしたわ
ピロリン♪
鉄山靠をマスターしました!←New
鉄山靠マスターしたわ
2018/11/24(土) 09:17:40.85ID:If29D5n7
OOPのやり過ぎで手続き型のアルゴリズムを書けない体質になってしまった
OOPなら5分で書ける処理をレビューに出したら仕様書に無いクラス作らないでっていわれてさ
手続き型で書き直そうとしたら4重ループにif分岐だらけの複雑なアルゴリズムになって頭が大混乱して手が止まっちゃった
結局それは破棄してOOPで書いたコードにロールバックしてメソッドを地道にインライン展開してテストを繰り返して1日かかってようやく完成した
俺みたいな頭が悪い人には手続き型は難しすぎる
OOPで物事をシンプルに簡単にわかりやすく整理しながら作らなきゃ先に進めない
OOPなら5分で書ける処理をレビューに出したら仕様書に無いクラス作らないでっていわれてさ
手続き型で書き直そうとしたら4重ループにif分岐だらけの複雑なアルゴリズムになって頭が大混乱して手が止まっちゃった
結局それは破棄してOOPで書いたコードにロールバックしてメソッドを地道にインライン展開してテストを繰り返して1日かかってようやく完成した
俺みたいな頭が悪い人には手続き型は難しすぎる
OOPで物事をシンプルに簡単にわかりやすく整理しながら作らなきゃ先に進めない
2018/11/24(土) 09:37:00.38ID:Wpa1q256
例えばポリモリフィズムやるとしてもそのオブジェクトが
どこでどんな風にその多数のメソッドを利用しているか、どういう制約の元でどういうことを行うものとして
設定してるかがしっかり把握されてるクラスなんて
あんまりないわけよ。
てか実際はほとんど変更不能なほどガチガチに暗黙の仮定が置かれてるのにドキュメントがなかったり
コードから把握するのが困難なコードばっかりだったりする。
こういうのが当たり前の状況では役には立たんな。
そして信者が次にいうのはそういう風に作った奴が悪いって話になる。
一理はあるが上記のような暗黙の仮定が注入されやすいというのはオブジェクト指向だからってのは多いにあると思ってる。
どこでどんな風にその多数のメソッドを利用しているか、どういう制約の元でどういうことを行うものとして
設定してるかがしっかり把握されてるクラスなんて
あんまりないわけよ。
てか実際はほとんど変更不能なほどガチガチに暗黙の仮定が置かれてるのにドキュメントがなかったり
コードから把握するのが困難なコードばっかりだったりする。
こういうのが当たり前の状況では役には立たんな。
そして信者が次にいうのはそういう風に作った奴が悪いって話になる。
一理はあるが上記のような暗黙の仮定が注入されやすいというのはオブジェクト指向だからってのは多いにあると思ってる。
2018/11/24(土) 10:01:58.09ID:eoAr82J8
具体的にはメソッドの呼び出し制限が不明だよね
init呼ぶ前に呼んでおかないと駄目
init呼んでから出ないと駄目
init呼ぶ前に呼んでおかないと駄目
init呼んでから出ないと駄目
2018/11/24(土) 12:09:51.50ID:jQRgCWH8
オブジェクト指向の問題じゃなくて静的型付けの問題だろう
2018/11/24(土) 12:13:59.69ID:emfrr2Lm
話をまとめると、オブジェクト指向をやるには
しっかりテストしてないとだめということかな?
しっかりテストしてないとだめということかな?
2018/11/24(土) 12:16:13.11ID:emfrr2Lm
2018/11/24(土) 12:16:50.14ID:CDKSSVF4
呼んじゃいけない状況にそもそもならないように作る
呼んじゃいけない状況で呼んだら例外を投げる
呼んじゃいけない状況を属性やドキュメントコメントに書く
オブジェクト指向はこのへんしっかりしてるから良いね
メインルーチンでグローバルの初期化関数を呼ばないとダメ
関数の呼び出し順序が暗黙に決まってる
入力範囲が決まっててそれに従わないと未定義処理
決まりごとがドキュメントコメントになってなくて分厚いマニュアルから必死になって探さないといけない
このように間違えようとしたら間違えられるのにわかりやすい説明がコードエディタから見れないという悪い構造はむしろ非オブジェクト指向の方が多い
呼んじゃいけない状況で呼んだら例外を投げる
呼んじゃいけない状況を属性やドキュメントコメントに書く
オブジェクト指向はこのへんしっかりしてるから良いね
メインルーチンでグローバルの初期化関数を呼ばないとダメ
関数の呼び出し順序が暗黙に決まってる
入力範囲が決まっててそれに従わないと未定義処理
決まりごとがドキュメントコメントになってなくて分厚いマニュアルから必死になって探さないといけない
このように間違えようとしたら間違えられるのにわかりやすい説明がコードエディタから見れないという悪い構造はむしろ非オブジェクト指向の方が多い
2018/11/24(土) 12:22:32.84ID:emfrr2Lm
> init呼ぶ前に呼んでおかないと駄目
> init呼んでから出ないと駄目
ファイルをオープンする前にリードしたらだめ
だから手続き型は大変なんだ
> init呼んでから出ないと駄目
ファイルをオープンする前にリードしたらだめ
だから手続き型は大変なんだ
2018/11/24(土) 12:22:54.51ID:Wpa1q256
>>40
>どこでどんなふうに関数が使われているか
>わからなくても、大丈夫って話をしているようだ
こんな話は一切してない。
オブジェクト指向的な言語でクラスメソッドにガツガツ詰め込むようなことすると
関数的なものよりも思った以上の暗黙の仮定を置いてるコンテキストでしか動作しないものが
出来上がりやすいと言ってる。
>どこでどんなふうに関数が使われているか
>わからなくても、大丈夫って話をしているようだ
こんな話は一切してない。
オブジェクト指向的な言語でクラスメソッドにガツガツ詰め込むようなことすると
関数的なものよりも思った以上の暗黙の仮定を置いてるコンテキストでしか動作しないものが
出来上がりやすいと言ってる。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【サッカー】Jリーグ、43億円の赤字予算を承認 ★2 [鉄チーズ烏★]
- 「レーダー照射」なぜ中国は素直に謝罪しないのか 非を認めず反論、逆ギレ「ごめんなさい」と言えない国情★3 [七波羅探題★]
- 松村沙友理、スタバは好きだけど「やっぱコーヒーに700円800円が…」「家でお湯わかしてやったらタダやん」 [muffin★]
- 40代教員、1億8600万円分の暗号資産だまし取られる 「警察手帳のような物」見せられ−滋賀県草津市 [蚤の市★]
- 上野動物園の双子パンダ、1月末に中国に返還へ 国内でパンダ不在に ★4 [蚤の市★]
- 【ラブホ】小川晶前市長、出直し立候補意向 周囲に伝達 群馬・前橋市長選 [ぐれ★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★7
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★8
- 多極化の時代の到来によって、日本人が明治維新以降してきた欧米の猿真似が全部間違いだったと判明 [805596214]
- ブレイキングダウンの試合前挑発タイムでくも膜下出血 朝倉未来の責任は [279254606]
- 稲川淳二に似てるのになぜかモテない
- お前らって俺のことどう思ってるの?
