無理やりオブジェクト指向にしたから出てきた問題を解決して凄い凄い言ってるだけ。
単なるマッチポンプ。
カプセル化(英語: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
>どこでどんなふうに関数が使われているか
>わからなくても、大丈夫って話をしているようだ
こんな話は一切してない。
オブジェクト指向的な言語でクラスメソッドにガツガツ詰め込むようなことすると
関数的なものよりも思った以上の暗黙の仮定を置いてるコンテキストでしか動作しないものが
出来上がりやすいと言ってる。
>どこでどんなふうに関数が使われているか
>わからなくても、大丈夫って話をしているようだ
こんな話は一切してない。
オブジェクト指向的な言語でクラスメソッドにガツガツ詰め込むようなことすると
関数的なものよりも思った以上の暗黙の仮定を置いてるコンテキストでしか動作しないものが
出来上がりやすいと言ってる。
44デフォルトの名無しさん
2018/11/24(土) 12:33:43.16ID:hG+y0dS8 >>41
コードのみで必要情報を示せないからドキュメントに逃げてるだけ。
「ドキュメントも完備しててすばらしい」←あるべき姿
「ドキュメントがないと使い物にならない」←オブジェクト指向の現実
オブジェクト指向によって、ドキュメントがないと使い物にならない状況を生み出す(マッチ)
ドキュメントを必須不可欠のものとする(ポンプ)
無理にオブジェクト指向に拘らなければ存在しなかった問題なのだ。
まーたマッチポンプw
コードのみで必要情報を示せないからドキュメントに逃げてるだけ。
「ドキュメントも完備しててすばらしい」←あるべき姿
「ドキュメントがないと使い物にならない」←オブジェクト指向の現実
オブジェクト指向によって、ドキュメントがないと使い物にならない状況を生み出す(マッチ)
ドキュメントを必須不可欠のものとする(ポンプ)
無理にオブジェクト指向に拘らなければ存在しなかった問題なのだ。
まーたマッチポンプw
2018/11/24(土) 12:59:17.24ID:bELXSZs/
手続き型の反対は宣言型だが、オブジェクト指向は宣言型ではない。
46デフォルトの名無しさん
2018/11/24(土) 13:04:33.00ID:eK+FReVS 228 名無しさん@ゴーゴーゴーゴー! (ワッチョイ e3bd-rVsz [60.146.119.215]) sage 2018/11/24(土) 08:38:58.23 ID:radxgJ6W0
蠍スレから来た
ラグあるのは事実だから、支える技術本まで買ったが、内容薄すぎていまいちだった
早い話、負荷テストをやっとらんだけやろ
開発用サーバでテストプレイヤー分だけの負荷かけるだけなら、そらヌルヌル動くわな
ping値数msec差の問題よりも、任天堂ハードの処理速度のが問題
せめて提案者は自身の環境くらい書けよ
高スペックPC+有線IPoEとかならあきらかに鯖のメモリ解放失敗とかやろ
実際の環境でって、仮に一部のバトル用サーバ切り離して(できるかしらんが)テストしたところで小負荷なら同じことやろ
蠍スレから来た
ラグあるのは事実だから、支える技術本まで買ったが、内容薄すぎていまいちだった
早い話、負荷テストをやっとらんだけやろ
開発用サーバでテストプレイヤー分だけの負荷かけるだけなら、そらヌルヌル動くわな
ping値数msec差の問題よりも、任天堂ハードの処理速度のが問題
せめて提案者は自身の環境くらい書けよ
高スペックPC+有線IPoEとかならあきらかに鯖のメモリ解放失敗とかやろ
実際の環境でって、仮に一部のバトル用サーバ切り離して(できるかしらんが)テストしたところで小負荷なら同じことやろ
2018/11/24(土) 13:06:40.46ID:CY5XkBlU
2018/11/24(土) 13:30:09.60ID:CDKSSVF4
>>44
逆なんだよね
分厚いドキュメントが必要なのは非オブジェクト指向の方だよ
守らなきゃならないルールを表現するためにいろいろな言語機能が発達したんだよ
例えばカプセル化やインターフェースね
だからオブジェクト指向はドキュメントにそれほど頼らなくても開発できるんだ
逆なんだよね
分厚いドキュメントが必要なのは非オブジェクト指向の方だよ
守らなきゃならないルールを表現するためにいろいろな言語機能が発達したんだよ
例えばカプセル化やインターフェースね
だからオブジェクト指向はドキュメントにそれほど頼らなくても開発できるんだ
2018/11/24(土) 13:44:53.40ID:eoAr82J8
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- れいわ議員「母親はね、子どもを戦争に行かせるために産んだんじゃないんだよ」 高市総理に“10秒回答”迫り、残り5分は“独壇場”★3 [♪♪♪★]
- BreakingDown選手がくも膜下出血、瓜田純士、平手打ちを行った江口響は「もう格闘技も辞めます。責任取りたいです』とまで言ってきてる」 [muffin★]
- 中国国防省が再反論 SNSで公開した音声とは“別の通報”で日本に訓練の時間や海域を通報したと主張★3 [夜のけいちゃん★]
- 資さんうどんが「PayPay」の取り扱いを停止 他のキャッシュレス決済は引き続き利用可能 [少考さん★]
- こども家庭庁、2026年から“独身税”を開始、年収200万なら年4200円、年収400万なら年7800円 ★7 [お断り★]
- 【令和】「ゲーム機にスペックは必要かどうか」議論が白熱 ユーザーが実際に求めているものは? [王子★]
