「オブジェクト指向」と「関数型」、未来があるのはどっちなの?おしえてプログラマー!

スポンサーリンク
スポンサーリンク
1: InfoTec速報がお送りします 2018/08/24(金) 12:46:26.40 ID:GVfwAsYv0 BE:422186189-PLT(12015)

staticおじさんとは、2010年に@ITに「実はオブジェクト指向ってしっくりこないんです!」と投稿して
炎上したおじさんのことである。

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

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

ちなみにstaticおじさんの主張と非常に酷似したものが、staticおじさんの登場より遥か昔、
インターネットを支える中核技術である「IP」のRFC(仕様書)にも「階層化の有害性」として書かれていたりする。
また、海外でも同様の主張を面白おかしく書いた「Bjarne Stroustrup インタビュー」なる怪文書が出回り、こちらも大炎上した。

https://monobook.org/wiki/static%E3%8A%E3%98%E3%95%E3%93

33: InfoTec速報がお送りします 2018/08/24(金) 13:54:33.31 ID:P+/wdP7+0
>>1
この手のスレ立て過ぎ
興味持ったんだな
がんばれよ

 

2: InfoTec速報がお送りします 2018/08/24(金) 12:46:43.83 ID:JB+SyB+90
圧倒的に関数型だろ

 

3: InfoTec速報がお送りします 2018/08/24(金) 12:47:19.30 ID:kg07x1Oa0
GoogleもMicrosoftもAppleも関数型推しだし選択肢ないだろ

 

4: InfoTec速報がお送りします 2018/08/24(金) 12:47:55.20 ID:uA7CjQiN0
Javaがある限りオブジェクト指向は不滅だ

 

5: InfoTec速報がお送りします 2018/08/24(金) 12:48:55.49 ID:J09xbmOa0
仕事が多いにはオブジェクト志向

 

6: InfoTec速報がお送りします 2018/08/24(金) 12:49:10.32 ID:NPDpyHlB0
JavaScript

 

7: InfoTec速報がお送りします 2018/08/24(金) 12:49:19.28 ID:dvgelS3F0

おれはおっさんだから関数型の方が楽
思考もトップダウンになっている

ただオブジェクト指向にしろボトムアップにしろその利点欠点を把握してやることはいいこと

 

8: InfoTec速報がお送りします 2018/08/24(金) 12:49:25.13 ID:cCLBlM6D0
なお日本ではCOBOLをJavaへ必死で移行中

 

9: InfoTec速報がお送りします 2018/08/24(金) 12:49:35.13 ID:HGjb4lo+0
未だにオブジェクト指向の意味がわからん🧠
玄人志向と何がちゃうんや

 

30: InfoTec速報がお送りします 2018/08/24(金) 13:40:55.76 ID:qs7fscXy0
>>9
大差ない 気にするな

 

10: InfoTec速報がお送りします 2018/08/24(金) 12:51:42.34 ID:y8R6n4nR0
純粋関数型言語に決まってんだろ

 

11: InfoTec速報がお送りします 2018/08/24(金) 12:54:10.49 ID:Em6auXVK0
おじさんもおじさんだけど
おじさんを叩いてた連中も副作用について理解していなかった。
どっちもアホ

 

39: InfoTec速報がお送りします 2018/08/24(金) 14:11:38.66 ID:BZlys5JQ0
>>11
staticおじさんが言いたかったことの半分はデータ中心設計なんだよな
本人は概念は知らなかったようだけど
DOAとOOPが相性が悪いのは当然
そのインピーダンスミスマッチ解消を提唱したHibernateに始まるいろんなゴミが結局ゴミにしかならなかったようにOOPは相容れない
エンタープライズ開発ではデータモデル設計が最初に来るのも常識だったので
「オブジェクト指向必要なんですか?」というおじさんの疑問はあり意味マトは外してなかった
大学や独学でお勉強したばかりのにわかプログラマどもはエンタープライズ開発の世界知らないのでOOP万能を信じ込んで発狂
ただおじさんは基礎が無く人間性も屑なんで擁護されなかった

 

12: InfoTec速報がお送りします 2018/08/24(金) 12:54:37.49 ID:SpsvjdRf0
関数てもとはオブジェクト指向だろ
何のために処理をまとめてると思ってるんだよ

 

13: InfoTec速報がお送りします 2018/08/24(金) 12:55:51.55 ID:GIxYITbB0
オブジェクト指向も
関数型も
どの会社も理解して設計組んでるようなところ稀だから

 

20: InfoTec速報がお送りします 2018/08/24(金) 13:01:41.06 ID:CLH9CN/70
>>13
大体サンプル参考にして動いたらオッケーだからな

 

14: InfoTec速報がお送りします 2018/08/24(金) 12:58:15.58 ID:5YE3TRxM0
そもそもプログラマー自体に未来が無いぞ

 

15: InfoTec速報がお送りします 2018/08/24(金) 12:58:16.28 ID:mIr8zGgB0
なんでもいいからマルチスレッドプログラムが簡単に組めるようにしてくれよ

 

16: InfoTec速報がお送りします 2018/08/24(金) 12:58:18.63 ID:7gJXPS8c0
つーかJavaがくそ

 

17: InfoTec速報がお送りします 2018/08/24(金) 12:59:50.64 ID:fudz60AF0
javaScriptをjavaって言う人がいるんだが、javaはなんて呼ぶんだろう

 

18: InfoTec速報がお送りします 2018/08/24(金) 13:00:32.10 ID:CLH9CN/70
技術がどうこう言ってる間に管理職の仕事をしなきゃいけない年齢になった。

 

19: InfoTec速報がお送りします 2018/08/24(金) 13:00:36.98 ID:iNEkVY4f0
異論!反論!オブジェクション

 

21: InfoTec速報がお送りします 2018/08/24(金) 13:02:03.94 ID:ujZ3xIEZ0

マルチパラダイム言語が前提

どちらかしか使えない奴なんて要らない

 

22: InfoTec速報がお送りします 2018/08/24(金) 13:03:37.52 ID:2KX4vNdU0
よくわからん
ガンダムで例えてくれ

 

24: InfoTec速報がお送りします 2018/08/24(金) 13:19:18.59 ID:eJIxpioP0
>>22
ベースクラスがモビルスーツのステイメン、
ステイメンを派生、内包したのがデンドロビウム
どちらもベースクラスはモビルスーツ、みたいな?

 

23: InfoTec速報がお送りします 2018/08/24(金) 13:15:58.82 ID:PTteNE8+0
一つ言えるのはカレーに醤油をかけるような者に未来がない。

 

25: InfoTec速報がお送りします 2018/08/24(金) 13:20:33.72 ID:wgWDiKwy0
最近プログラマー関係のスレ多いね

 

31: InfoTec速報がお送りします 2018/08/24(金) 13:42:18.15 ID:QFR2A08w0
>>25
同じアホが立ててる

 

26: InfoTec速報がお送りします 2018/08/24(金) 13:20:47.45 ID:gRnnWlq10
気にせず両方できればええんやで

 

27: InfoTec速報がお送りします 2018/08/24(金) 13:21:47.78 ID:ZwyiaCu10
あれこれ俺がdisられてる流れなのか?

 

28: InfoTec速報がお送りします 2018/08/24(金) 13:31:14.19 ID:GfXh/yw10
オブジェクト指向はスパゲッティをマシンパワーで補う発想だからな
イニシャルは安いがランニングで高くつく

 

29: InfoTec速報がお送りします 2018/08/24(金) 13:35:00.13 ID:DYIi00Fv0
Javaだって関数型言語の記述を取り入れるようになってるし、手を替え品を替えで生き残るかもね。
それがJavaなのかって話にはなるけど、Javaは冗長な記述が多いのがめんどくさい。

 

32: InfoTec速報がお送りします 2018/08/24(金) 13:49:30.44 ID:gDZdM8Oa0
継承って若い世代に浸透したの?

 

34: InfoTec速報がお送りします 2018/08/24(金) 13:56:32.68 ID:AUhi6vrJ0
甘えるな
アセンブラで書け

 

35: InfoTec速報がお送りします 2018/08/24(金) 13:57:39.02 ID:mqF5LFUp0
久しぶりにプログラマー板見てきたら凄いギスギスしてたわ
昔はあんなんじゃなくほのぼのしてたのに

 

37: InfoTec速報がお送りします 2018/08/24(金) 14:03:52.27 ID:hzDkc1P70
>>35
交流サイトもそんな感じ
MSDNコミュニティーも教えてやってるんだからという態度を全面に出し過ぎ
俺が質問に答えると
「そんな態度の奴に教えるから質問者が図に上る」とかもう訳が分からん

 

57: InfoTec速報がお送りします 2018/08/24(金) 15:23:47.29 ID:lxX0RIbp0
>>35
10数年前からたまにマ板のぞいているけど
当時も今と変わらんくらいにギスギスしてたよ

 

60: InfoTec速報がお送りします 2018/08/24(金) 16:00:09.97 ID:mqF5LFUp0
>>57
いやいや全然変わっちゃったよ
アロエリーナスレもお前のバグだろゴルァスレも無くなってるし
それに変わるようなスレも無いし煽りスレばっかり

 

36: InfoTec速報がお送りします 2018/08/24(金) 13:59:57.93 ID:BZlys5JQ0
オブジェクト指向プログラミングみたいなメンテナンス性低いやり方で開発したら
要件変更の度に膨大な改修コスト発生して採用した企業葉破綻するぞ?
関数型のほうが改良に向いてる

 

38: InfoTec速報がお送りします 2018/08/24(金) 14:08:14.01 ID:BhC+1aCo0

客はどっちでもいいよ

だからどっちもできなければならない

 

40: InfoTec速報がお送りします 2018/08/24(金) 14:13:05.92 ID:X9Xn+5BO0
結局は際限なく増大する複雑さに対する整理整頓術なんだよな
言語はそのきっかけしか与えてくれない

 

41: InfoTec速報がお送りします 2018/08/24(金) 14:13:36.59 ID:6ILCjacs0
関数とclassの違いが分からん

 

42: InfoTec速報がお送りします 2018/08/24(金) 14:14:40.42 ID:PgWAOGon0
分かりやすく構造化されてればなんでもいい

 

43: InfoTec速報がお送りします 2018/08/24(金) 14:19:05.66 ID:LKdkeSUB0
動けばいい

 

45: InfoTec速報がお送りします 2018/08/24(金) 14:29:27.13 ID:DYIi00Fv0

>>43
まあ、客の立場からすればトラブルなく動けば良いというのは確かだな。

ただ、中身の仕組みを客側が全くわからないってのもどうかと思うが。
sierなんて日本だけの謎の存在だし。

 

44: InfoTec速報がお送りします 2018/08/24(金) 14:28:38.33 ID:NdVIuOdf0
MVVMとかMVCとかでMとCの役割が未だに定義できないんだからお察しでしょ

 

46: InfoTec速報がお送りします 2018/08/24(金) 14:33:51.99 ID:r3+YwzGv0
関数ってオブジェクトじゃん。

 

48: InfoTec速報がお送りします 2018/08/24(金) 14:44:31.67 ID:Cj/vksTU0
>>46
オブジェクトとは何かね?
関数でウンコしない美少女が作れるのかい?

 

50: InfoTec速報がお送りします 2018/08/24(金) 14:51:32.62 ID:NdVIuOdf0
>>48
関数の方が作りやすいぞ

 

51: InfoTec速報がお送りします 2018/08/24(金) 15:04:18.03 ID:BZlys5JQ0

>>48
美少女とかウンコとかのモデリングで悩むこと自体がオブジェクト指向プログラミングがアホな証左ですわ

もし業務目的がそうなら関数は簡単に定義できるし
目的と違うならそんなことモデリングする必要性無いと考えるのが関数型プログラミングアプローチ


y = ウンコする関数f(a)

a = 美少女 なら 常にy=0
a = お前らの嫁 なら常にy=太っいうんこ

 

61: InfoTec速報がお送りします 2018/08/24(金) 16:27:05.17 ID:SpsvjdRf0
>>48
残念だがうんこは出る

 

63: InfoTec速報がお送りします 2018/08/24(金) 16:32:24.29 ID:Cj/vksTU0
>>61
嘘は良くない

 

47: InfoTec速報がお送りします 2018/08/24(金) 14:34:57.95 ID:r3+YwzGv0
つかオブジェクト指向なんてどの言語でも当たり前じゃん。

 

49: InfoTec速報がお送りします 2018/08/24(金) 14:45:38.83 ID:wJXQHYf40
手続き型と関数型じゃなくてオブジェクト指向?比べるものが間違ってるだろ

 

52: InfoTec速報がお送りします 2018/08/24(金) 15:05:00.58 ID:wnT7wlZX0
オブジェクト指向はうまく設計すればいいけど
たまに何でもメモリ上に乗せるようなことしてるの見るんだよね
でもオブジェクト指向的には正しい設計だと逆ギレされた時は呆れてしまったwx

 

53: InfoTec速報がお送りします 2018/08/24(金) 15:07:39.25 ID:zIqrk3qR0
感覚的に分かりやすいのは関数
俺はどっちも、使うけど

 

54: InfoTec速報がお送りします 2018/08/24(金) 15:08:45.89 ID:++CmMLPa0
よく判らんが対比の対象になるのこれ?

 

55: InfoTec速報がお送りします 2018/08/24(金) 15:20:47.01 ID:kkFnUiWj0
オブジェクト指向はデータの扱い方の話、関数型言語かどうかとは関係ない。

 

62: InfoTec速報がお送りします 2018/08/24(金) 16:28:44.04 ID:EsK0rAG10
>>55
まあそうだな
オブジェクト指向で関数をまとめることもできるしな
昔から知らずやってることは多い

 

56: InfoTec速報がお送りします 2018/08/24(金) 15:21:24.07 ID:Qm18LxkG0
こういうスレで具体的疑問が湧くと調べたくなってしまう。

 

58: InfoTec速報がお送りします 2018/08/24(金) 15:34:44.21 ID:A47e6g2S0
自動でなんか都合良くAIが組み上げてくれるようになれば、どっちも死んじゃうんじゃないのん?

 

59: InfoTec速報がお送りします 2018/08/24(金) 15:50:00.58
>>58
そんな絵空事は向こう30年は無理

 

64: InfoTec速報がお送りします 2018/08/24(金) 16:35:57.66 ID:y1wnyt1y0
「最近多いんだよね――JAVAとかちょっとかじった程度で「俺プログラマーやってます」って顔する子」
「あるある。最初の入り口がオブジェクト指向なんだよね。最近の子って」
「そうそう。そんなんじゃ使いものにならねぇっての」

 

65: InfoTec速報がお送りします 2018/08/24(金) 16:51:50.70 ID:7gJXPS8c0
糞なのが関数型、めっちゃ糞なのがオブジェクト指向

 

66: InfoTec速報がお送りします 2018/08/24(金) 17:05:22.30 ID:YOE4N0MF0
データとそれを使用する操作を分かりやすく纏めていくと必然的にオブジェクト指向になって行く

 

68: InfoTec速報がお送りします 2018/08/24(金) 17:14:57.35 ID:b8xV5HSE0
オブジェクト指向ってもっと前からじゃん

 

69: InfoTec速報がお送りします 2018/08/24(金) 17:31:46.02 ID:ayf2RB9d0
オブジェクト指向は作ったやつにしかわからん

 

70: InfoTec速報がお送りします 2018/08/24(金) 17:43:37.65 ID:nH+r5GGz0
関数を持った構造体

 

引用元:http://hayabusa9.5ch.net/test/read.cgi/news/1535082386/

コメント

タイトルとURLをコピーしました