プログラマに聞きたいんだけどオブジェクト指向ってクソじゃね?

Category

1 :名無しさん@涙目です。:2018/11/22(木) 15:07:59.36 ID:OaykOnnP0.net ?PLT(12015)
http://img.5ch.net/ico/folder1_03.gif
staticおじさんとは、2010年に@ITに「実はオブジェクト指向ってしっくりこないんです!」と投稿して炎上したおじさんのことである。

staticおじさんが爆誕した2010年ごろのIT土方界隈ではJavaを中心としたオブジェクト指向が主流であり
「なんでもかんでもオブジェクト指向」という風潮があった。このためstaticおじさんは多勢に無勢で
ボロクソに叩かれる結果となり、さらにはプログラミングそのものの話を飛び出してオブジェクト指向
推進派による学歴差別などに発展したすえに、無事炎上した。

それからわずか数年後、staticおじさんの主張に「static変数は使わない」「関数ポインタを多用する」
というコーディング規約を加えた「関数型プログラミング」がJavaScript界隈を中心に爆発的に流行し、
その流れに乗るかたちで半ば強制する仕様の「関数型プログラミング言語」も多数登場するなど一大ブームになった。

ちなみにstaticおじさんの主張と非常に酷似したものが、staticおじさんの登場より遥か昔、
インターネットを支える中核技術である「IP」のRFC(仕様書)にも「階層化の有害性」として書かれていたりする。
また、海外でも同様の主張を面白おかしく書いた「Bjarne Stroustrup インタビュー」なる怪文書が出回り、こちらも大炎上した。
https://monobook.org/wiki/%E3%82%B9%E3%82%BF%E3%83%86%E3%82%A3%E3%83%83%E3%82%AF%E3%81%8A%E3%81%98%E3%81%95%E3%82%93

173 :名無しさん@涙目です。:2018/11/23(金) 15:07:23.81 ID:15ovyaTG0.net

実際過去に作ったクラスをよそで流用できたことなんてないよね

239 :名無しさん@涙目です。:2018/11/25(日) 09:37:13.45 ID:1BupQX3l0.net

クソではないでしょ
ゲームの話だが、ポップンミュージックってあるじゃん。あれの「おじゃまポップン」って、まさにオブジェクト指向のポリモーフィズムの仕組みを使ってると思うんだ

81 :名無しさん@涙目です。:2018/11/22(木) 16:50:39.32 ID:DyniCEwb0.net

>>75
なんか結局設計がヘタクソって話が書いてあるなw
上の時間軸の問題や規模の問題は、カプセル化による疎結合で解決する話

>>76
見えなくするというより、アクセスの禁止だよ

54 :名無しさん@涙目です。:2018/11/22(木) 15:53:16.35 ID:pDcIuPtR0.net

>>28
覚えたてだったのか、無駄にシングルトンだらけのソースを見たことある。

154 :名無しさん@涙目です。:2018/11/23(金) 07:58:04.87 ID:8rTPV7qb0.net

慣れる、使い続けるとオブジェクト指向がいいかもね。関数メインでも
いいけど。

56 :名無しさん@涙目です。:2018/11/22(木) 15:55:16.68 ID:EPNzJhYV0.net

>>50
関数型が分かるほどならオブジェクト指向も理解できそうだが

202 :名無しさん@涙目です。:2018/11/24(土) 19:11:14.14 ID:XHlrZlsb0.net

「最初の入り口がオブジェクト指向なんだよね最近の子って

130 :名無しさん@涙目です。:2018/11/22(木) 23:34:35.88 ID:fGqSWs930.net

DIコンテナでinjectionしまくったオブジェクトで
ディープコピーされてないコード見ると泣ける

151 :名無しさん@涙目です。:2018/11/23(金) 07:49:33.68 ID:O2eN8F7J0.net

>>149
違う。
疎結合。

167 :名無しさん@涙目です。:2018/11/23(金) 13:39:32.89 ID:59AHzQU90.net

>>165
事実生産性上がってねえしな

157 :名無しさん@涙目です。:2018/11/23(金) 08:27:06.44 ID:H7M3BEEP0.net

>>150
正解は無いけど、どっちかと言えばinterfaceを第一候補に考えて、ただ共通で継承すべき具体的な処理があるならabstract classという順序と思ってる。
逆に全てのクラスがそのabstract classを必然的に継承するなら、無駄にinterfaceは入れる必要は無いけど。

ただ、実装の再利用が目的なら無理に継承を使わない方がいいかと。実装の再利用なら、staticメソッドでもコンポジットでも出来るから。

196 :名無しさん@涙目です。:2018/11/24(土) 06:54:18.15 ID:/SP9W4IO0.net

アセンブラだろ(適当)

188 :名無しさん@涙目です。:2018/11/23(金) 21:58:11.18 ID:MLI2tvq40.net

上手に使えば外国にオフショアしたとしても上流工程で作ったフローから逸れることなく
作らせることできそうだけど、難し過ぎておれにはできなかった

142 :名無しさん@涙目です。:2018/11/23(金) 02:52:52.70 ID:ovGHVb3/0.net

ごめん、オブジェクト指向以外ってあるの?

182 :名無しさん@涙目です。:2018/11/23(金) 19:06:17.01 ID:IS9rviQJ0.net

>>176
ダメな人に、さらに難しい仕事をさせたら
さらにダメな仕事をするだけだしな

233 :名無しさん@涙目です。:2018/11/25(日) 03:18:24.86 ID:3S4LmYjY0.net

>>211
お?やっぱりキチガイだったかw 早く死んどけよ

96 :名無しさん@涙目です。:2018/11/22(木) 19:20:03.62 ID:8G+N9pIX0.net

>>65
DIについてわかりやすく教えてくれ

85 :名無しさん@涙目です。:2018/11/22(木) 17:00:17.39 ID:ePXFh1Z50.net

>>84
AI「仕様をオブジェクト指向で書いてくれ」

103 :名無しさん@涙目です。:2018/11/22(木) 20:20:49.95 ID:0a8BltPV0.net

マシーンパワーが有って初めて成立する糞

39 :名無しさん@涙目です。:2018/11/22(木) 15:35:51.81 ID:0ApZ33Aq0.net

そら上流こんな所見ないか、見ても書きこまないだろうからな
忙しすぎてそんな暇ない

60 :名無しさん@涙目です。:2018/11/22(木) 16:01:06.50 ID:j9dlTLcs0.net

オブジェクト指向なんてわかる奴がやればいいのにjavaを底辺ITドカタに広めたせいで悲惨なことになった

139 :名無しさん@涙目です。:2018/11/23(金) 02:36:06.34 ID:ZI/DbmjN0.net

汎用フレームワーク作るとオブジェクト指向が理解できるぞ

51 :名無しさん@涙目です。:2018/11/22(木) 15:49:17.77 ID:DyniCEwb0.net

カプセル化とは、人間が一度に把握する情報量を少なくするって事やで

75 :名無しさん@涙目です。:2018/11/22(木) 16:37:31.71 ID:zFGFGfOE0.net

>>49
>>1の続きに書いてあるよ

62 :名無しさん@涙目です。:2018/11/22(木) 16:03:22.41 ID:oJzMUjCr0.net

オブジェクト指向じゃなくてオブジェクト思想と言う言い方の方がしっくりくる。
作成時にどう言う子に育って欲しいかを明確にしないと、情緒不安定なオブジェクトが出来る。

>>12
VBでも理解して使うと仕事が半分になるよ。

138 :名無しさん@涙目です。:2018/11/23(金) 01:48:19.67 ID:Jv+b2M5v0.net

此処でストイックオジサンが一言↓

213 :名無しさん@涙目です。:2018/11/24(土) 20:47:05.81 ID:4fXX2d8c0.net

>>24
プリウスの糞コーダさん

59 :名無しさん@涙目です。:2018/11/22(木) 16:00:45.90 ID:nXqVz5em0.net

>>25
そもそも付いていく必要があるのか?とは考えないのか
もっと簡単だったらほっといても皆使うだろうし

225 :名無しさん@涙目です。:2018/11/24(土) 21:32:52.34 ID:mij3UV1/0.net

>>170
理屈の上ではそうだけど、UIなんかはオブジェクトでやった方がずっと簡単に書ける。
仮にオブジェクトで書いた簡単なコードを全部アセンブラで書いたら何十倍もの時間とコストがかかる。
仕事では開発コストと時間が決まっているから事実上無理。無理にやってそれを超えてしまうと赤字になり給料が出なくなる。

14 :名無しさん@涙目です。:2018/11/22(木) 15:14:31.78 ID:Z10PO/lt0.net

モジュール結合度を素にしろ

コメントする

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です