探検
オブジェクト指向はオワコン
■ このスレッドは過去ログ倉庫に格納されています
2023/08/26(土) 22:00:53.85ID:H4l7y46b
最近の言語には採用されないことが増えている
2023/08/26(土) 23:53:44.68ID:gfADRkkl
オブジェクト指向言語で書きさえすれば勝手にオブジェクト指向になると
勘違いしてるやつが多かったな
勘違いしてるやつが多かったな
2023/08/27(日) 00:05:48.88ID:2ftdtUtN
また複おじか
2023/08/27(日) 01:02:23.53ID:Kon47qvU
そうなの?もう標準になっちゃってるだけじゃないの?
2023/08/27(日) 10:56:24.10ID:mybkYCXq
そもそもライブラリがオブジェクト指向だし
オブジェクト指向を回避したくても出来ない
オブジェクト指向を回避したくても出来ない
2023/08/27(日) 11:25:38.22ID:6sPGKOVF
みんな一時的に反発して違うパラダイムに行くけど結局帰ってくるのさ
2023/08/27(日) 12:35:22.13ID:53CZdhI9
コンストラクタに独自のクラスいくつも要求してくるタイプの設計マジで嫌い
8デフォルトの名無しさん
2023/08/27(日) 14:38:41.20ID:2Rmcg3Nl この処理は一箇所に集約できるんじゃないかっていう人間の感覚と
型による論理的な整合性がズレてることがあって
継承を使ったオブジェクト指向は思ってるより難しいのよね
作り始めたときはよかったけど修正が入るうちにどうしようもなくなった
なんてことも起こりがち
型による論理的な整合性がズレてることがあって
継承を使ったオブジェクト指向は思ってるより難しいのよね
作り始めたときはよかったけど修正が入るうちにどうしようもなくなった
なんてことも起こりがち
2023/08/27(日) 14:43:49.76ID:EmRb2yD4
プログラム作れない奴注目してほしくてクソスレ立てるムーブ
リアルで犯罪やらかす前に病院行った方がいいぞマジで
リアルで犯罪やらかす前に病院行った方がいいぞマジで
10デフォルトの名無しさん
2023/08/27(日) 15:01:39.11ID:Pba1j/J0 オブジェクト指向じゃなくて継承が諸悪の根源なだけだろ
2023/08/27(日) 15:08:02.74ID:1X2LepYJ
gofデザインパターンもいらん
2023/08/27(日) 20:07:36.84ID:9PHjLu48
またC言語が勝ったか
敗北を知りたい
敗北を知りたい
13デフォルトの名無しさん
2023/08/27(日) 23:59:58.82ID:xzJBfiva オブジェクト指向を不適切に使っている人が多いだけ。オブジェクト指向で本当に書くべき所だけ書けばよい。
2023/08/28(月) 00:19:04.52ID:I52qKdOk
ペテン師がうそばっかこいて布教
ttps://stat.ameba.jp/user_images/20140429/20/kurosawa-tomoyo/99/73/j/o0800107112924360687.jpg
ttps://stat.ameba.jp/user_images/20140429/20/kurosawa-tomoyo/99/73/j/o0800107112924360687.jpg
15デフォルトの名無しさん
2023/08/28(月) 15:03:35.30ID:FqjmR9MT 継承w
継承なんかフレームワーク構築で使うもの。
アプリでは、委譲、集約を使う。
継承なんかフレームワーク構築で使うもの。
アプリでは、委譲、集約を使う。
16デフォルトの名無しさん
2023/08/28(月) 15:19:41.36ID:V9/6DHRS アプリは底辺土方の作業なのでどうでも良いじゃん
プログラマはライブラリやフレームワークを作ります
プログラマはライブラリやフレームワークを作ります
17デフォルトの名無しさん
2023/08/29(火) 11:18:21.31ID:+HxwobiY >>16
と底辺土方が申しております
と底辺土方が申しております
18デフォルトの名無しさん
2023/08/29(火) 11:52:41.99ID:uTnQ7OpV そうです、私が底辺土方です
19デフォルトの名無しさん
2023/08/29(火) 11:59:48.44ID:uTnQ7OpV 土方的にはオブシコは時代遅れっていうかー
オブシコでは複雑さに対処できないことが多くの人の経験から明らかになってるのでー
昔はstaticおじさんとかドメイン貧血症と言われてバカにされていたものが
実は正しかった可能性が高いっていうのがいまの状況でー
データと振る舞いを分離することでシステムがしなやかになると認識してますねー
以上、土方の現場はそんな感じですねー
オブシコでは複雑さに対処できないことが多くの人の経験から明らかになってるのでー
昔はstaticおじさんとかドメイン貧血症と言われてバカにされていたものが
実は正しかった可能性が高いっていうのがいまの状況でー
データと振る舞いを分離することでシステムがしなやかになると認識してますねー
以上、土方の現場はそんな感じですねー
20デフォルトの名無しさん
2023/08/29(火) 12:14:34.24ID:uTnQ7OpV オブジェクト指向最強説が巷間に流布していたのは~2007年くらいまでですね
2007年前後にオブジェクト指向ってなんかおかしくない?と聡明な人たちが気付き始めて
より良い方向を探り出して関数型やデータ指向が再発見されて
その考えが一般の人にまで広がりだしたのが現代ですね
聡明な人はさらにその先まで見えてるのかもしれないですが
俺のような一般土方的にはデータと振る舞いは分けて設計するのがいまの現場のベストプラクティスです
2007年前後にオブジェクト指向ってなんかおかしくない?と聡明な人たちが気付き始めて
より良い方向を探り出して関数型やデータ指向が再発見されて
その考えが一般の人にまで広がりだしたのが現代ですね
聡明な人はさらにその先まで見えてるのかもしれないですが
俺のような一般土方的にはデータと振る舞いは分けて設計するのがいまの現場のベストプラクティスです
2023/08/29(火) 12:47:45.08ID:YzXqUdha
勉強になります
2023/08/29(火) 15:17:11.07ID:GZdflYYk
これ会議が負けて、現場が勝ったみたいな話よね
現実は机上で考えるより複雑だったと
現実は机上で考えるより複雑だったと
2023/08/29(火) 16:11:58.85ID:bwHJoeEc
オブシコキモい
2023/08/29(火) 16:14:13.67ID:bwHJoeEc
正確に言えばオブシコがキモいんじゃなくて
オブシコおじがキモい
オブシコおじがキモい
25デフォルトの名無しさん
2023/08/31(木) 19:47:10.22ID:Wp8e5yX6 ちょっと論点ずれるかもだけど、
結局何が良いのだろう。
最近、Goが気になってるのですが、頭いい人教えてください。
下記見て混乱してるところにオブジェクト指向オワコンと来るとどういう時に使い分ける(関数型?)か混乱します。
Goはオブジェクト思考?
https://postd.cc/is-go-object-oriented/
GoとJavaの違い
https://inside.dmm.com/articles/ex-java-engineer-thoughts-about-go/
結局何が良いのだろう。
最近、Goが気になってるのですが、頭いい人教えてください。
下記見て混乱してるところにオブジェクト指向オワコンと来るとどういう時に使い分ける(関数型?)か混乱します。
Goはオブジェクト思考?
https://postd.cc/is-go-object-oriented/
GoとJavaの違い
https://inside.dmm.com/articles/ex-java-engineer-thoughts-about-go/
2023/08/31(木) 20:57:44.89ID:xuZfOSNk
混乱するなら関わるな
無理に理解しようとすると頭がおかしくなって死ぬぞ
無理に理解しようとすると頭がおかしくなって死ぬぞ
27デフォルトの名無しさん
2023/09/01(金) 10:17:00.62ID:8Q6o7DlX goがオワコン
2023/09/01(金) 10:54:12.28ID:z0kX04PW
トップオブトップのPythonさんがオブジェクト指向なんだから安心してついていこうぜ
2023/09/01(金) 12:32:14.48ID:YK6A/+tP
コピペするなっていうけどコピペしてクラスメソッドとして実装した方が何かと都合いいよな
2023/09/02(土) 01:55:07.77ID:SWd5fs2f
WindowsにしろMacにしろUNIXにしろGUIがオブジェクト指向を根本原理として作られているから
フルスクラッチで刷新されない限り、オブジェクト指向の呪縛からは逃れられない
フルスクラッチで刷新されない限り、オブジェクト指向の呪縛からは逃れられない
31デフォルトの名無しさん
2023/09/02(土) 12:26:53.46ID:TvfRP8L0 フルスクラッチとは言ってもライブラリ使う時点でもうオブジェクト指向なので
32デフォルトの名無しさん
2023/09/02(土) 15:29:32.20ID:mCX3wjBN オワコンなのに人気絶大のスレ七不思議
2023/09/02(土) 16:04:40.99ID:22jxpZyL
2023/09/02(土) 20:23:00.00ID:F+VUcEjl
オブジェクト指向は部分的には成功してるんだと思う
よくあるコンテナ類のクラスライブラリとか使いやすいでしょ?
別になんにも文句ないでしょ?
OOPを定義するお題目、カプセル化がどうのとかも、
非常によくマッチして効果を発揮してくれてると思う。
だけどそっから先が盲点。
OOPのコンセプト自体はいいのかもしれん。
OOPで作ったクラスライブラリも、良いのがあるのかもしれん。
でも、クラス設計が難しい。
クラスライブラリの設計が難しい。
OOPを使ってさあ自前の何かを作ろうとしたら難しい。
間違う。間違いをさらなる間違いで補う。
糞の山を糞でラッピングする。
自分でクラスや、関連する一連のクラス群をつくるとき、
そこに最大の困難があり、さらにそれは自覚されない。
プログラマの共通認識とすらされていない。
OOPやOOPLについては語れど、クラス設計の困難さには意識が行かない。
またはその困難さを解決する認識も知識も文化もなにもかもが不足している。
クラス設計の難しさに対して誰もが、とたんに無力に、無自覚になる。
ここにOOPの恐ろしさがある。
よくあるコンテナ類のクラスライブラリとか使いやすいでしょ?
別になんにも文句ないでしょ?
OOPを定義するお題目、カプセル化がどうのとかも、
非常によくマッチして効果を発揮してくれてると思う。
だけどそっから先が盲点。
OOPのコンセプト自体はいいのかもしれん。
OOPで作ったクラスライブラリも、良いのがあるのかもしれん。
でも、クラス設計が難しい。
クラスライブラリの設計が難しい。
OOPを使ってさあ自前の何かを作ろうとしたら難しい。
間違う。間違いをさらなる間違いで補う。
糞の山を糞でラッピングする。
自分でクラスや、関連する一連のクラス群をつくるとき、
そこに最大の困難があり、さらにそれは自覚されない。
プログラマの共通認識とすらされていない。
OOPやOOPLについては語れど、クラス設計の困難さには意識が行かない。
またはその困難さを解決する認識も知識も文化もなにもかもが不足している。
クラス設計の難しさに対して誰もが、とたんに無力に、無自覚になる。
ここにOOPの恐ろしさがある。
35デフォルトの名無しさん
2023/09/02(土) 21:16:52.73ID:Tv71xRLL Javaでないならムリに自分でクラスを作らなくても良くない? とりあえず構造体と関数で書いてみて、必要だと思ったらクラスに移行するとか。スクリプト言語とかでもそんな感じだし。
組み込みのクラスライブラリを使うだけでも十分にOOLの恩恵はあると思うけど。
組み込みのクラスライブラリを使うだけでも十分にOOLの恩恵はあると思うけど。
2023/09/02(土) 21:28:19.20ID:F+VUcEjl
正解
クラスを書かないほうが正解
標準のクラスライブラリだけを使って済むならそれが正解
ただ、そうもいかないときに徐々にホラーになっていく
クラスを書かないほうが正解
標準のクラスライブラリだけを使って済むならそれが正解
ただ、そうもいかないときに徐々にホラーになっていく
37デフォルトの名無しさん
2023/09/03(日) 02:11:19.15ID:7SLOG4Oq クラス使わないなら構造体のない言語でデータはどうやって定義すんの
全部辞書型か?
クラス自体が動作を振る舞う必要はないっていうデザインパターン論ならわかるが
それすら人間が歩いたり物を持ったりするという機能から考えると直感に反するけどな
全部辞書型か?
クラス自体が動作を振る舞う必要はないっていうデザインパターン論ならわかるが
それすら人間が歩いたり物を持ったりするという機能から考えると直感に反するけどな
2023/09/03(日) 02:58:29.28ID:k3BC+VzT
ここで人間とか動物の話はやめてくれんか
少なくともオブジェクト指向のアプローチは失敗した
その直感とやらは錯覚かもしれん
少なくともオブジェクト指向のアプローチは失敗した
その直感とやらは錯覚かもしれん
39デフォルトの名無しさん
2023/09/03(日) 10:25:05.88ID:bR7Kkxs2 メソッドは成功してると思う
継承と過度なカプセル化は失敗だと思う
継承と過度なカプセル化は失敗だと思う
2023/09/03(日) 13:05:50.27ID:vJMnDf/i
動物の例😩
41デフォルトの名無しさん
2023/09/03(日) 13:10:54.52ID:jFAGdbdC >>34
MFC ω のことですねωω判りますωωω
MFC ω のことですねωω判りますωωω
42デフォルトの名無しさん
2023/09/03(日) 13:12:09.26ID:jFAGdbdC2023/09/03(日) 13:25:41.46ID:TVj/CYl9
動物の例も批判されがちだけど
あれもねえ
例えは例えなんだから
そのあとは自力で応用しようよ?
コツだけうまく受け取ろうよ? って思うわ
実装に対するインタフェースだとか
継承時のポリモーフィズムだとか
そこだけ例から読み取って
あとはうまく応用しろよって思うわ
具体例からエッセンスだけを取り出して
うまいこと抽象化してくのは必須よね
あれもねえ
例えは例えなんだから
そのあとは自力で応用しようよ?
コツだけうまく受け取ろうよ? って思うわ
実装に対するインタフェースだとか
継承時のポリモーフィズムだとか
そこだけ例から読み取って
あとはうまく応用しろよって思うわ
具体例からエッセンスだけを取り出して
うまいこと抽象化してくのは必須よね
2023/09/03(日) 16:55:38.75ID:tRta3c8j
2023/09/04(月) 04:29:08.08ID:xgTXgyct
アプリレイヤを記述する際、継承は確かに百害あって一利くらいしかなかったけど
オブジェクト指向の本質的な問題点にちゃんと気が付いている人は
とても少ない
オブジェクト指向の本質的な問題点にちゃんと気が付いている人は
とても少ない
2023/09/04(月) 06:10:55.97ID:xHCSfiKY
ワンワン
にゃ~
にゃ~
47デフォルトの名無しさん
2023/09/04(月) 06:56:31.16ID:CodZWLif 向き不向きがあると思う
GUIとかゲーム開発には向いているからスマホアプリ開発やwindowsアプリ開発には向いている
サーバサイドには全く向いていない
GUI、ゲーム開発は動物、犬に当てはめやすいから向いてるけど、サーバサイドは向いてないのよね
GUIとかゲーム開発には向いているからスマホアプリ開発やwindowsアプリ開発には向いている
サーバサイドには全く向いていない
GUI、ゲーム開発は動物、犬に当てはめやすいから向いてるけど、サーバサイドは向いてないのよね
48デフォルトの名無しさん
2023/09/04(月) 14:21:39.02ID:pTWW8n2s49デフォルトの名無しさん
2023/09/04(月) 17:33:01.25ID:/cuaDPpR >>37
> 全部辞書型か?
そうなる
型の安全性と引き換えに柔軟性を得るっていうのがデータ指向の考え方
オブジェクトに状態をもたせるオブジェクト指向も使い所によってはあり
人間の場合はたとえば明日人間の機能が変わりますなんてことないし機能が安定しているのよね
オブジェクト指向はスタックやリストといったデータ構造とも相性が良い
一方で仕様がころころ変わる業務要件とはあまり相性が良くない
> 全部辞書型か?
そうなる
型の安全性と引き換えに柔軟性を得るっていうのがデータ指向の考え方
オブジェクトに状態をもたせるオブジェクト指向も使い所によってはあり
人間の場合はたとえば明日人間の機能が変わりますなんてことないし機能が安定しているのよね
オブジェクト指向はスタックやリストといったデータ構造とも相性が良い
一方で仕様がころころ変わる業務要件とはあまり相性が良くない
50デフォルトの名無しさん
2023/09/04(月) 18:33:09.57ID:UIsGravq JSONω最強ですねωω判りますωωω
2023/09/04(月) 19:55:21.97ID:rfWjSjrk
> オブジェクト指向の本質的な問題点
それは一体なに?
それは一体なに?
2023/09/04(月) 20:10:24.18ID:dI7wGXXb
オワコン
2023/09/05(火) 07:02:20.12ID:/8UA8cLZ
オブシコはむしろ来年あたりから再注目されるよ
2023/09/05(火) 08:43:02.70ID:ATQD7eXq
モダンオブジェクト指向入門
2023/09/05(火) 09:59:39.00ID:bvW9yjd2
関数型言語最強
やっててよかったC言語
やっててよかったC言語
2023/09/05(火) 12:42:39.14ID:cCymHTD2
オワリ際に遅刻して処理されるコンストラクタ
2023/09/05(火) 19:24:17.95ID:sZBFZ5KB
帯び文
やっぱりみんなオブジェクト指向に帰ってくる
やっぱりみんなオブジェクト指向に帰ってくる
58デフォルトの名無しさん
2023/09/05(火) 19:45:31.82ID:vQrCTIpk そもそもオブジェクト指向にとって代われると思うこと自体勘違い甚だしい
2023/09/05(火) 20:09:35.92ID:HAOsJdAK
2023/09/05(火) 20:58:49.75ID:MTbz99Up
>>55
まさかCが関数型言語とか言わんよね?
まさかCが関数型言語とか言わんよね?
61デフォルトの名無しさん
2023/09/06(水) 00:09:58.68ID:H9m3TOIp >>59
オブジェクト指向こそが至高
オブジェクト指向こそが至高
2023/09/06(水) 14:31:43.33ID:y4HhiiDL
static関数をすこれ
2023/09/06(水) 22:40:02.86ID:HGpQ4Jna
なんや、それ
2023/09/07(木) 01:21:20.89ID:gnShnq85
デザパタ用語ではシングルトンパターン(笑)
2023/09/07(木) 02:39:23.32ID:ASBmJNcr
全然違うぞw
66デフォルトの名無しさん
2023/09/07(木) 23:31:22.59ID:mdRVL8hl 関数型言語ではライブラリどう扱うん?
2023/09/08(金) 00:27:59.13ID:+kl4ffGL
こういうつまんねぇ話は2003年頃に済ませておけよ
68デフォルトの名無しさん
2023/09/08(金) 01:09:06.66ID:pIxFIjjS2023/09/08(金) 03:00:17.98ID:Wdg5/Ojr
OOP信者の方はC#の拡張メソッドのことどう思ってるんですかw
2023/09/08(金) 09:05:25.14ID:5xCGhqQr
>>69
あって当然の仕組み
あって当然の仕組み
71デフォルトの名無しさん
2023/09/08(金) 09:56:43.98ID:U3VyfYkU >>67
おじいちゃん、ここは若者のスレッドなの老害はでしゃばらないでね
おじいちゃん、ここは若者のスレッドなの老害はでしゃばらないでね
2023/09/08(金) 13:33:28.64ID:xvdxrsKm
既存フレームワークはオブジェクト指向かもしれんけど
俺はその書き方では使ってない
これが答えだ
俺はその書き方では使ってない
これが答えだ
2023/09/08(金) 14:16:55.80ID:9xaMduSN
何の答えだよw
2023/09/08(金) 17:25:44.02ID:LnB50oKq
>>71
5chで若者とか笑わせなくていいからハロワ行けよ
5chで若者とか笑わせなくていいからハロワ行けよ
75デフォルトの名無しさん
2023/09/08(金) 17:39:09.54ID:xhNNQs6H オブジェクト指向こそ至高だろ?
オブジェクト指向のコード読めなくて負い目感じてるよね?
オブジェクト指向のコード読めなくて負い目感じてるよね?
2023/09/09(土) 00:20:38.75ID:57t0AUvC
>>75
お前の書くコードはくちゃくちゃで眺めると目がつぶれそうだよ
お前の書くコードはくちゃくちゃで眺めると目がつぶれそうだよ
2023/09/09(土) 06:42:18.63ID:L8RTgt6O
>>75
オブジェクト指向の最大の長所は可読性の高さだが、お前はオブジェクト指向の基本からまるで分ってないな
オブジェクト指向の最大の長所は可読性の高さだが、お前はオブジェクト指向の基本からまるで分ってないな
78デフォルトの名無しさん
2023/09/09(土) 08:47:48.10ID:qG0K3jtD オブジェクト指向の最大の長所が可読性って、そんなに言われているかな? うまいことブラックボックス化ができたたきにゴチャっとしたコードをクラス内部に閉じ込められる効果はあるけれども、オブジェクト同士の相互関係は、基本的にはオブジェクトの海と言われるスパゲティじゃない?
79デフォルトの名無しさん
2023/09/09(土) 09:31:35.89ID:5dSlQ8VJ >>78
スパゲッティの定義次第だからその定義を共有しないと話が噛み合わない。
同じコードをオブジェクト指向以外で書いたらスパゲッティじゃなくなるのか、と。
「私が読みにくいと感じるからスパゲッティ」ならどうとでもなる。
スパゲッティの定義次第だからその定義を共有しないと話が噛み合わない。
同じコードをオブジェクト指向以外で書いたらスパゲッティじゃなくなるのか、と。
「私が読みにくいと感じるからスパゲッティ」ならどうとでもなる。
2023/09/09(土) 09:33:25.46ID:Cz8dAb+H
OOPのメリットが何なのか未だに分からん
Smalltalkみたいに実行環境からオブジェクトをいろいろいじれるやつのときは
オブジェクトってもんがもっと動的に、マウスで触れるような存在で
なんかそういういじくりやすさ含めて親しみ持ってるんだろうけど
Smalltalkみたいに実行環境からオブジェクトをいろいろいじれるやつのときは
オブジェクトってもんがもっと動的に、マウスで触れるような存在で
なんかそういういじくりやすさ含めて親しみ持ってるんだろうけど
2023/09/09(土) 09:34:20.74ID:e7UzJXmD
書き込むのは好きにしたらいいが板違いのスレだからsageてくれよ
82デフォルトの名無しさん
2023/09/09(土) 09:45:59.55ID:N/e+EbWm >>81
自治アスペ😂
自治アスペ😂
2023/09/09(土) 12:37:22.79ID:+xOF5xX7
>>80
メリットもなにもコード書いてたら普通にオブジェクト指向型になるものじゃね
「Hello World」をわざわざオブジェクト指向にするようなバカならともかく
クラスや継承を作れとか強制するような宗教でもない
メリットもなにもコード書いてたら普通にオブジェクト指向型になるものじゃね
「Hello World」をわざわざオブジェクト指向にするようなバカならともかく
クラスや継承を作れとか強制するような宗教でもない
84デフォルトの名無しさん
2023/09/09(土) 13:35:46.45ID:maTjrzau >>80
オブジェクト指向のメリットはプログラムを管理しやすいことだと思う
たとえば
・DBからデータを取得する
・データを元にExcelファイルを作成する
・Excelファイルをメールで送信する
・作業完了のメッセージをSlackにPOSTする
という一連の処理がある場合に
・DBにアクセスするオブジェクト
・Excelファイルを作成するオブジェクト
・メールを送信するオブジェクト
・Slackにアクセスオブジェクト
があればそれらを組み合わせることでプログラムを作れるじゃん
そして世の中にはすでにたくさんのオブジェクトがライブラリという形で用意されている
プログラマはそれを利用することでさまざまなことが行えるようになるんだ
既存のライブラリで要件をみたせなければ自分で作ることもできる
便利だよね
オブジェクト指向のメリットはプログラムを管理しやすいことだと思う
たとえば
・DBからデータを取得する
・データを元にExcelファイルを作成する
・Excelファイルをメールで送信する
・作業完了のメッセージをSlackにPOSTする
という一連の処理がある場合に
・DBにアクセスするオブジェクト
・Excelファイルを作成するオブジェクト
・メールを送信するオブジェクト
・Slackにアクセスオブジェクト
があればそれらを組み合わせることでプログラムを作れるじゃん
そして世の中にはすでにたくさんのオブジェクトがライブラリという形で用意されている
プログラマはそれを利用することでさまざまなことが行えるようになるんだ
既存のライブラリで要件をみたせなければ自分で作ることもできる
便利だよね
85デフォルトの名無しさん
2023/09/09(土) 13:42:59.05ID:maTjrzau オブジェクト指向のデメリットはオブジェクトを自由に定義できるがゆえに
簡単な処理さえも抽象化してスパゲティになることがありがちってことかな
Hello World Enterprise Editionはきれいに設計されてはいるけど
System.out.println("Hello, World!");
でいいじゃんみたいな
Hello World Enterprise Edition
https://gist.github.com/lolzballs/2152bc0f31ee0286b722
そして世の中には簡単なの処理なのにオブジェクトがたくさんあって
きれいに設計されてるわけでもなくプログラマがそのときの思いつきだけで
作ったんじゃないかと思われるような正気を疑うようなオブジェクトがたくさんあるんだ
どうだい楽しいだろう
簡単な処理さえも抽象化してスパゲティになることがありがちってことかな
Hello World Enterprise Editionはきれいに設計されてはいるけど
System.out.println("Hello, World!");
でいいじゃんみたいな
Hello World Enterprise Edition
https://gist.github.com/lolzballs/2152bc0f31ee0286b722
そして世の中には簡単なの処理なのにオブジェクトがたくさんあって
きれいに設計されてるわけでもなくプログラマがそのときの思いつきだけで
作ったんじゃないかと思われるような正気を疑うようなオブジェクトがたくさんあるんだ
どうだい楽しいだろう
86デフォルトの名無しさん
2023/09/09(土) 13:54:42.10ID:DPFW/FPV Rustは面倒
87デフォルトの名無しさん
2023/09/09(土) 14:25:39.31ID:maTjrzau DBやExcelなどのようにドメインがはっきりとわかれている場合には
これはDBにしか関与しないデータだからDBオブジェクトの中に閉じ込めるみたいに
考えてオブジェクトを作ればいんだろうけどね
業務のドメインは流動的だからね
・この概念とこの概念は違っていてこのようにわけられる
・でもやっぱりこういう橋渡しは認めておいたがいいからこれは例外
・ユーザからこれができなくて困ってるといわれたからなんとかしてもらいたい
・あの概念とあの概念はじつはこういう切り口でみたときには繋がりがあってそれを計算してほしい
みたいなことが業務ドメインの日常だからね
どこが変わるかを予測して多少流動しても設計を変えなくてすむように作り込んだら
あっというまにHello World Enterprise Editionのできあがり
オブジェクトは固体だけれども業務は液体みたいなところがある
オブジェクトの前段階いわばスライムみたいな状態にあえてとどめておくことで
適応力を高められるんじゃないかと思う
計算によって人間の認知能力が生まれ
人間の認知能力によってオブジェクトが生まれるとするならば
関数はオブジェクトよりも次元の高い抽象化のように思われる
関数はスライムの可能性がある
これはDBにしか関与しないデータだからDBオブジェクトの中に閉じ込めるみたいに
考えてオブジェクトを作ればいんだろうけどね
業務のドメインは流動的だからね
・この概念とこの概念は違っていてこのようにわけられる
・でもやっぱりこういう橋渡しは認めておいたがいいからこれは例外
・ユーザからこれができなくて困ってるといわれたからなんとかしてもらいたい
・あの概念とあの概念はじつはこういう切り口でみたときには繋がりがあってそれを計算してほしい
みたいなことが業務ドメインの日常だからね
どこが変わるかを予測して多少流動しても設計を変えなくてすむように作り込んだら
あっというまにHello World Enterprise Editionのできあがり
オブジェクトは固体だけれども業務は液体みたいなところがある
オブジェクトの前段階いわばスライムみたいな状態にあえてとどめておくことで
適応力を高められるんじゃないかと思う
計算によって人間の認知能力が生まれ
人間の認知能力によってオブジェクトが生まれるとするならば
関数はオブジェクトよりも次元の高い抽象化のように思われる
関数はスライムの可能性がある
2023/09/09(土) 14:57:10.51ID:xoF7Cm8V
オブジェクト指向もモジュール化の1つの(かなり優秀な)手法だと思うよ。オブジェクトの内部はブラックボックス化され、外部からはオブジェクトのインターフェイスだけを相手にすればよいので、同時に考えなければいけないことが減り、プログラムの見通しが良くなる。
問題は、モジュールとしてのオブジェクトを機能させるためには、「これをオブジェクトとして扱う」というモジュール境界の決定が必要になるところ、オブジェクトの粒度が大きくなると、コードを書いた人の恣意的な決定の要素が増えるために、コードを読む人の理解・把握が難しくなっていくことかな。文字列オブジェクの方がcsv_readerオブジェクトよりできることを把握・イメージするのは簡単だし、より抽象度の高いオブジェクトになると、さらに理解は難しくなる。
オブジェクト指向によって得られる見通しの良さは、ゴチャっとしたコードをブラックボックスの中に閉じ込めることによって得られるものなので、オブジェクトの中に取り込まれないコード(オブジェクト同士の相互関係)の複雑性はそのまま残る。これがオブジェクトの海と呼ばれる問題。
オブジェクト指向は重要な進歩だし、今さらそのメリットを捨てることは難しいと思うけど、オブジェクトの「外」の問題については別の手法による対処が必要になる。
問題は、モジュールとしてのオブジェクトを機能させるためには、「これをオブジェクトとして扱う」というモジュール境界の決定が必要になるところ、オブジェクトの粒度が大きくなると、コードを書いた人の恣意的な決定の要素が増えるために、コードを読む人の理解・把握が難しくなっていくことかな。文字列オブジェクの方がcsv_readerオブジェクトよりできることを把握・イメージするのは簡単だし、より抽象度の高いオブジェクトになると、さらに理解は難しくなる。
オブジェクト指向によって得られる見通しの良さは、ゴチャっとしたコードをブラックボックスの中に閉じ込めることによって得られるものなので、オブジェクトの中に取り込まれないコード(オブジェクト同士の相互関係)の複雑性はそのまま残る。これがオブジェクトの海と呼ばれる問題。
オブジェクト指向は重要な進歩だし、今さらそのメリットを捨てることは難しいと思うけど、オブジェクトの「外」の問題については別の手法による対処が必要になる。
2023/09/09(土) 15:55:43.01ID:8RnWRRq5
コード書けない奴が抽象的な御託つらつら並べるのはどこのスレでも出てくるんだよな
バカをさらして何が楽しいのやら
バカをさらして何が楽しいのやら
2023/09/09(土) 16:36:21.41ID:MNKqZUR3
俺は抽象化自体はどうでもよくてifを減らすために使ってるわ
いくらわかりやすい名前をつけても結局全部読むなら大差ないからな
いくらわかりやすい名前をつけても結局全部読むなら大差ないからな
2023/09/09(土) 18:04:29.66ID:LlED4Hp3
> Hello World Enterprise Edition
全部は読んでないけどニヤニヤしながら読んだわ
ただし
> if(code.getStatusCode() != 0){
は
> if(code.getStatusCode() != IStatusCode.OK) {
とかしてインタフェース側に定義された定数使うほうがオツやと思ったわ
全部は読んでないけどニヤニヤしながら読んだわ
ただし
> if(code.getStatusCode() != 0){
は
> if(code.getStatusCode() != IStatusCode.OK) {
とかしてインタフェース側に定義された定数使うほうがオツやと思ったわ
2023/09/09(土) 18:21:08.83ID:LlED4Hp3
OOPのメリットとして感じてるのは結局は
モジュール化のメリットなんよね
これはOOPのメリットを矮小化させるものじゃないけど
適度に分割して整理して
それらを適度に組み合わせて使うってことは
まぁそこにOOPLならではのことに焦点を当てるなら
継承っていう軸が発生することにより
クラスライブラリや自前のクラス群を説明するとき
継承関係っていうものでもって説明できる場面が出てくる
モジュール化のメリットなんよね
これはOOPのメリットを矮小化させるものじゃないけど
適度に分割して整理して
それらを適度に組み合わせて使うってことは
まぁそこにOOPLならではのことに焦点を当てるなら
継承っていう軸が発生することにより
クラスライブラリや自前のクラス群を説明するとき
継承関係っていうものでもって説明できる場面が出てくる
2023/09/09(土) 18:40:22.54ID:GTFNmrLV
OOPでは演算子を型と関数の間の関係として自然に定義できるけど、Cみたいな手続き型とか関数型ではどうやってるんですか?
94デフォルトの名無しさん
2023/09/09(土) 21:58:47.70ID:2wCSKfyD おうおうPの良いところだけを継承したモダンな仕組みを作ればいいんじゃないかな
2023/09/09(土) 22:52:32.96ID:XsT3u1d6
>>92
>OOPのメリットとして感じてるのは結局はモジュール化のメリットなんよね
8割方同意する
>>84に列挙されてる「〜するオブジェクト」も「〜するモジュール」にすべて置き換えてもなんら支障がないから
>まぁそこにOOPLならではのことに焦点を当てるなら継承っていう軸が発生する
これには同意しない
オブジェクト指向の根幹は継承じゃなくて
データと振る舞いをオブジェクトという基本構成単位にまとめることにある
関数型のモジュールでは代替できない
また継承のうちインターフェース定義とその実装のような関係は
Haskellのtypeclassをはじめ関数型言語でも広く存在するものなのでOOPLならではのことではない
つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによるメリットというのがOOPLならではのメリットということになる
じゃそれは何なのか?
>OOPのメリットとして感じてるのは結局はモジュール化のメリットなんよね
8割方同意する
>>84に列挙されてる「〜するオブジェクト」も「〜するモジュール」にすべて置き換えてもなんら支障がないから
>まぁそこにOOPLならではのことに焦点を当てるなら継承っていう軸が発生する
これには同意しない
オブジェクト指向の根幹は継承じゃなくて
データと振る舞いをオブジェクトという基本構成単位にまとめることにある
関数型のモジュールでは代替できない
また継承のうちインターフェース定義とその実装のような関係は
Haskellのtypeclassをはじめ関数型言語でも広く存在するものなのでOOPLならではのことではない
つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによるメリットというのがOOPLならではのメリットということになる
じゃそれは何なのか?
2023/09/09(土) 22:55:57.73ID:EGvOTcBg
ずばりオワコン
97デフォルトの名無しさん
2023/09/09(土) 23:03:34.74ID:LlED4Hp3 >>95
> オブジェクト指向の根幹は継承じゃなくて
根幹とまでは言ってないし思ってもないよw
> また継承のうちインターフェース定義とその実装のような関係は
インタフェースと実装の関係を継承とは言ってないつもり
あくまで
インタフェース間の継承であったり
もっと広義には単に型の継承
ごめんね今相当酒飲んでるから取りこぼしてたり誤解してたりするかもだけど
> つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによる
> メリットというのがOOPLならではのメリットということになる
このへんについてはなんとなく同意
カプセル化だの継承だのお題目色々あるけども
結局はオブジェクトって単位だよね
ってとこに着目すんのはわりと同意できる
要点を外してるレスになっちゃってたらすまぬ
> オブジェクト指向の根幹は継承じゃなくて
根幹とまでは言ってないし思ってもないよw
> また継承のうちインターフェース定義とその実装のような関係は
インタフェースと実装の関係を継承とは言ってないつもり
あくまで
インタフェース間の継承であったり
もっと広義には単に型の継承
ごめんね今相当酒飲んでるから取りこぼしてたり誤解してたりするかもだけど
> つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによる
> メリットというのがOOPLならではのメリットということになる
このへんについてはなんとなく同意
カプセル化だの継承だのお題目色々あるけども
結局はオブジェクトって単位だよね
ってとこに着目すんのはわりと同意できる
要点を外してるレスになっちゃってたらすまぬ
98デフォルトの名無しさん
2023/09/09(土) 23:19:27.60ID:maTjrzau2023/09/09(土) 23:31:29.55ID:LlED4Hp3
ほどよいフィット感だと思う
データと関数まとめる?
まとめたい?
まとめましたけどどうですか?
↓
ええやんええやん の感
データと関数まとめる?
まとめたい?
まとめましたけどどうですか?
↓
ええやんええやん の感
100デフォルトの名無しさん
2023/09/09(土) 23:46:40.67ID:maTjrzau ミュータブルなオブジェクトを簡単に作れるっていうのがオブジェクト指向言語の利点な気がする
Haskellだとモナドを使わないといけないからね
Haskellだとモナドを使わないといけないからね
101デフォルトの名無しさん
2023/09/10(日) 08:52:36.11ID:tviBJXty オブジェクト指向は何かってのはWikipediaでも見ればいい。読んで理解してもプログラム技術は変わらないが
オブジェクト指向のメリットは何かって言うのは「どの部分もオブジェクト指向とは言えない」形に自分のコード書きなおしてみればわかる。逆にすべての部分をオブジェクト指向の形にするのはアホな上にキチガイだが
これだけのことを技術板でグダグダ語ってるのはアホ
オブジェクト指向のメリットは何かって言うのは「どの部分もオブジェクト指向とは言えない」形に自分のコード書きなおしてみればわかる。逆にすべての部分をオブジェクト指向の形にするのはアホな上にキチガイだが
これだけのことを技術板でグダグダ語ってるのはアホ
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市総理の周辺「小さな火種が火事になりかけている。早く鎮火しないといけない」 ★5 [Hitzeschleier★]
- 日本の立場説明へ…外務省局長が北京到着 “台湾有事”首相答弁に中国反発 [煮卵★]
- 国内ホテル、既にキャンセルも 訪日客関連業界、事態見守る [蚤の市★]
- 高市総理の周辺「小さな火種が火事になりかけている。早く鎮火しないといけない」 ★6 [Hitzeschleier★]
- 【外交】日中関係悪化、長期化の様相 2012年には自動車輸出80%減も ロイター★2 [1ゲットロボ★]
- 早大名誉教授が高市早苗首相の発言に言及「台湾も迷惑だと言っている」… [BFU★]
- 【んな専🏡】姫森ルーナ(・o・🍬)総合スレッド🏰【ホロライブ▶】★2
- 【悲報】有名ウヨ論客、「現実的に考えて中国と仲直りするしかなくね?」と言ったら野良ウヨから総叩きにあう [856698234]
- 【高市悲報】経団連会長、高市と面談「おい!ちゃんと中国と対話しろよ!😨」 [359965264]
- 【実況】博衣こよりのえちえち雀魂1位耐久🧪★4
- 安倍晋三「台湾省は中国様のものでゲス~🤓」 1年後安倍晋三「台湾で中国と米国の武力衝突が起きた場合、米側で参戦する [455031798]
- TV「港区美女スペシャル」👉すべからくカリカリが出てきて界隈に衝撃が走る [329329848]
