[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 09/06 23:02 / Filesize : 283 KB / Number-of Response : 1027
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

オブジェクト指向はオワコン



1 名前:デフォルトの名無しさん mailto:sage [2023/08/26(土) 22:00:53.85 ID:H4l7y46b.net]
最近の言語には採用されないことが増えている

2 名前:デフォルトの名無しさん mailto:sage [2023/08/26(土) 23:53:44.68 ID:gfADRkkl.net]
オブジェクト指向言語で書きさえすれば勝手にオブジェクト指向になると
勘違いしてるやつが多かったな

3 名前:デフォルトの名無しさん mailto:sage [2023/08/27(日) 00:05:48.88 ID:2ftdtUtN.net]
また複おじか

4 名前:デフォルトの名無しさん mailto:sage [2023/08/27(日) 01:02:23.53 ID:Kon47qvU.net]
そうなの?もう標準になっちゃってるだけじゃないの?

5 名前:デフォルトの名無しさん mailto:sage [2023/08/27(日) 10:56:24.10 ID:mybkYCXq.net]
そもそもライブラリがオブジェクト指向だし
オブジェクト指向を回避したくても出来ない

6 名前:デフォルトの名無しさん mailto:sage [2023/08/27(日) 11:25:38.22 ID:6sPGKOVF.net]
みんな一時的に反発して違うパラダイムに行くけど結局帰ってくるのさ

7 名前:デフォルトの名無しさん mailto:sage [2023/08/27(日) 12:35:22.13 ID:53CZdhI9.net]
コンストラクタに独自のクラスいくつも要求してくるタイプの設計マジで嫌い

8 名前:デフォルトの名無しさん [2023/08/27(日) 14:38:41.20 ID:2Rmcg3Nl.net]
この処理は一箇所に集約できるんじゃないかっていう人間の感覚と
型による論理的な整合性がズレてることがあって
継承を使ったオブジェクト指向は思ってるより難しいのよね
作り始めたときはよかったけど修正が入るうちにどうしようもなくなった
なんてことも起こりがち

9 名前:デフォルトの名無しさん mailto:sage [2023/08/27(日) 14:43:49.76 ID:EmRb2yD4.net]
プログラム作れない奴注目してほしくてクソスレ立てるムーブ
リアルで犯罪やらかす前に病院行った方がいいぞマジで

10 名前:デフォルトの名無しさん [2023/08/27(日) 15:01:39.11 ID:Pba1j/J0.net]
オブジェクト指向じゃなくて継承が諸悪の根源なだけだろ



11 名前:デフォルトの名無しさん mailto:sage [2023/08/27(日) 15:08:02.74 ID:1X2LepYJ.net]
gofデザ

12 名前:インパターンもいらん []
[ここ壊れてます]

13 名前:デフォルトの名無しさん mailto:sage [2023/08/27(日) 20:07:36.84 ID:9PHjLu48.net]
またC言語が勝ったか
敗北を知りたい

14 名前:デフォルトの名無しさん [2023/08/27(日) 23:59:58.82 ID:xzJBfiva.net]
オブジェクト指向を不適切に使っている人が多いだけ。オブジェクト指向で本当に書くべき所だけ書けばよい。

15 名前:デフォルトの名無しさん mailto:sage [2023/08/28(月) 00:19:04.52 ID:I52qKdOk.net]
ペテン師がうそばっかこいて布教
ttps://stat.ameba.jp/user_images/20140429/20/kurosawa-tomoyo/99/73/j/o0800107112924360687.jpg

16 名前:デフォルトの名無しさん [2023/08/28(月) 15:03:35.30 ID:FqjmR9MT.net]
継承w
継承なんかフレームワーク構築で使うもの。
アプリでは、委譲、集約を使う。

17 名前:デフォルトの名無しさん [2023/08/28(月) 15:19:41.36 ID:V9/6DHRS.net]
アプリは底辺土方の作業なのでどうでも良いじゃん
プログラマはライブラリやフレームワークを作ります

18 名前:デフォルトの名無しさん [2023/08/29(火) 11:18:21.31 ID:+HxwobiY.net]
>>16
と底辺土方が申しております

19 名前:デフォルトの名無しさん [2023/08/29(火) 11:52:41.99 ID:uTnQ7OpV.net]
そうです、私が底辺土方です

20 名前:デフォルトの名無しさん [2023/08/29(火) 11:59:48.44 ID:uTnQ7OpV.net]
土方的にはオブシコは時代遅れっていうかー
オブシコでは複雑さに対処できないことが多くの人の経験から明らかになってるのでー
昔はstaticおじさんとかドメイン貧血症と言われてバカにされていたものが
実は正しかった可能性が高いっていうのがいまの状況でー
データと振る舞いを分離することでシステムがしなやかになると認識してますねー
以上、土方の現場はそんな感じですねー



21 名前:デフォルトの名無しさん [2023/08/29(火) 12:14:34.24 ID:uTnQ7OpV.net]
オブジェクト指向最強説が巷間に流布していたのは~2007年くらいまでですね

2007年前後にオブジェクト指向ってなんかおかしくない?と聡明な人たちが気付き始めて
より良い方向を探り出して関数型やデータ指向が再発見されて
その考えが一般の人にまで広がりだしたのが現代ですね

聡明な人はさらにその先まで見えてるのかもしれないですが
俺のような一般土方的にはデータと振る舞いは分けて設計するのがいまの現場のベストプラクティスです

22 名前:デフォルトの名無しさん mailto:sage [2023/08/29(火) 12:47:45.08 ID:YzXqUdha.net]
勉強になります

23 名前:デフォルトの名無しさん mailto:sage [2023/08/29(火) 15:17:11.07 ID:GZdflYYk.net]
これ会議が負けて、現場が勝ったみたいな話よね
現実は机上で考えるより複雑だったと

24 名前:デフォルトの名無しさん mailto:sage [2023/08/29(火) 16:11:58.85 ID:bwHJoeEc.net]
オブシコキモい

25 名前:デフォルトの名無しさん mailto:sage [2023/08/29(火) 16:14:13.67 ID:bwHJoeEc.net]
正確に言えばオブシコがキモいんじゃなくて
オブシコおじがキモい

26 名前:デフォルトの名無しさん [2023/08/31(木) 19:47:10.22 ID:Wp8e5yX6.net]
ちょっと論点ずれるかもだけど、
結局何が良いのだろう。

最近、Goが気になってるのですが、頭いい人教えてください。

下記見て混乱してるところにオブジェクト指向オワコンと来るとどういう時に使い分ける(関数型?)か混乱します。

Goはオブジェクト思考?
https://postd.cc/is-go-object-oriented/

GoとJavaの

27 名前:違い
https://inside.dmm.com/articles/ex-java-engineer-thoughts-about-go/
[]
[ここ壊れてます]

28 名前:デフォルトの名無しさん mailto:sage [2023/08/31(木) 20:57:44.89 ID:xuZfOSNk.net]
混乱するなら関わるな
無理に理解しようとすると頭がおかしくなって死ぬぞ

29 名前:デフォルトの名無しさん [2023/09/01(金) 10:17:00.62 ID:8Q6o7DlX.net]
goがオワコン

30 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 10:54:12.28 ID:z0kX04PW.net]
トップオブトップのPythonさんがオブジェクト指向なんだから安心してついていこうぜ



31 名前:デフォルトの名無しさん mailto:sage [2023/09/01(金) 12:32:14.48 ID:YK6A/+tP.net]
コピペするなっていうけどコピペしてクラスメソッドとして実装した方が何かと都合いいよな

32 名前:デフォルトの名無しさん mailto:sage [2023/09/02(土) 01:55:07.77 ID:SWd5fs2f.net]
WindowsにしろMacにしろUNIXにしろGUIがオブジェクト指向を根本原理として作られているから
フルスクラッチで刷新されない限り、オブジェクト指向の呪縛からは逃れられない

33 名前:デフォルトの名無しさん [2023/09/02(土) 12:26:53.46 ID:TvfRP8L0.net]
フルスクラッチとは言ってもライブラリ使う時点でもうオブジェクト指向なので

34 名前:デフォルトの名無しさん [2023/09/02(土) 15:29:32.20 ID:mCX3wjBN.net]
オワコンなのに人気絶大のスレ七不思議

35 名前:デフォルトの名無しさん mailto:sage [2023/09/02(土) 16:04:40.99 ID:22jxpZyL.net]
>>32
クソスレで雑談したがるお前みたいなカスがいるからだよ
当たり前のように使うものをオワコンって言うのが異常

36 名前:デフォルトの名無しさん mailto:sage [2023/09/02(土) 20:23:00.00 ID:F+VUcEjl.net]
オブジェクト指向は部分的には成功してるんだと思う
よくあるコンテナ類のクラスライブラリとか使いやすいでしょ?
別になんにも文句ないでしょ?
OOPを定義するお題目、カプセル化がどうのとかも、
非常によくマッチして効果を発揮してくれてると思う。

だけどそっから先が盲点。
OOPのコンセプト自体はいいのかもしれん。
OOPで作ったクラスライブラリも、良いのがあるのかもしれん。

でも、クラス設計が難しい。
クラスライブラリの設計が難しい。
OOPを使ってさあ自前の何かを作ろうとしたら難しい。
間違う。間違いをさらなる間違いで補う。
糞の山を糞でラッピングする。

自分でクラスや、関連する一連のクラス群をつくるとき、
そこに最大の困難があり、さらにそれは自覚されない。
プログラマの共通認識とすらされていない。
OOPやOOPLについては語れど、クラス設計の困難さには意識が行かない。
またはその困難さを解決する認識も知識も文化もなにもかもが不足している。
クラス設計の難しさに対して誰もが、とたんに無力に、無自覚になる。
ここにOOPの恐ろしさがある。

37 名前:デフォルトの名無しさん [2023/09/02(土) 21:16:52.73 ID:Tv71xRLL.net]
Javaでないならムリに自分でクラスを作らなくても良くない? とりあえず構造体と関数で書いてみて、必要だと思ったらクラスに移行するとか。スクリプト言語とかでもそんな感じだし。
組み込みのクラスライブラリを使うだけでも十分にOOLの恩恵はあると思うけど。

38 名前:デフォルトの名無しさん mailto:sage [2023/09/02(土) 21:28:19.20 ID:F+VUcEjl.net]
正解
クラスを書かないほうが正解
標準のクラスライブラリだけを使って済むならそれが正解

ただ、そうもいかないときに徐々にホラーになっていく

39 名前:デフォルトの名無しさん [2023/09/03(日) 02:11:19.15 ID:7SLOG4Oq.net]
クラス使わないなら構造体のない言語でデータはどうやって定義すんの
全部辞書型か?
クラス自体が動作を振る舞う必要はないっていうデザインパターン論ならわかるが
それすら人間が歩いたり物を持ったりするという機能から考えると直感に反するけどな

40 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 02:58:29.28 ID:k3BC+VzT.net]
ここで人間とか動物の話はやめてくれんか
少なくともオブジェクト指向のアプローチは失敗した
その直感とやらは錯覚かもしれん



41 名前:デフォルトの名無しさん [2023/09/03(日) 10:25:05.88 ID:bR7Kkxs2.net]
メソッドは成功してると思う
継承と過度なカプセル化は失敗だと思う

42 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 13:05:50.27 ID:vJMnDf/i.net]
動物の例😩

43 名前:デフォルトの名無しさん [2023/09/03(日) 13:10:54.52 ID:jFAGdbdC.net]
>>34
MFC ω のことですねωω判りますωωω

44 名前:デフォルトの名無しさん [2023/09/03(日) 13:12:09.26 ID:jFAGdbdC.net]
>>37
Rustは?
Nimは?
知ってて言ってるのか?

45 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 13:25:41.46 ID:TVj/CYl9.net]
動物の例も批判されがちだけど
あれもねえ
例えは例えなんだから
そのあとは自力で応用しようよ?
コツだけうまく受け取ろうよ? って思うわ

実装に対するインタフェースだとか
継承時のポリモーフィズムだとか
そこだけ例から読み取って
あとはうまく応用しろよって思うわ

具体例からエッセンスだけを取り出して
うまいこと抽象化してくのは必須よね

46 名前:デフォルトの名無しさん mailto:sage [2023/09/03(日) 16:55:38.75 ID:tRta3c8j.net]
>>42
Nimは知らんがRustは構造体あるだろ。
俺はRustはオブジェクト指向で書けると思ってるよ。

俺の考えるオブジェクト指向の中では継承は必須でも何でもないので。

47 名前:デフォルトの名無しさん mailto:sage [2023/09/04(月) 04:29:08.08 ID:xgTXgyct.net]
アプリレイヤを記述する際、継承は確かに百害あって一利くらいしかなかったけど
オブジェクト指向の本質的な問題点にちゃんと気が付いている人は
とても少ない

48 名前:デフォルトの名無しさん mailto:sage [2023/09/04(月) 06:10:55.97 ID:xHCSfiKY.net]
ワンワン
にゃ~

49 名前:デフォルトの名無しさん [2023/09/04(月) 06:56:31.16 ID:CodZWLif.net]
向き不向きがあると思う
GUIとかゲーム開発には向いているからスマホアプリ開発やwindowsアプリ開発には向いている

サーバサイドには全く向いていない

GUI、ゲーム開発は動物、犬に当てはめやすいから向いてるけど、サーバサイドは向いてないのよね

50 名前:デフォルトの名無しさん [2023/09/04(月) 14:21:39.02 ID:pTWW8n2s.net]
>>45
そもそも問題は無い
はい論破です



51 名前:デフォルトの名無しさん [2023/09/04(月) 17:33:01.25 ID:/cuaDPpR.net]
>>37
> 全部辞書型か?
そうなる
型の安全性と引き換えに柔軟性を得るっていうのがデータ指向の考え方

オブジェクトに状態をもたせるオブジェクト指向も使い所によってはあり
人間の場合はたとえば明日人間の機能が変わりますなんてことないし機能が安定しているのよね

オブジェクト指向はスタックやリストといったデータ構造とも相性が良い
一方で仕様がころころ変わる業務要件とはあまり相性が良くない

52 名前:デフォルトの名無しさん [2023/09/04(月) 18:33:09.57 ID:UIsGravq.net]
JSONω最強ですねωω判りますωωω

53 名前:デフォルトの名無しさん mailto:sage [2023/09/04(月) 19:55:21.97 ID:rfWjSjrk.net]
> オブジェクト指向の本質的な問題点

それは一体なに?

54 名前:デフォルトの名無しさん mailto:sage [2023/09/04(月) 20:10:24.18 ID:dI7wGXXb.net]
オワコン

55 名前:デフォルトの名無しさん mailto:sage [2023/09/05(火) 07:02:20.12 ID:/8UA8cLZ.net]
オブシコはむしろ来年あたりから再注目されるよ

56 名前:デフォルトの名無しさん mailto:sage [2023/09/05(火) 08:43:02.70 ID:ATQD7eXq.net]
モダンオブジェクト指向入門

57 名前:デフォルトの名無しさん mailto:sage [2023/09/05(火) 09:59:39.00 ID:bvW9yjd2.net]
関数型言語

58 名前:最強
やっててよかったC言語
[]
[ここ壊れてます]

59 名前:デフォルトの名無しさん mailto:sage [2023/09/05(火) 12:42:39.14 ID:cCymHTD2.net]
オワリ際に遅刻して処理されるコンストラクタ

60 名前:デフォルトの名無しさん mailto:sage [2023/09/05(火) 19:24:17.95 ID:sZBFZ5KB.net]
帯び文
やっぱりみんなオブジェクト指向に帰ってくる



61 名前:デフォルトの名無しさん [2023/09/05(火) 19:45:31.82 ID:vQrCTIpk.net]
そもそもオブジェクト指向にとって代われると思うこと自体勘違い甚だしい

62 名前:デフォルトの名無しさん mailto:sage [2023/09/05(火) 20:09:35.92 ID:HAOsJdAK.net]
>>58
方法の一つでしか無いものにとって代わるって何言ってんの
コピペでしかプログラムできないバカ消えろ

63 名前:デフォルトの名無しさん mailto:sage [2023/09/05(火) 20:58:49.75 ID:MTbz99Up.net]
>>55
まさかCが関数型言語とか言わんよね?

64 名前:デフォルトの名無しさん [2023/09/06(水) 00:09:58.68 ID:H9m3TOIp.net]
>>59
オブジェクト指向こそが至高

65 名前:デフォルトの名無しさん mailto:sage [2023/09/06(水) 14:31:43.33 ID:y4HhiiDL.net]
static関数をすこれ

66 名前:デフォルトの名無しさん mailto:sage [2023/09/06(水) 22:40:02.86 ID:HGpQ4Jna.net]
なんや、それ

67 名前:デフォルトの名無しさん mailto:sage [2023/09/07(木) 01:21:20.89 ID:gnShnq85.net]
デザパタ用語ではシングルトンパターン(笑)

68 名前:デフォルトの名無しさん mailto:sage [2023/09/07(木) 02:39:23.32 ID:ASBmJNcr.net]
全然違うぞw

69 名前:デフォルトの名無しさん [2023/09/07(木) 23:31:22.59 ID:mdRVL8hl.net]
関数型言語ではライブラリどう扱うん?

70 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 00:27:59.13 ID:+kl4ffGL.net]
こういうつまんねぇ話は2003年頃に済ませておけよ



71 名前:デフォルトの名無しさん [2023/09/08(金) 01:09:06.66 ID:pIxFIjjS.net]
>>48
asahi.5ch.net/test/read.cgi/newsplus/1694055825/

72 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 03:00:17.98 ID:Wdg5/Ojr.net]
OOP信者の方はC#の拡張メソッドのことどう思ってるんですかw

73 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 09:05:25.14 ID:5xCGhqQr.net]
>>69
あって当然の仕組み

74 名前:デフォルトの名無しさん [2023/09/08(金) 09:56:43.98 ID:U3VyfYkU.net]
>>67
おじいちゃん、ここは若者のスレッドなの老害はでしゃばらないでね

75 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 13:33:28.64 ID:xvdxrsKm.net]
既存フレームワークはオブジェクト指向かもしれんけど
俺はその書き方では使ってない
これが答えだ

76 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 14:16:55.80 ID:9xaMduSN.net]
何の答えだよw

77 名前:デフォルトの名無しさん mailto:sage [2023/09/08(金) 17:25:44.02 ID:LnB50oKq.net]
>>71
5chで若者とか笑わせなくていいからハロワ行けよ

78 名前:デフォルトの名無しさん [2023/09/08(金) 17:39:09.54 ID:xhNNQs6H.net]
オブジェクト指向こそ至高だろ?
オブジェクト指向のコード読めなくて負い目感じてるよね?

79 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 00:20:38.75 ID:57t0AUvC.net]
>>75
お前の書くコードはくちゃくちゃで眺めると目がつぶれそうだよ

80 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 06:42:18.63 ID:L8RTgt6O.net]
>>75
オブジェクト指向の最大の長所は可読性の高さだが、お前はオブジェクト指向の基本からまるで分ってないな



81 名前:デフォルトの名無しさん [2023/09/09(土) 08:47:48.10 ID:qG0K3jtD.net]
オブジェクト指向の最大の長所が可読性って、そんなに言われているかな? うまいことブラックボックス化ができたたきにゴチャっとしたコードをクラス内部に閉じ込められる効果はあるけれども、オブジェクト同士の相互関係は、基本的にはオブジェクトの海と言われるスパゲティじゃない?

82 名前:デフォルトの名無しさん [2023/09/09(土) 09:31:35.89 ID:5dSlQ8VJ.net]
>>78
スパゲッティの定義次第だからその定義を共有しないと話が噛み合わない。
同じコードをオブジェクト指向以外で書いたらスパゲッティじゃなくなるのか、と。
「私が読みにくいと感じるからスパゲッティ」ならどうとでもなる。

83 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 09:33:25.46 ID:Cz8dAb+H.net]
OOPのメリッ

84 名前:gが何なのか未だに分からん
Smalltalkみたいに実行環境からオブジェクトをいろいろいじれるやつのときは
オブジェクトってもんがもっと動的に、マウスで触れるような存在で
なんかそういういじくりやすさ含めて親しみ持ってるんだろうけど
[]
[ここ壊れてます]

85 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 09:34:20.74 ID:e7UzJXmD.net]
書き込むのは好きにしたらいいが板違いのスレだからsageてくれよ

86 名前:デフォルトの名無しさん [2023/09/09(土) 09:45:59.55 ID:N/e+EbWm.net]
>>81
自治アスペ😂

87 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 12:37:22.79 ID:+xOF5xX7.net]
>>80
メリットもなにもコード書いてたら普通にオブジェクト指向型になるものじゃね
「Hello World」をわざわざオブジェクト指向にするようなバカならともかく
クラスや継承を作れとか強制するような宗教でもない

88 名前:デフォルトの名無しさん [2023/09/09(土) 13:35:46.45 ID:maTjrzau.net]
>>80
オブジェクト指向のメリットはプログラムを管理しやすいことだと思う

たとえば

・DBからデータを取得する
・データを元にExcelファイルを作成する
・Excelファイルをメールで送信する
・作業完了のメッセージをSlackにPOSTする

という一連の処理がある場合に

・DBにアクセスするオブジェクト
・Excelファイルを作成するオブジェクト
・メールを送信するオブジェクト
・Slackにアクセスオブジェクト

があればそれらを組み合わせることでプログラムを作れるじゃん
そして世の中にはすでにたくさんのオブジェクトがライブラリという形で用意されている
プログラマはそれを利用することでさまざまなことが行えるようになるんだ
既存のライブラリで要件をみたせなければ自分で作ることもできる
便利だよね

89 名前:デフォルトの名無しさん [2023/09/09(土) 13:42:59.05 ID:maTjrzau.net]
オブジェクト指向のデメリットはオブジェクトを自由に定義できるがゆえに
簡単な処理さえも抽象化してスパゲティになることがありがちってことかな
Hello World Enterprise Editionはきれいに設計されてはいるけど

System.out.println("Hello, World!");

でいいじゃんみたいな

Hello World Enterprise Edition
https://gist.github.com/lolzballs/2152bc0f31ee0286b722

そして世の中には簡単なの処理なのにオブジェクトがたくさんあって
きれいに設計されてるわけでもなくプログラマがそのときの思いつきだけで
作ったんじゃないかと思われるような正気を疑うようなオブジェクトがたくさんあるんだ
どうだい楽しいだろう

90 名前:デフォルトの名無しさん [2023/09/09(土) 13:54:42.10 ID:DPFW/FPV.net]
Rustは面倒



91 名前:デフォルトの名無しさん [2023/09/09(土) 14:25:39.31 ID:maTjrzau.net]
DBやExcelなどのようにドメインがはっきりとわかれている場合には
これはDBにしか関与しないデータだからDBオブジェクトの中に閉じ込めるみたいに
考えてオブジェクトを作ればいんだろうけどね

業務のドメインは流動的だからね

・この概念とこの概念は違っていてこのようにわけられる
・でもやっぱりこういう橋渡しは認めておいたがいいからこれは例外
・ユーザからこれができなくて困ってるといわれたからなんとかしてもらいたい
・あの概念とあの概念はじつはこういう切り口でみたときには繋がりがあってそれを計算してほしい

みたいなことが業務ドメインの日常だからね
どこが変わるかを予測して多少流動しても設計を変えなくてすむように作り込んだら
あっというまにHello World Enterprise Editionのできあがり

オブジェクトは固体だけれども業務は液体みたいなところがある
オブジェクトの前段階いわばスライムみたいな状態にあえてとどめておくことで
適応力を高められるんじゃないかと思う

計算によって人間の認知能力が生まれ
人間の認知能力によってオブジェクトが生まれるとするならば
関数はオブジェクトよりも次元の高い抽象化のように思われる

関数はスライムの可能性がある

92 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 14:57:10.51 ID:xoF7Cm8V.net]
オブジェクト指向もモジュール化の1つの(かなり優秀な)手法だと思うよ。オブジェクトの内部はブラックボックス化され、外部からはオブジェクトのインターフェイスだけを相手にすればよいので、同時に考えなければいけないことが減り、プログラムの見通しが良くなる。
問題は、モジュールとしてのオブジェクトを機能させるためには、「これをオブジェクトとして扱う」というモジュール境界の決定が必要になるところ、オブジェクトの粒度が大きくなると、コードを書いた人の恣意的な決定の要素が増えるために、コードを読む人の理解・把握が難しくなっていくことかな。文字列オブジェクの方がcsv_readerオブジェクトよりできることを把握・イメージするのは簡単だし、より抽象度の高いオブジェクトになると、さらに理解は難しくなる。
オブジェクト指向によって得られる見通しの良さは、ゴチャっとしたコードをブラックボックスの中に閉じ込めることによって得られるものなので、オブジェクトの中に取り込まれないコード(オブジェクト同士の相互関係)の複雑性はそのまま残る。これがオブジェクトの海と呼ばれる問題。
オブジェクト指向は重要な進歩だし、今さらそのメリットを捨てることは難しいと思うけど、オブジェクトの「外」の問題については別の手法による対処が必要になる。

93 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 15:55:43.01 ID:8RnWRRq5.net]
コード書けない奴が抽象的な御託つらつら並べるのはどこのスレでも出てくるんだよな
バカをさらして何が楽しいのやら

94 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 16:36:21.41 ID:MNKqZUR3.net]
俺は抽象化自体はどうでもよくてifを減らすために使ってるわ
いくらわかりやすい名前をつけても結局全部読むなら大差ないからな

95 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 18:04:29.66 ID:LlED4Hp3.net]
> Hello World Enterprise Edition

全部は読んでないけどニヤニヤしながら読んだわ
ただし

> if(code.getStatusCode() != 0){



> if(code.getStatusCode() != IStatusCode.OK) {

とかしてインタフェース側に定義された定数使うほうがオツやと思ったわ

96 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 18:21:08.83 ID:LlED4Hp3.net]
OOPのメリットとして感じてるのは結局は
モジュール化のメリットなんよね
これはOOPのメリットを矮小化させるものじゃないけど

適度に分割して整理して
それらを適度に組み合わせて使うってことは

まぁそこにOOPLならではのことに焦点を当てるなら
継承っていう軸が発生することにより
クラスライブラリや自前のクラス群を説明するとき
継承関係っていうものでもって説明できる場面が出てくる

97 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 18:40:22.54 ID:GTFNmrLV.net]
OOPでは演算子を型と関数の間の関係として自然に定義できるけど、Cみたいな手続き型とか関数型ではどうやってるんですか?

98 名前:デフォルトの名無しさん [2023/09/09(土) 21:58:47.70 ID:2wCSKfyD.net]
おうおうPの良いところだけを継承したモダンな仕組みを作ればいいんじゃないかな

99 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 22:52:32.96 ID:XsT3u1d6.net]
>>92
>OOPのメリットとして感じてるのは結局はモジュール化のメリットなんよね
8割方同意する
>>84に列挙されてる「〜するオブジェクト」も「〜するモジュール」にすべて置き換えてもなんら支障がないから

>まぁそこにOOPLならではのことに焦点を当てるなら継承っていう軸が発生する
これには同意しない
オブジェクト指向の根幹は継承じゃなくて
データと振る舞いをオブジェクトという基本構成単位にまとめることにある
関数型のモジュールでは代替できない
また継承のうちインターフェース定義とその実装のような関係は
Haskellのtypeclassをはじめ関数型言語でも広く存在するものなのでOOPLならではのことではない

つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによるメリットというのがOOPLならではのメリットということになる
じゃそれは何なのか?

100 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 22:55:57.73 ID:EGvOTcBg.net]
ずばりオワコン








[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<283KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef