「オブジェクト指向」は愚かな考え

Category

1 ::2020/10/29(木) 17:27:15.72 ID:VloW4LSc0.net ?PLT(12015)
https://img.5ch.net/ico/folder1_03.gif
■危険性

かつて偏差値の低い学校向けの情報処理系教科書において「カプセル化は大変すばらしいものであり絶対に使うように」と大体的に宣伝された。

一方、カリフォルニア大学バークレー校の有識者を中心とした「インターネットを作った人たち」は「階層化の有害性(RFC 3439)」として「カプセル化は絶対にやめろ」としている。

大雑把にいうと、教科書の上では素晴らしく、開発を始めた最初のうちは良いが、将来的な改修の際に隠蔽されたデータにアクセスできないと解決できない問題が出てきて、非常に高確率でデスマーチに陥るというのである。

オブジェクト指向の発案者であるアラン・ケイもコーディング規約(頭文字にアンダースコアを付けるなどの命名規則)で縛る程度にすることを推奨しており、アラン・ケイが関わったオブジェクト指向プログラミング言語にはどれも「private」などという概念はない。

ソースコードが存在し改修が可能であればカプセル化しても問題ない。ソースコードがあってもライセンス的に改修できない場合や、そもそもバイナリのライブラリしかない場合などは絶望的である。

https://www.google.com/search?q=%E3%82%AB%E3%83%97%E3%82%BB%E3%83%AB%E5%8C%96%E3%81%AF%E6%84%9A%E3%81%8B%E3%81%AA%E8%80%83%E3%81%88

159 ::2020/10/29(木) 19:05:03.30 ID:tQzbMxVN0.net

>>155
書き直すのに必要な資料が残って無いから…www

53 ::2020/10/29(木) 17:46:56.94 ID:dRJ9llEo0.net

仕様変更への耐性が激低なんだよ

274 ::2020/10/29(木) 23:16:02.03 ID:CeVvYlmR0.net

例えばさ
勤怠管理まで一括管理するセキュリティシステムがあるとするじゃない
んで指紋認証でログインするんだけど、ブラウザがIEだけ

で、今回上がYou Tube見れないからchromeに変えてよとか言い出すわけ
ところが、指紋認証システム部分を開発した下請けメーカーが数年前に倒産してる訳よ
ソースもサポートすらない
じゃあ丸ごと入れ替えるって予算もない
だからvmでIEを起動させて特殊な認証処理を通過してみたいな話になってくる

金じゃ解決できない
完全にデッドロックするわけよ

87 ::2020/10/29(木) 18:02:55.77 ID:2Tm1Qiq+0.net

猫を作ると野良猫からライオンまで作れるとか言うのだっけ

69 ::2020/10/29(木) 17:52:46.76 ID:tQzbMxVN0.net

アジャイルみたいなアホな開発やるならオブジェクト指向取り込んだら終わるよな

190 ::2020/10/29(木) 20:06:52.07 ID:UK5IPWJD0.net

>>29
それってASCI C 89となんか違うの?

467 ::2020/10/31(土) 12:35:28.85 ID:e7Zj7PAu0.net

>>182
マジレス多くて草

396 ::2020/10/30(金) 23:07:26.43 ID:uHjMGmuT0.net

個人用の遊びか研究分野でしか利用価値が無い
ビジネス的にはコード行数が減って単価がデフレし、バグが減ってサポートも儲からない
ビジネス的にダメなプログラミング手法だろうね

真面目にやるほど賃金が下がり、働くほどデスマになる構造なのだから仕方がない
ソレがジャップ社畜の様式美なのだから

222 ::2020/10/29(木) 20:52:19.79 ID:j7uNg7sp0.net

さっぱりわからんが、HTMLでも「どこに書いたっけ」ってなってた俺は死ぬタイプなんだろうな

165 ::2020/10/29(木) 19:08:13.68 ID:BF80T2Nu0.net

あとからいじる奴が偉そうにって思うんだが

228 ::2020/10/29(木) 21:09:09.62 ID:ArqVBN0i0.net

>>213
UMLを書いて、継承する属性とメソッドがそのオブジェクトにふさわしいか検討すべきなんだろうね
とりあえず動くし、大は小を兼ねるみたいに継承してると複雑怪奇なクラス関係が出来上がる

233 ::2020/10/29(木) 21:17:26.19 ID:p0xuU6Vm0.net

まあ実際色々なプロジェクト触ってると、
隠蔽のメリットよりデメリットの方が多いな
設計が適切とは限ら無いし

261 ::2020/10/29(木) 22:54:35.00 ID:/EgMGncU0.net

また、うんこの継承の話か

323 ::2020/10/30(金) 04:37:07.23 ID:TFVy19kd0.net

隠蔽したメンバーが外から見えないのは当たり前
設計が悪いだけ

187 ::2020/10/29(木) 19:59:58.69 ID:sw8HGhEX0.net

ム板で相手にされなくてν速にスレ立てるとか最悪

395 ::2020/10/30(金) 23:01:52.90 ID:uHjMGmuT0.net

まぁ、構造化のほうがやり尽くされてるからな
評価法も確立してて、工賃取りやすい
人も集めやすい

結局、この国は成果物の価値よりも、過程を評価するから、オブジェクト指向はそもそもビジネス的に成立しない
日本型正社員システムや派遣システムと非常に相性が悪い

その意味ではオブジェクト指向は愚かな考えだな
確かに

287 ::2020/10/29(木) 23:38:13.05 ID:CeVvYlmR0.net

まー、これがオープン規格でソースも公開されてれば移植って話になるけど
独自仕様で特定のバイナリモジュールを特定のOSや特定のバージョンのソフトに
インストールしないと駄目みたいな話になるとクソ面倒

カプセル化公害も同じような問題
規格化されてない仕様はデスマの原因

44 ::2020/10/29(木) 17:44:12.49 ID:qQAb9DAj0.net

>>31
ニュースじゃねえ死ねということだ

384 ::2020/10/30(金) 17:48:38.09 ID:uHjMGmuT0.net

継承も
使いすぎれば
GOTO :HELL
結局バカは
何をやっても駄目にする

315 ::2020/10/30(金) 02:23:18.53 ID:7LNcIt5K0.net

htmlがオブジェクト指向にならないのを見れば、
最良の方法でもないんだろ

389 ::2020/10/30(金) 18:44:30.00 ID:D38j8NQL0.net

うちの会社工数高いからプログラマー居なくなったりして切羽詰まった顧客がくるんだよ
で、ソース見たら頭抱えるようなのばかり

267 ::2020/10/29(木) 23:00:02.47 ID:JWNacdqd0.net

>>266
そうだよ、結局、派遣だらけのゼネコン体質なのが根本的な原因だよ

452 ::2020/10/31(土) 11:42:58.59 ID:21ncPwVJ0.net

この場合オブジェクトの「参照先」は、

>脳でなくチンポで物を考える生物についてなら

脳ではなくてチンポ!

250 ::2020/10/29(木) 21:54:28.55 ID:SealC/pM0.net

はて?前にも同じ記事みたような・・

451 ::2020/10/31(土) 11:38:28.26 ID:21ncPwVJ0.net

785 名無し三等兵 sage 2019/12/03(火) 08:03:27.78 ID:sujZBpWD
>>762
>「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!

チンポにチンポ自身を扱く機能が備わっていないので自動詞は不適切だから(34文字)

胸(心臓)には鼓動する機能があるため自動詞の適用対象だが
チンポには勃起する機能はあっても自身を扱く機能はないので「チンポ『が』勃起する」は成立しても「チンポ『が』シコシコする」は成立しない
夢精した状況を「チンポ『が』シコシコした」と称したければ「チンポがエロい夢を見させ夢精した」=「脳ではなくチンポが思考を司りエロい夢を見させて夢精させた」という状況で可となる

脳でなくチンポで物を考える生物についてなら「チンポ『が』シコシコする」は成り立つ
如何にもだつお的じゃないか

203 ::2020/10/29(木) 20:17:42.10 ID:zV37nBJz0.net

>>2
>ただしこのModelクラスを使うと頂点データは遮蔽されておりアクセス

それ、オブジェクト指向の問題じゃなく設計の問題だろ
そういう仕様にした奴に文句を言うべし

214 ::2020/10/29(木) 20:33:47.08 ID:lPVtNgtR0.net

頂点データが隠蔽されているなら、少なくとも当時「公開しなくともよい」という判断がされたわけで
その判断の理由が当時妥当だったか、今でも妥当かが論点であって、カプセル化による隠蔽が愚かとはならんだろ

そもそもアプリケーションフレームワークってのは、余計なことが出来ないように作る面もあるしな

34 ::2020/10/29(木) 17:39:12.45 ID:8ZiyWkba0.net

オブジェクト指向ってのが流行ってすぐ同じこと思ったわ
デバッグできないブラックボックスは使うべきじゃない

356 ::2020/10/30(金) 11:56:55.56 ID:uoMrOoCo0.net

privateは、内部処理用の変数やメソッドに対して定義するもの。
内部処理のつもりで作った部分を変えたら動かなくなったと怒られるので、公開部分だけを使ってくれれば動作を保証するよというもの。

それだけの事だけだったのだけど、隠蔽が正義になって何がなんでも隠蔽しようとするからおかしくなった。

62 ::2020/10/29(木) 17:50:24.03 ID:c9Htp/eL0.net

>>56
良いこと言うね