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

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

97 :名無しさん@涙目です。:2018/11/22(木) 19:23:03.17 ID:JeWW8au50.net

ヨシ!


174 :名無しさん@涙目です。:2018/11/23(金) 15:18:27.49 ID:h/QX1ULQ0.net

マルチプルインヘリタンスは使わない
そもそもインヘリタンスも使わない
普通に作ればオブジェクトコンポジションになる

4 :名無しさん@涙目です。:2018/11/22(木) 15:08:50.64 ID:fK8fmZT20.net

うんこだよ

27 :名無しさん@涙目です。:2018/11/22(木) 15:22:56.09 ID:EDna+eRA0.net

システム間でのファイルの共有関係が管理できてないとバグの温床になる

86 :名無しさん@涙目です。:2018/11/22(木) 17:08:43.76 ID:Z2GMZEjP0.net

>>84
AIなんて高そうなもの使わんでも
そこらの一山幾らの派遣奴隷にやらせりゃいいだろ
って根性の職場でしか働いたことがない

17 :名無しさん@涙目です。:2018/11/22(木) 15:16:39.71 ID:rXjZ/fqy0.net

じゃ、お前だけプログラムは全部同じファイルな

68 :名無しさん@涙目です。:2018/11/22(木) 16:12:34.58 ID:sqCNftF90.net

オブイェークト嗜好

207 :名無しさん@涙目です。:2018/11/24(土) 20:14:02.15 ID:gGgaVngk0.net

>>200
まあ、難しい問題だな、一言で言い表せんわ
強いて言えば自他ともに文句ない程度かな

うまく言えなくてすまん

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

>>51
完全に見えなくなると困ることも多い。
「見えない」と「見えにくい」には絶望的な差がある。

211 :名無しさん@涙目です。:2018/11/24(土) 20:41:15.10 ID:k5wnMAn+0.net

>>166
おまえ頭悪い

193 :名無しさん@涙目です。:2018/11/23(金) 23:08:15.78 ID:hLoPH1pr0.net

>>25
上流と下流って工程であって
どちらが優秀かって話しじゃないんだが

227 :名無しさん@涙目です。:2018/11/24(土) 21:54:52.67 ID:h5xa3yLA0.net

>>132
ほとんどの場合、オブジェクト指向を使っているかとパフォーマンスは直接関係無い。それ以外の要因だったり、あるいは単に設計やアルゴリズムが悪いだけだったりする。

146 :名無しさん@涙目です。:2018/11/23(金) 04:37:41.71 ID:DtjubY980.net

>>117
廃れたBeOSの実装がC++

191 :名無しさん@涙目です。:2018/11/23(金) 22:14:39.40 ID:FWyNTd+t0.net

COBOLのソース見て真似してくれればいいんで…

65 :名無しさん@涙目です。:2018/11/22(木) 16:09:57.24 ID:F/D/aowg0.net

static使う頭が有るなら
後はフィールド変数化してDIでインジェクションするまで後1歩では

110 :名無しさん@涙目です。:2018/11/22(木) 21:19:51.22 ID:XbkEyOmw0.net

めんどくさいからさーデータ型とかやめよーぜ
容量大きくなっても知らんがなー

ここ呼び出してグルグル回せって声かけたらその通りに作ってくれよーAI

93 :名無しさん@涙目です。:2018/11/22(木) 18:19:57.12 ID:wzU0EU/50.net

>>90
オブジェクト指向大好きだけど激しく同意

何事も適材適所がある

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

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

212 :名無しさん@涙目です。:2018/11/24(土) 20:41:40.94 ID:JpgN+Vfr0.net

.netプログラマはオブジェクト指向で自分がプログラムをしていることに気づいてないのがいる
フォームの継承も「そのような機能」で終わらせちゃっていたり

23 :名無しさん@涙目です。:2018/11/22(木) 15:20:18.45 ID:a8JF0q7c0.net

エンジンとかハンドルとかタイヤを別々に作って
最後に合体させて車にするって誰かが言ってたけど合ってる?

106 :名無しさん@涙目です。:2018/11/22(木) 21:03:36.00 ID:l0W2iYNm0.net

糞ではないが
オブジェクトサイズがでかくなるのが組み込みに向かない

90 :名無しさん@涙目です。:2018/11/22(木) 17:32:03.20 ID:/DFaMBV80.net

オブジェクト指向よくわかんないけどとにかくオブジェクト指向でやれって奴は間違いなくクソ

91 :名無しさん@涙目です。:2018/11/22(木) 17:44:39.93 ID:z2fF9jBP0.net

>>24
カッコいい!

230 :名無しさん@涙目です。:2018/11/24(土) 22:06:04.58 ID:h5xa3yLA0.net

>>217
むやみに継承を使うのが良くない。

33 :名無しさん@涙目です。:2018/11/22(木) 15:29:17.28 ID:V5/8X65q0.net

>>32
ま。そだな。

217 :名無しさん@涙目です。:2018/11/24(土) 21:08:55.78 ID:YNlj2kln0.net

業務アプリケーションの開発には向かない
初期構築に時間がかかる上に、機能追加等で基底クラスに手を入れると継承している全ての機能をテストする事になり金がかかるので、結局似て非なるクラスが作られオブジェクト指向が崩壊してゆく

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

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

201 :名無しさん@涙目です。:2018/11/24(土) 18:02:18.90 ID:29PDcY+b0.net

アセンブラよりアンブラッセ

95 :名無しさん@涙目です。:2018/11/22(木) 18:50:31.04 ID:rPez+w6L0.net

>>16
Linuxの内部システムコールとかはLinusかアンチオブジェクト指向なんで分かりやすくて助かってるわ

186 :名無しさん@涙目です。:2018/11/23(金) 21:25:39.11 ID:ZvY4He2L0.net

読めなかったら改修できなくね?

11 :名無しさん@涙目です。:2018/11/22(木) 15:12:46.97 ID:kQMROlwe0.net

誰も仕様を理解していないブラックボックス関数が受け継がれていく

87 :名無しさん@涙目です。:2018/11/22(木) 17:09:02.79 ID:wGvG1Cgo0.net

とにかく動いてくれれば何でもいいよ

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

>>129
業務処理は大抵逐次処理で済むからオブジェクトでなくても間に合ってしまう。

15 :名無しさん@涙目です。:2018/11/22(木) 15:16:29.33 ID:35W5GsvP0.net

天才なら
そもそも構造体の段階で
要らないと気づかなきゃ

26 :名無しさん@涙目です。:2018/11/22(木) 15:22:53.64 ID:9A6rTzEj0.net

デザインパターンがようわからんわ

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

>>12
オメーみたいなのがクソコード量産してんだよ。引退しろよ

144 :名無しさん@涙目です。:2018/11/23(金) 03:37:41.85 ID:EkVxnEEM0.net

ケースバイケースで使い所の違いだけだから
両方有用だわw
何でお前らはゼロイチで考えたがるキモオタなん?
ヲタのくせに流行に弱いの?w

132 :番組の途中ですが名無しです:2018/11/22(木) 23:37:52.58 ID:0F8m0zyZ0.net

どう考えても、確保解放を繰り返すより、static で使いまわした方が速いと思う。

165 :名無しさん@涙目です。:2018/11/23(金) 10:23:45.64 ID:KiOK74R50.net

>>160
仕様以外の目的に仕事を増やす
客に必要の無いドキュメントを増やす

客に対して、余計な仕事をしたので工数分のお金ください。資料代ください。と言うことです

180 :名無しさん@涙目です。:2018/11/23(金) 18:10:53.44 ID:iaF1E8Jd0.net

言語仕様を熟知してて設計経験の豊富なベテランだけでコード書くならgolangやnode.jsは凄い効率いいけど、
そうじゃない人達が設計思想を台無しにする破壊的なコードが書けないように、作業範囲もカプセル化できるのがクラスベースの言語の良いところだと思う。

117 :名無しさん@涙目です。:2018/11/22(木) 22:28:36.52 ID:VnpuBWjd0.net

>>95
OOPで書いたOSってあるの?w

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

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

16 :名無しさん@涙目です。:2018/11/22(木) 15:16:39.25 ID:V5/8X65q0.net

どうあがいても、オブジェクト指向に構成された、ブラックボックスやライブラリの上で書くしかないんだから、愚痴っても仕方ない。

156 :名無しさん@涙目です。:2018/11/23(金) 08:04:37.54 ID:NY1j/ZDd0.net

プログラムなんか一発もんだし

88 :名無しさん@涙目です。:2018/11/22(木) 17:12:11.98 ID:1SWGjSob0.net

pascalいじってて初めてdelphi使った時は感動したがなぁ
0から作る努力をどんどんしなくなったけど

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

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

136 :名無しさん@涙目です。:2018/11/23(金) 01:05:38.80 ID:ss2EcCgr0.net

ただでさえ納期に間に合わすのが、やっとなのに
再利用とか継承とかやってたらコストが掛かり過ぎる
暇な連中がやってくれ

131 :名無しさん@涙目です。:2018/11/22(木) 23:36:29.31 ID:wbvsjct70.net

そのうちAIが全部コーディングしてくれるようになるからプログラミング手法なんて気にしなくてもいいよ
AIをデザインする人を目指してんだったら別だけど

25 :名無しさん@涙目です。:2018/11/22(木) 15:22:10.49 ID:V5/8X65q0.net

>>21
ほんとこれ。
上流では優秀なプログラマがオブジェクト指向を理解してライブラリを作ってる。
下流がついて行けないだけ。

147 :名無しさん@涙目です。:2018/11/23(金) 06:42:36.08 ID:QwnNhaFf0.net

階層化して役割分担して会社組織みたいな全体像が見えてきたのはいいけど、
具体的な処理内容が変数の値によって可変になるようなのばかりで、
結局自分がWeb画面の電文になって旅をしないと目当ての処理が見つからないクソコード

126 :名無しさん@涙目です。:2018/11/22(木) 23:25:06.15 ID:qR8ZhwTx0.net

そんな何個もインスタンス作るようなクラス、めったにない。static class最高や

229 :名無しさん@涙目です。:2018/11/24(土) 22:02:25.76 ID:lAoaCHPB0.net

>>217
そんなのまともなテストコード作っとけば基底クラスの変更くらい余裕だろ

114 :名無しさん@涙目です。:2018/11/22(木) 22:22:44.11 ID:4ovXw5Ii0.net

ノマドじゃねえ、モナドだったwww

19 :名無しさん@涙目です。:2018/11/22(木) 15:17:11.22 ID:uo3q84x40.net

>>13
んなわけあるかw

194 :名無しさん@涙目です。:2018/11/24(土) 04:31:55.28 ID:Mp3zEST80.net

>>193
無能だって自覚出来てないんだからほっとくのがいいよ

192 :名無しさん@涙目です。:2018/11/23(金) 22:54:09.07 ID:Erx7hVxc0.net

バカでもザコでも開発現場で働けるようにするためのものだよ。
ビジネスロジックだけコーディング規約に従って書かせる。
ライブラリとフレームワークはできるヤツしか書く必要がない。

185 :名無しさん@涙目です。:2018/11/23(金) 21:14:41.36 ID:blQAaies0.net

可読性はコードに求める物ではなく仕様書に求めるべきだと思うがね

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

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

3 :名無しさん@涙目です。:2018/11/22(木) 15:08:39.65 ID:+mNps3wB0.net

クソだよ

18 :名無しさん@涙目です。:2018/11/22(木) 15:16:58.76 ID:VoSRpfGx0.net

>>11
それを派遣が伝言ゲームと

209 :名無しさん@涙目です。:2018/11/24(土) 20:28:27.73 ID:K4339zHI0.net

>>207
俺はクラス、カプセル化、オーバーライド、継承、その程度なら普通にわかるんだがなぁ。
多重継承はバグる原因だから知らないw
.netプログラマならオブジェクト指向については皆知ってる気はするんだがなぁ…

141 :名無しさん@涙目です。:2018/11/23(金) 02:50:47.03 ID:uFcIqPta0.net

文章をそのままコーディングしたような
やたらネストが深くて長い
馬鹿みたいなコード書いてるような奴とは
相性が悪いと思うよ

162 :名無しさん@涙目です。:2018/11/23(金) 09:58:57.14 ID:RWAIHWwj0.net

>>160
それが難しい。関数プログラムより何が凄いの?と迫られたら困る。
オブジェクト同士で自律的に連携しあってとか云々言っても、究極的には関数同士で呼び合うプログラムやからな。
オブジェクト指向の方が高度ではあるには違いないが、関数プログラム以上のパフォーマンスを発揮する
「決定的な何か」は何なのか説明できん。

30 :名無しさん@涙目です。:2018/11/22(木) 15:25:20.93 ID:eyjQQ8BI0.net

きちんと管理できて引き継ぎも出来るならいいんじゃね

109 :名無しさん@涙目です。:2018/11/22(木) 21:06:07.09 ID:OuJ5RwDN0.net

オブジェクト指向を理解してないのにオブジェクト指向の派生版みたいなのをちまちま追っかけてるやつはアホだなと思ってる

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

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

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

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

235 :名無しさん@涙目です。:2018/11/25(日) 07:52:44.42 ID:Puirza050.net

 
staticおじさんが原因で関数化なんっすねー。

へぇww初めてしったっすwwww

つーか記事書いた奴バカだろwwwぶっちゃけ

static変数を使わないじゃなくて、クラス変数を使わないのが関数型だし

関数がクラスの状態によって返す値が変わってくるのを防ぎたいがために

クラスに状態を持つ変数をもたせたくないよねーつうのが関数型の出発点の一つ

staticおじさんが関数型の出発点とかwww

こんなトンデモ史観はじめてっすwwwwwww

 

197 :名無しさん@涙目です。:2018/11/24(土) 10:45:48.49 ID:0COX5z6X0.net

日本のIT産業の人間は自分の仕事を卑下するのはなぜなのか?

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

カプセル化による構造化と言ったよい

コメントする

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