2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

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

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

192 :名無しさん@涙目です。:2018/11/23(金) 22:54:09.07 ID:Erx7hVxc0.net
バカでもザコでも開発現場で働けるようにするためのものだよ。
ビジネスロジックだけコーディング規約に従って書かせる。
ライブラリとフレームワークはできるヤツしか書く必要がない。

193 :名無しさん@涙目です。:2018/11/23(金) 23:08:15.78 ID:hLoPH1pr0.net
>>25
上流と下流って工程であって
どちらが優秀かって話しじゃないんだが

194 :名無しさん@涙目です。:2018/11/24(土) 04:31:55.28 ID:Mp3zEST80.net
>>193
無能だって自覚出来てないんだからほっとくのがいいよ

195 :名無しさん@涙目です。:2018/11/24(土) 06:45:22.30 ID:P6x8XUKQ0.net
といっても
派遣プログラマのやってることって

部品のつなぎ合わせ

やん。

196 :名無しさん@涙目です。:2018/11/24(土) 06:54:18.15 ID:/SP9W4IO0.net
アセンブラだろ(適当)

197 :名無しさん@涙目です。:2018/11/24(土) 10:45:48.49 ID:0COX5z6X0.net
日本のIT産業の人間は自分の仕事を卑下するのはなぜなのか?

198 :名無しさん@涙目です。:2018/11/24(土) 12:42:19.62 ID:YHe2tM+40.net
>>197
専門職のはずなんだけどな。
従事者は夢も希望もない事言いやがる

199 :名無しさん@涙目です。:2018/11/24(土) 14:20:04.31 ID:gGgaVngk0.net
>>198
専門職扱いされるのは極一部の優秀の人くらいだからかもね

優秀なプログラマーとして扱われるまで行かなかった(行く見込みもない)夢破れた
人たちが愚痴を言ってるというのがほとんどなんじゃないかな

オブジェクト指向もどうしても理解できなくて苦しんでる人も
それなりに居るようだし

200 :名無しさん@涙目です。:2018/11/24(土) 16:37:02.68 ID:YHe2tM+40.net
>>199
オブジェクト指向の理解って、どの辺まで理解してれば理解なんだ?そこがわかんねぇな

201 :名無しさん@涙目です。:2018/11/24(土) 18:02:18.90 ID:29PDcY+b0.net
アセンブラよりアンブラッセ

202 :名無しさん@涙目です。:2018/11/24(土) 19:11:14.14 ID:XHlrZlsb0.net
「最初の入り口がオブジェクト指向なんだよね最近の子って

203 :名無しさん@涙目です。:2018/11/24(土) 19:21:04.55 ID:OLiVJ01v0.net
>>13
無限かよ

204 :名無しさん@涙目です。:2018/11/24(土) 19:23:27.32 ID:OLiVJ01v0.net
ほとんどのPGがオブジェクト指向で作られたライブラリ使うだけじゃねーの?

205 :名無しさん@涙目です。:2018/11/24(土) 19:29:21.96 ID:DMaJj7CM0.net
>>197
建築に例えると、建築の勉強をして、世界の名だたるビルディングに負けないようなものを作ろうと意気込んで飛び込んだが、上級企業が全てを仕切ってて、やってることは欧米の後追いオンリー、下手すれば後追いのレベルですらない。

そして、自身は土運びとコンクリート流しの土方作業、または辻褄合わせのドキュメント作成を朝から晩までやらされ、できあがるものは世界的には数世代前の時代遅れの建築物か、公共事業的な必要のないもの。

206 :名無しさん@涙目です。:2018/11/24(土) 20:07:46.59 ID:hGWvbDfs0.net
オブジェクト指向言語で書かれたコードってエラーチェック省きすぎじゃね?

207 :名無しさん@涙目です。:2018/11/24(土) 20:14:02.15 ID:gGgaVngk0.net
>>200
まあ、難しい問題だな、一言で言い表せんわ
強いて言えば自他ともに文句ない程度かな

うまく言えなくてすまん

208 :名無しさん@涙目です。:2018/11/24(土) 20:22:08.93 ID:0xq8rjpW0.net
オブジェクト指向ってことはまだオブジェクトそのものじゃなくて、そこへ向かう途上ってこと?

209 :名無しさん@涙目です。:2018/11/24(土) 20:28:27.73 ID:K4339zHI0.net
>>207
俺はクラス、カプセル化、オーバーライド、継承、その程度なら普通にわかるんだがなぁ。
多重継承はバグる原因だから知らないw
.netプログラマならオブジェクト指向については皆知ってる気はするんだがなぁ…

210 :名無しさん@涙目です。:2018/11/24(土) 20:34:39.42 ID:/Inuz0Ks0.net
関数とメソッドは違うということまでは分かった。

211 :名無しさん@涙目です。:2018/11/24(土) 20:41:15.10 ID:k5wnMAn+0.net
>>166
おまえ頭悪い

212 :名無しさん@涙目です。:2018/11/24(土) 20:41:40.94 ID:JpgN+Vfr0.net
.netプログラマはオブジェクト指向で自分がプログラムをしていることに気づいてないのがいる
フォームの継承も「そのような機能」で終わらせちゃっていたり

213 :名無しさん@涙目です。:2018/11/24(土) 20:47:05.81 ID:4fXX2d8c0.net
>>24
プリウスの糞コーダさん

214 :名無しさん@涙目です。:2018/11/24(土) 20:56:54.81 ID:/mbfmgWD0.net
>>212
あるあるwww

215 :名無しさん@涙目です。:2018/11/24(土) 20:57:04.27 ID:ZskFbV5N0.net
100人いれば100通りの解釈があると聞いた

216 :名無しさん@涙目です。:2018/11/24(土) 21:03:10.03 ID:K4339zHI0.net
>>212
フォームの継承は便利だよな
基本は同じなんだけど微妙な亜種みたいなフォーム量産する時助かる

217 :名無しさん@涙目です。:2018/11/24(土) 21:08:55.78 ID:YNlj2kln0.net
業務アプリケーションの開発には向かない
初期構築に時間がかかる上に、機能追加等で基底クラスに手を入れると継承している全ての機能をテストする事になり金がかかるので、結局似て非なるクラスが作られオブジェクト指向が崩壊してゆく

218 :名無しさん@涙目です。:2018/11/24(土) 21:09:50.60 ID:mij3UV1/0.net
>>120
プログラム言語の歴史は60年くらいあるが、オブジェクト以前はきちんとコーディング規約を決めてみんながそれを守って
作れば良かった。オブジェクトの概念が入ってくると、既存の言語とは概念が違うので混在させるのが難しい。
で、どちらを使うかから検討しないといけなくなり、オブジェクトでいくと決めた場合は既存の開発手法が使えなくなるので
手探りで開発していかないといけなくなった。オブジェクト以前と違って抽象的な概念が多いので、書いたコードが動いても
それを正確に理解し、保守したり拡張するのが難しくなった。開発者が辞めるとそれを引き継いだ人もオブジェクトの開発経験が
ないと引き継げないのでいろいろ大変。年寄りには無理。

219 :名無しさん@涙目です。:2018/11/24(土) 21:13:06.00 ID:mij3UV1/0.net
>>129
業務処理は大抵逐次処理で済むからオブジェクトでなくても間に合ってしまう。

220 :名無しさん@涙目です。:2018/11/24(土) 21:14:34.47 ID:mij3UV1/0.net
>>132
OS作りや速度・効率を考えたらその方がずっと良いと思う。

221 :名無しさん@涙目です。:2018/11/24(土) 21:16:56.29 ID:mij3UV1/0.net
>>142
C、Pascal、アセンブラなどの旧言語はオブジェクト指向とは無縁

222 :名無しさん@涙目です。:2018/11/24(土) 21:19:42.49 ID:nC8trjIx0.net
COBOLerがよく口にする「コピー句」って何のことかサッパリ分からんけどなんか格好いい!

223 :名無しさん@涙目です。:2018/11/24(土) 21:19:57.47 ID:mij3UV1/0.net
>>145
インスタンスを生成したら、そのメソッドを指すポインタ表を作り、処理するときはそこに飛んで処理して、終わったら戻る。
Cでもこうなるようにコードを書けば同じことができる。

224 :名無しさん@涙目です。:2018/11/24(土) 21:28:12.95 ID:mij3UV1/0.net
>>160
昔の言語は、必要なコード(サブルーチン)を呼び出して動かすのが当たり前だったが、動作に必要なデータは好き勝手に扱っていた。
そのため、あるデータをどのコードが読み書きしているかわからなくなったりしてバグの原因になっていた。そこで、何か処理をするときは、
それを処理するコードとデータを1つにまとめて扱うことにしたのがオブジェクト。こうしておけば、そのデータをいじるのは同じクラス内の
メソッドしかないのでバグがあってもその辺を調べれば原因がわかるようになるし、他のクラスが何をしても別のクラスのデータには影響が
ないから扱いやすい。

225 :名無しさん@涙目です。:2018/11/24(土) 21:32:52.34 ID:mij3UV1/0.net
>>170
理屈の上ではそうだけど、UIなんかはオブジェクトでやった方がずっと簡単に書ける。
仮にオブジェクトで書いた簡単なコードを全部アセンブラで書いたら何十倍もの時間とコストがかかる。
仕事では開発コストと時間が決まっているから事実上無理。無理にやってそれを超えてしまうと赤字になり給料が出なくなる。

226 :名無しさん@涙目です。:2018/11/24(土) 21:49:36.18 ID:/mbfmgWD0.net
1人で開発する時や何年も同じチームでやっている場合は、オブジェクト指向の恩恵を受ける。
それ以外だと、恩恵が無いだけでなく、トラブルシューティングの工数が増大する。

オブジェクト指向は作った人の考え方が影響するので、オブジェクト「思考」だと思う。
その思考を次のプロジェクトリーダーに継承出来ればうまくゆく。

ちょっと、うまいこと言ってみました。

227 :名無しさん@涙目です。:2018/11/24(土) 21:54:52.67 ID:h5xa3yLA0.net
>>132
ほとんどの場合、オブジェクト指向を使っているかとパフォーマンスは直接関係無い。それ以外の要因だったり、あるいは単に設計やアルゴリズムが悪いだけだったりする。

228 :名無しさん@涙目です。:2018/11/24(土) 21:57:29.75 ID:uclPj8WO0.net
>>212
どんな現場だよ
煽り抜きに底辺にも程があるぞ…

229 :名無しさん@涙目です。:2018/11/24(土) 22:02:25.76 ID:lAoaCHPB0.net
>>217
そんなのまともなテストコード作っとけば基底クラスの変更くらい余裕だろ

230 :名無しさん@涙目です。:2018/11/24(土) 22:06:04.58 ID:h5xa3yLA0.net
>>217
むやみに継承を使うのが良くない。

231 :名無しさん@涙目です。:2018/11/24(土) 22:14:34.54 ID:wBGiEYNC0.net
俺初めてまだ半年も立ってないけどオブジェクトクラスがどういう子をさしてるかとかよくわからない。
strutsはしね

232 :名無しさん@涙目です。:2018/11/24(土) 22:30:05.64 ID:qeXbAjz60.net
テスト自動化はセットなんだなぁ…まぁどっちにしてもまともなテストコード書くコストはソコソコ掛かりそうだ…

233 :名無しさん@涙目です。:2018/11/25(日) 03:18:24.86 ID:3S4LmYjY0.net
>>211
お?やっぱりキチガイだったかw 早く死んどけよ

234 :名無しさん@涙目です。:2018/11/25(日) 07:44:28.45 ID:4KLi6d6Q0.net
>>153
疎結合のためのカプセル化が本質なんだよ。
だから結局疎結合なの。

235 :名無しさん@涙目です。:2018/11/25(日) 07:52:44.42 ID:Puirza050.net
 
staticおじさんが原因で関数化なんっすねー。

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

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

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

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

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

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

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

 

236 :名無しさん@涙目です。:2018/11/25(日) 07:58:30.45 ID:4KLi6d6Q0.net
継承は結局プログラマのお遊びを助長するだけで
そんなに価値のあるもんではなかった

237 :名無しさん@涙目です。:2018/11/25(日) 09:04:51.33 ID:MzRFAHl50.net
なつかしいなstaticおじさん・・・

でもオブジェクト指向ももう昔の話になってきたと思うな

238 :名無しさん@涙目です。:2018/11/25(日) 09:08:12.19 ID:YGlWjJtk0.net
Java覚えたけど、組み込みだと全然使わないな
結局PICもルネサス系のマイコンもARMも全部Cで書いてる

なんか組み込み分野で活かせないかな

239 :名無しさん@涙目です。:2018/11/25(日) 09:37:13.45 ID:1BupQX3l0.net
クソではないでしょ
ゲームの話だが、ポップンミュージックってあるじゃん。あれの「おじゃまポップン」って、まさにオブジェクト指向のポリモーフィズムの仕組みを使ってると思うんだ

240 :名無しさん@涙目です。:2018/11/25(日) 09:45:53.34 ID:BkJ15YtR0.net
オブジェクト指向には議論の余地がある
→まあわかる

オブジェクト指向理解できない、だからクソ
→ガイジかな?

241 :名無しさん@涙目です。:2018/11/25(日) 09:49:59.86 ID:MzRFAHl50.net
APIとかマイクロコードとかっていうの?なんか昔もそういうのあったと思うけど・・・
あれはどうなんだろうか。
しかしハードの進歩は素晴らしい。それを実装してもそれなりの速度出るんだしなあ。

業務プログラムってことだと上に出てる通り結局似たようなものを作る羽目になる気がする。
もちろん下の層のフレームワークは再利用ばりばりでつくられるんだろうけどさ。

総レス数 241
55 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★