23/08/26 22:00:53.85 H4l7y46b.net
最近の言語には採用されないことが増えている
2:デフォルトの名無しさん
23/08/26 23:53:44.68 gfADRkkl.net
オブジェクト指向言語で書きさえすれば勝手にオブジェクト指向になると
勘違いしてるやつが多かったな
3:デフォルトの名無しさん
23/08/27 00:05:48.88 2ftdtUtN.net
また複おじか
4:デフォルトの名無しさん
23/08/27 01:02:23.53 Kon47qvU.net
そうなの?もう標準になっちゃってるだけじゃないの?
5:デフォルトの名無しさん
23/08/27 10:56:24.10 mybkYCXq.net
そもそもライブラリがオブジェクト指向だし
オブジェクト指向を回避したくても出来ない
6:デフォルトの名無しさん
23/08/27 11:25:38.22 6sPGKOVF.net
みんな一時的に反発して違うパラダイムに行くけど結局帰ってくるのさ
7:デフォルトの名無しさん
23/08/27 12:35:22.13 53CZdhI9.net
コンストラクタに独自のクラスいくつも要求してくるタイプの設計マジで嫌い
8:デフォルトの名無しさん
23/08/27 14:38:41.20 2Rmcg3Nl.net
この処理は一箇所に集約できるんじゃないかっていう人間の感覚と
型による論理的な整合性がズレてることがあって
継承を使ったオブジェクト指向は思ってるより難しいのよね
作り始めたときはよかったけど修正が入るうちにどうしようもなくなった
なんてことも起こりがち
9:デフォルトの名無しさん
23/08/27 14:43:49.76 EmRb2yD4.net
プログラム作れない奴注目してほしくてクソスレ立てるムーブ
リアルで犯罪やらかす前に病院行った方がいいぞマジで
10:デフォルトの名無しさん
23/08/27 15:01:39.11 Pba1j/J0.net
オブジェクト指向じゃなくて継承が諸悪の根源なだけだろ
11:デフォルトの名無しさん
23/08/27 15:08:02.74 1X2LepYJ.net
gofデザ
12:インパターンもいらん
13:デフォルトの名無しさん
23/08/27 20:07:36.84 9PHjLu48.net
またC言語が勝ったか
敗北を知りたい
14:デフォルトの名無しさん
23/08/27 23:59:58.82 xzJBfiva.net
オブジェクト指向を不適切に使っている人が多いだけ。オブジェクト指向で本当に書くべき所だけ書けばよい。
15:デフォルトの名無しさん
23/08/28 00:19:04.52 I52qKdOk.net
ペテン師がうそばっかこいて布教
URLリンク(stat.ameba.jp)
16:デフォルトの名無しさん
23/08/28 15:03:35.30 FqjmR9MT.net
継承w
継承なんかフレームワーク構築で使うもの。
アプリでは、委譲、集約を使う。
17:デフォルトの名無しさん
23/08/28 15:19:41.36 V9/6DHRS.net
アプリは底辺土方の作業なのでどうでも良いじゃん
プログラマはライブラリやフレームワークを作ります
18:デフォルトの名無しさん
23/08/29 11:18:21.31 +HxwobiY.net
>>16
と底辺土方が申しております
19:デフォルトの名無しさん
23/08/29 11:52:41.99 uTnQ7OpV.net
そうです、私が底辺土方です
20:デフォルトの名無しさん
23/08/29 11:59:48.44 uTnQ7OpV.net
土方的にはオブシコは時代遅れっていうかー
オブシコでは複雑さに対処できないことが多くの人の経験から明らかになってるのでー
昔はstaticおじさんとかドメイン貧血症と言われてバカにされていたものが
実は正しかった可能性が高いっていうのがいまの状況でー
データと振る舞いを分離することでシステムがしなやかになると認識してますねー
以上、土方の現場はそんな感じですねー
21:デフォルトの名無しさん
23/08/29 12:14:34.24 uTnQ7OpV.net
オブジェクト指向最強説が巷間に流布していたのは~2007年くらいまでですね
2007年前後にオブジェクト指向ってなんかおかしくない?と聡明な人たちが気付き始めて
より良い方向を探り出して関数型やデータ指向が再発見されて
その考えが一般の人にまで広がりだしたのが現代ですね
聡明な人はさらにその先まで見えてるのかもしれないですが
俺のような一般土方的にはデータと振る舞いは分けて設計するのがいまの現場のベストプラクティスです
22:デフォルトの名無しさん
23/08/29 12:47:45.08 YzXqUdha.net
勉強になります
23:デフォルトの名無しさん
23/08/29 15:17:11.07 GZdflYYk.net
これ会議が負けて、現場が勝ったみたいな話よね
現実は机上で考えるより複雑だったと
24:デフォルトの名無しさん
23/08/29 16:11:58.85 bwHJoeEc.net
オブシコキモい
25:デフォルトの名無しさん
23/08/29 16:14:13.67 bwHJoeEc.net
正確に言えばオブシコがキモいんじゃなくて
オブシコおじがキモい
26:デフォルトの名無しさん
23/08/31 19:47:10.22 Wp8e5yX6.net
ちょっと論点ずれるかもだけど、
結局何が良いのだろう。
最近、Goが気になってるのですが、頭いい人教えてください。
下記見て混乱してるところにオブジェクト指向オワコンと来るとどういう時に使い分ける(関数型?)か混乱します。
Goはオブジェクト思考?
URLリンク(postd.cc)
GoとJavaの
27:違い https://inside.dmm.com/articles/ex-java-engineer-thoughts-about-go/
28:デフォルトの名無しさん
23/08/31 20:57:44.89 xuZfOSNk.net
混乱するなら関わるな
無理に理解しようとすると頭がおかしくなって死ぬぞ
29:デフォルトの名無しさん
23/09/01 10:17:00.62 8Q6o7DlX.net
goがオワコン
30:デフォルトの名無しさん
23/09/01 10:54:12.28 z0kX04PW.net
トップオブトップのPythonさんがオブジェクト指向なんだから安心してついていこうぜ
31:デフォルトの名無しさん
23/09/01 12:32:14.48 YK6A/+tP.net
コピペするなっていうけどコピペしてクラスメソッドとして実装した方が何かと都合いいよな
32:デフォルトの名無しさん
23/09/02 01:55:07.77 SWd5fs2f.net
WindowsにしろMacにしろUNIXにしろGUIがオブジェクト指向を根本原理として作られているから
フルスクラッチで刷新されない限り、オブジェクト指向の呪縛からは逃れられない
33:デフォルトの名無しさん
23/09/02 12:26:53.46 TvfRP8L0.net
フルスクラッチとは言ってもライブラリ使う時点でもうオブジェクト指向なので
34:デフォルトの名無しさん
23/09/02 15:29:32.20 mCX3wjBN.net
オワコンなのに人気絶大のスレ七不思議
35:デフォルトの名無しさん
23/09/02 16:04:40.99 22jxpZyL.net
>>32
クソスレで雑談したがるお前みたいなカスがいるからだよ
当たり前のように使うものをオワコンって言うのが異常
36:デフォルトの名無しさん
23/09/02 20:23:00.00 F+VUcEjl.net
オブジェクト指向は部分的には成功してるんだと思う
よくあるコンテナ類のクラスライブラリとか使いやすいでしょ?
別になんにも文句ないでしょ?
OOPを定義するお題目、カプセル化がどうのとかも、
非常によくマッチして効果を発揮してくれてると思う。
だけどそっから先が盲点。
OOPのコンセプト自体はいいのかもしれん。
OOPで作ったクラスライブラリも、良いのがあるのかもしれん。
でも、クラス設計が難しい。
クラスライブラリの設計が難しい。
OOPを使ってさあ自前の何かを作ろうとしたら難しい。
間違う。間違いをさらなる間違いで補う。
糞の山を糞でラッピングする。
自分でクラスや、関連する一連のクラス群をつくるとき、
そこに最大の困難があり、さらにそれは自覚されない。
プログラマの共通認識とすらされていない。
OOPやOOPLについては語れど、クラス設計の困難さには意識が行かない。
またはその困難さを解決する認識も知識も文化もなにもかもが不足している。
クラス設計の難しさに対して誰もが、とたんに無力に、無自覚になる。
ここにOOPの恐ろしさがある。
37:デフォルトの名無しさん
23/09/02 21:16:52.73 Tv71xRLL.net
Javaでないならムリに自分でクラスを作らなくても良くない? とりあえず構造体と関数で書いてみて、必要だと思ったらクラスに移行するとか。スクリプト言語とかでもそんな感じだし。
組み込みのクラスライブラリを使うだけでも十分にOOLの恩恵はあると思うけど。
38:デフォルトの名無しさん
23/09/02 21:28:19.20 F+VUcEjl.net
正解
クラスを書かないほうが正解
標準のクラスライブラリだけを使って済むならそれが正解
ただ、そうもいかないときに徐々にホラーになっていく
39:デフォルトの名無しさん
23/09/03 02:11:19.15 7SLOG4Oq.net
クラス使わないなら構造体のない言語でデータはどうやって定義すんの
全部辞書型か?
クラス自体が動作を振る舞う必要はないっていうデザインパターン論ならわかるが
それすら人間が歩いたり物を持ったりするという機能から考えると直感に反するけどな
40:デフォルトの名無しさん
23/09/03 02:58:29.28 k3BC+VzT.net
ここで人間とか動物の話はやめてくれんか
少なくともオブジェクト指向のアプローチは失敗した
その直感とやらは錯覚かもしれん
41:デフォルトの名無しさん
23/09/03 10:25:05.88 bR7Kkxs2.net
メソッドは成功してると思う
継承と過度なカプセル化は失敗だと思う
42:デフォルトの名無しさん
23/09/03 13:05:50.27 vJMnDf/i.net
動物の例😩
43:デフォルトの名無しさん
23/09/03 13:10:54.52 jFAGdbdC.net
>>34
MFC ω のことですねωω判りますωωω
44:デフォルトの名無しさん
23/09/03 13:12:09.26 jFAGdbdC.net
>>37
Rustは?
Nimは?
知ってて言ってるのか?
45:デフォルトの名無しさん
23/09/03 13:25:41.46 TVj/CYl9.net
動物の例も批判されがちだけど
あれもねえ
例えは例えなんだから
そのあとは自力で応用しようよ?
コツだけうまく受け取ろうよ? って思うわ
実装に対するインタフェースだとか
継承時のポリモーフィズムだとか
そこだけ例から読み取って
あとはうまく応用しろよって思うわ
具体例からエッセンスだけを取り出して
うまいこと抽象化してくのは必須よね
46:デフォルトの名無しさん
23/09/03 16:55:38.75 tRta3c8j.net
>>42
Nimは知らんがRustは構造体あるだろ。
俺はRustはオブジェクト指向で書けると思ってるよ。
俺の考えるオブジェクト指向の中では継承は必須でも何でもないので。
47:デフォルトの名無しさん
23/09/04 04:29:08.08 xgTXgyct.net
アプリレイヤを記述する際、継承は確かに百害あって一利くらいしかなかったけど
オブジェクト指向の本質的な問題点にちゃんと気が付いている人は
とても少ない
48:デフォルトの名無しさん
23/09/04 06:10:55.97 xHCSfiKY.net
ワンワン
にゃ~
49:デフォルトの名無しさん
23/09/04 06:56:31.16 CodZWLif.net
向き不向きがあると思う
GUIとかゲーム開発には向いているからスマホアプリ開発やwindowsアプリ開発には向いている
サーバサイドには全く向いていない
GUI、ゲーム開発は動物、犬に当てはめやすいから向いてるけど、サーバサイドは向いてないのよね
50:デフォルトの名無しさん
23/09/04 14:21:39.02 pTWW8n2s.net
>>45
そもそも問題は無い
はい論破です
51:デフォルトの名無しさん
23/09/04 17:33:01.25 /cuaDPpR.net
>>37
> 全部辞書型か?
そうなる
型の安全性と引き換えに柔軟性を得るっていうのがデータ指向の考え方
オブジェクトに状態をもたせるオブジェクト指向も使い所によってはあり
人間の場合はたとえば明日人間の機能が変わりますなんてことないし機能が安定しているのよね
オブジェクト指向はスタックやリストといったデータ構造とも相性が良い
一方で仕様がころころ変わる業務要件とはあまり相性が良くない
52:デフォルトの名無しさん
23/09/04 18:33:09.57 UIsGravq.net
JSONω最強ですねωω判りますωωω
53:デフォルトの名無しさん
23/09/04 19:55:21.97 rfWjSjrk.net
> オブジェクト指向の本質的な問題点
それは一体なに?
54:デフォルトの名無しさん
23/09/04 20:10:24.18 dI7wGXXb.net
オワコン
55:デフォルトの名無しさん
23/09/05 07:02:20.12 /8UA8cLZ.net
オブシコはむしろ来年あたりから再注目されるよ
56:デフォルトの名無しさん
23/09/05 08:43:02.70 ATQD7eXq.net
モダンオブジェクト指向入門
57:デフォルトの名無しさん
23/09/05 09:59:39.00 bvW9yjd2.net
関数型言語
58:最強 やっててよかったC言語
59:デフォルトの名無しさん
23/09/05 12:42:39.14 cCymHTD2.net
オワリ際に遅刻して処理されるコンストラクタ
60:デフォルトの名無しさん
23/09/05 19:24:17.95 sZBFZ5KB.net
帯び文
やっぱりみんなオブジェクト指向に帰ってくる
61:デフォルトの名無しさん
23/09/05 19:45:31.82 vQrCTIpk.net
そもそもオブジェクト指向にとって代われると思うこと自体勘違い甚だしい
62:デフォルトの名無しさん
23/09/05 20:09:35.92 HAOsJdAK.net
>>58
方法の一つでしか無いものにとって代わるって何言ってんの
コピペでしかプログラムできないバカ消えろ
63:デフォルトの名無しさん
23/09/05 20:58:49.75 MTbz99Up.net
>>55
まさかCが関数型言語とか言わんよね?
64:デフォルトの名無しさん
23/09/06 00:09:58.68 H9m3TOIp.net
>>59
オブジェクト指向こそが至高
65:デフォルトの名無しさん
23/09/06 14:31:43.33 y4HhiiDL.net
static関数をすこれ
66:デフォルトの名無しさん
23/09/06 22:40:02.86 HGpQ4Jna.net
なんや、それ
67:デフォルトの名無しさん
23/09/07 01:21:20.89 gnShnq85.net
デザパタ用語ではシングルトンパターン(笑)
68:デフォルトの名無しさん
23/09/07 02:39:23.32 ASBmJNcr.net
全然違うぞw
69:デフォルトの名無しさん
23/09/07 23:31:22.59 mdRVL8hl.net
関数型言語ではライブラリどう扱うん?
70:デフォルトの名無しさん
23/09/08 00:27:59.13 +kl4ffGL.net
こういうつまんねぇ話は2003年頃に済ませておけよ
71:デフォルトの名無しさん
23/09/08 01:09:06.66 pIxFIjjS.net
>>48
スレリンク(newsplus板)
72:デフォルトの名無しさん
23/09/08 03:00:17.98 Wdg5/Ojr.net
OOP信者の方はC#の拡張メソッドのことどう思ってるんですかw
73:デフォルトの名無しさん
23/09/08 09:05:25.14 5xCGhqQr.net
>>69
あって当然の仕組み
74:デフォルトの名無しさん
23/09/08 09:56:43.98 U3VyfYkU.net
>>67
おじいちゃん、ここは若者のスレッドなの老害はでしゃばらないでね
75:デフォルトの名無しさん
23/09/08 13:33:28.64 xvdxrsKm.net
既存フレームワークはオブジェクト指向かもしれんけど
俺はその書き方では使ってない
これが答えだ
76:デフォルトの名無しさん
23/09/08 14:16:55.80 9xaMduSN.net
何の答えだよw
77:デフォルトの名無しさん
23/09/08 17:25:44.02 LnB50oKq.net
>>71
5chで若者とか笑わせなくていいからハロワ行けよ
78:デフォルトの名無しさん
23/09/08 17:39:09.54 xhNNQs6H.net
オブジェクト指向こそ至高だろ?
オブジェクト指向のコード読めなくて負い目感じてるよね?
79:デフォルトの名無しさん
23/09/09 00:20:38.75 57t0AUvC.net
>>75
お前の書くコードはくちゃくちゃで眺めると目がつぶれそうだよ
80:デフォルトの名無しさん
23/09/09 06:42:18.63 L8RTgt6O.net
>>75
オブジェクト指向の最大の長所は可読性の高さだが、お前はオブジェクト指向の基本からまるで分ってないな
81:デフォルトの名無しさん
23/09/09 08:47:48.10 qG0K3jtD.net
オブジェクト指向の最大の長所が可読性って、そんなに言われているかな? うまいことブラックボックス化ができたたきにゴチャっとしたコードをクラス内部に閉じ込められる効果はあるけれども、オブジェクト同士の相互関係は、基本的にはオブジェクトの海と言われるスパゲティじゃない?
82:デフォルトの名無しさん
23/09/09 09:31:35.89 5dSlQ8VJ.net
>>78
スパゲッティの定義次第だからその定義を共有しないと話が噛み合わない。
同じコードをオブジェクト指向以外で書いたらスパゲッティじゃなくなるのか、と。
「私が読みにくいと感じるからスパゲッティ」ならどうとでもなる。
83:デフォルトの名無しさん
23/09/09 09:33:25.46 Cz8dAb+H.net
OOPのメリッ�
84:gが何なのか未だに分からん Smalltalkみたいに実行環境からオブジェクトをいろいろいじれるやつのときは オブジェクトってもんがもっと動的に、マウスで触れるような存在で なんかそういういじくりやすさ含めて親しみ持ってるんだろうけど
85:デフォルトの名無しさん
23/09/09 09:34:20.74 e7UzJXmD.net
書き込むのは好きにしたらいいが板違いのスレだからsageてくれよ
86:デフォルトの名無しさん
23/09/09 09:45:59.55 N/e+EbWm.net
>>81
自治アスペ😂
87:デフォルトの名無しさん
23/09/09 12:37:22.79 +xOF5xX7.net
>>80
メリットもなにもコード書いてたら普通にオブジェクト指向型になるものじゃね
「Hello World」をわざわざオブジェクト指向にするようなバカならともかく
クラスや継承を作れとか強制するような宗教でもない
88:デフォルトの名無しさん
23/09/09 13:35:46.45 maTjrzau.net
>>80
オブジェクト指向のメリットはプログラムを管理しやすいことだと思う
たとえば
・DBからデータを取得する
・データを元にExcelファイルを作成する
・Excelファイルをメールで送信する
・作業完了のメッセージをSlackにPOSTする
という一連の処理がある場合に
・DBにアクセスするオブジェクト
・Excelファイルを作成するオブジェクト
・メールを送信するオブジェクト
・Slackにアクセスオブジェクト
があればそれらを組み合わせることでプログラムを作れるじゃん
そして世の中にはすでにたくさんのオブジェクトがライブラリという形で用意されている
プログラマはそれを利用することでさまざまなことが行えるようになるんだ
既存のライブラリで要件をみたせなければ自分で作ることもできる
便利だよね
89:デフォルトの名無しさん
23/09/09 13:42:59.05 maTjrzau.net
オブジェクト指向のデメリットはオブジェクトを自由に定義できるがゆえに
簡単な処理さえも抽象化してスパゲティになることがありがちってことかな
Hello World Enterprise Editionはきれいに設計されてはいるけど
System.out.println("Hello, World!");
でいいじゃんみたいな
Hello World Enterprise Edition
URLリンク(gist.github.com)
そして世の中には簡単なの処理なのにオブジェクトがたくさんあって
きれいに設計されてるわけでもなくプログラマがそのときの思いつきだけで
作ったんじゃないかと思われるような正気を疑うようなオブジェクトがたくさんあるんだ
どうだい楽しいだろう
90:デフォルトの名無しさん
23/09/09 13:54:42.10 DPFW/FPV.net
Rustは面倒
91:デフォルトの名無しさん
23/09/09 14:25:39.31 maTjrzau.net
DBやExcelなどのようにドメインがはっきりとわかれている場合には
これはDBにしか関与しないデータだからDBオブジェクトの中に閉じ込めるみたいに
考えてオブジェクトを作ればいんだろうけどね
業務のドメインは流動的だからね
・この概念とこの概念は違っていてこのようにわけられる
・でもやっぱりこういう橋渡しは認めておいたがいいからこれは例外
・ユーザからこれができなくて困ってるといわれたからなんとかしてもらいたい
・あの概念とあの概念はじつはこういう切り口でみたときには繋がりがあってそれを計算してほしい
みたいなことが業務ドメインの日常だからね
どこが変わるかを予測して多少流動しても設計を変えなくてすむように作り込んだら
あっというまにHello World Enterprise Editionのできあがり
オブジェクトは固体だけれども業務は液体みたいなところがある
オブジェクトの前段階いわばスライムみたいな状態にあえてとどめておくことで
適応力を高められるんじゃないかと思う
計算によって人間の認知能力が生まれ
人間の認知能力によってオブジェクトが生まれるとするならば
関数はオブジェクトよりも次元の高い抽象化のように思われる
関数はスライムの可能性がある
92:デフォルトの名無しさん
23/09/09 14:57:10.51 xoF7Cm8V.net
オブジェクト指向もモジュール化の1つの(かなり優秀な)手法だと思うよ。オブジェクトの内部はブラックボックス化され、外部からはオブジェクトのインターフェイスだけを相手にすればよいので、同時に考えなければいけないことが減り、プログラムの見通しが良くなる。
問題は、モジュールとしてのオブジェクトを機能させるためには、「これをオブジェクトとして扱う」というモジュール境界の決定が必要になるところ、オブジェクトの粒度が大きくなると、コードを書いた人の恣意的な決定の要素が増えるために、コードを読む人の理解・把握が難しくなっていくことかな。文字列オブジェクの方がcsv_readerオブジェクトよりできることを把握・イメージするのは簡単だし、より抽象度の高いオブジェクトになると、さらに理解は難しくなる。
オブジェクト指向によって得られる見通しの良さは、ゴチャっとしたコードをブラックボックスの中に閉じ込めることによって得られるものなので、オブジェクトの中に取り込まれないコード(オブジェクト同士の相互関係)の複雑性はそのまま残る。これがオブジェクトの海と呼ばれる問題。
オブジェクト指向は重要な進歩だし、今さらそのメリットを捨てることは難しいと思うけど、オブジェクトの「外」の問題については別の手法による対処が必要になる。
93:デフォルトの名無しさん
23/09/09 15:55:43.01 8RnWRRq5.net
コード書けない奴が抽象的な御託つらつら並べるのはどこのスレでも出てくるんだよな
バカをさらして何が楽しいのやら
94:デフォルトの名無しさん
23/09/09 16:36:21.41 MNKqZUR3.net
俺は抽象化自体はどうでもよくてifを減らすために使ってるわ
いくらわかりやすい名前をつけても結局全部読むなら大差ないからな
95:デフォルトの名無しさん
23/09/09 18:04:29.66 LlED4Hp3.net
> Hello World Enterprise Edition
全部は読んでないけどニヤニヤしながら読んだわ
ただし
> if(code.getStatusCode() != 0){
は
> if(code.getStatusCode() != IStatusCode.OK) {
とかしてインタフェース側に定義された定数使うほうがオツやと思ったわ
96:デフォルトの名無しさん
23/09/09 18:21:08.83 LlED4Hp3.net
OOPのメリットとして感じてるのは結局は
モジュール化のメリットなんよね
これはOOPのメリットを矮小化させるものじゃないけど
適度に分割して整理して
それらを適度に組み合わせて使うってことは
まぁそこにOOPLならではのことに焦点を当てるなら
継承っていう軸が発生することにより
クラスライブラリや自前のクラス群を説明するとき
継承関係っていうものでもって説明できる場面が出てくる
97:デフォルトの名無しさん
23/09/09 18:40:22.54 GTFNmrLV.net
OOPでは演算子を型と関数の間の関係として自然に定義できるけど、Cみたいな手続き型とか関数型ではどうやってるんですか?
98:デフォルトの名無しさん
23/09/09 21:58:47.70 2wCSKfyD.net
おうおうPの良いところだけを継承したモダンな仕組みを作ればいいんじゃないかな
99:デフォルトの名無しさん
23/09/09 22:52:32.96 XsT3u1d6.net
>>92
>OOPのメリットとして感じてるのは結局はモジュール化のメリットなんよね
8割方同意する
>>84に列挙されてる「~するオブジェクト」も「~するモジュール」にすべて置き換えてもなんら支障がないから
>まぁそこにOOPLならではのことに焦点を当てるなら継承っていう軸が発生する
これには同意しない
オブジェクト指向の根幹は継承じゃなくて
データと振る舞いをオブジェクトという基本構成単位にまとめることにある
関数型のモジュールでは代替できない
また継承のうちインターフェース定義とその実装のような関係は
Haskellのtypeclassをはじめ関数型言語でも広く存在するものなのでOOPLならではのことではない
つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによるメリットというのがOOPLならではのメリットということになる
じゃそれは何なのか?
100:デフォルトの名無しさん
23/09/09 22:55:57.73 EGvOTcBg.net
ずばりオワコン
101:デフォルトの名無しさん
23/09/09 23:03:34.74 LlED4Hp3.net
>>95
> オブジェクト指向の根幹は継承じゃなくて
根幹とまでは言ってないし思ってもないよw
> また継承のうちインターフェース定義とその実装のような関係は
インタフェースと実装の関係を継承とは言ってないつもり
あくまで
インタフェース間の継承であったり
もっと広義には単に型の継承
ごめんね今相当酒飲んでるから取りこぼしてたり誤解してたりするかもだけど
> つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによる
> メリットというのがOOPLならではのメリットということになる
このへんについてはなんとなく同意
カプセル化だの継承だのお題目色々あるけども
結局はオブジェクトって単位だよね
ってとこに着目すんのはわりと同意できる
要点を外してるレスになっちゃってたらすまぬ
102:デフォルトの名無しさん
23/09/09 23:19:27.60 maTjrzau.net
>>95
> つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによるメリットというのがOOPLならではのメリットということになる
じゃそれは何なのか?
状態だと思う
103:デフォルトの名無しさん
23/09/09 23:31:29.55 LlED4Hp3.net
ほどよいフィット感だと思う
データと関数まとめる?
まとめたい?
まとめましたけどどうですか?
↓
ええやんええやん の感
104:デフォルトの名無しさん
23/09/09 23:46:40.67 maTjrzau.net
ミュータブルなオブジェクトを簡単に作れるっていうのがオブジェクト指向言語の利点な気がする
Haskellだとモナドを使わないといけないからね
105:デフォルトの名無しさん
23/09/10 08:52:36.11 tviBJXty.net
オブジェクト指向は何かってのはWikipediaでも見ればいい。読んで理解してもプログラム技術は変わらないが
オブジェクト指向のメリットは何かって言うのは「どの部分もオブジェクト指向とは言えない」形に自分のコード書きなおしてみればわかる。逆にすべての部分をオブジェクト指向の形にするのはアホな上にキチガイだが
これだけのことを技術板でグダグダ語ってるのはアホ
106:デフォルトの名無しさん
23/09/10 09:38:36.81 yM7j2B0I.net
>逆にすべての部分をオブジェクト指向の形にするのはアホな上にキチガイ
Rustですね判ります
107:デフォルトの名無しさん
23/09/10 13:05:53.86 rXl4Y+bN.net
よく知らないが、Smalltalkとか? 「アホな上にキチガイ」かどうかは意見が分かれそうだが。
108:デフォルトの名無しさん
23/09/10 15:45:22.64 lSoYWiHB.net
1バイトのデータを1バイトのオブジェクトとして表現でない
スタック上に確保できない
そんな言語は全部ゴミ
109:デフォルトの名無しさん
23/09/12 19:43:42.93 oyXayNX+.net
クリントン大統領にどんな強大な権限が有っても、自らのチンポがしこしこしてしまうのは止められない!
class チンポ extends クリントン{
super.不適切な関係;
}
クリントンの再定義、クリントンの拡張された人格ということだ!
110:デフォルトの名無しさん
23/09/14 02:27:32.48 Zxfr95Lh.net
またお前か
URLリンク(th.bing.com)
111:デフォルトの名無しさん
23/09/14 22:02:34.97 vfXwhook.net
関数型より遥かに便利だわ
112:デフォルトの名無しさん
23/09/14 23:23:53.05 Md4RDTr0.net
オワコン
113:デフォルトの名無しさん
23/09/15 03:29:59.91 rTOM1AgR.net
>>107
あれは知性が要るからな…
つまりこの仕事向いていないってことだよ
114:デフォルトの名無しさん
23/09/15 08:47:47.02 L1OUTakd.net
>>107
パイプライン演算子は取り入れてほしいかな
setXXXX系メソッドをそのままつなげられたらと思う
115:デフォルトの名無しさん
23/09/15 09:35:06.90 PpQe4ASW.net
そりゃAPI設計が悪い
116:デフォルトの名無しさん
23/09/15 10:30:38.51 EIF5vDwi.net
>>109
それはただのエンジニアの自己満オナニーだよしょうもないw
117:デフォルトの名無しさん
23/09/15 11:40:09.91 Cosi/Xnz.net
そりゃ君の頭が悪い
118:デフォルトの名無しさん
23/09/15 12:15:45.69 EIF5vDwi.net
いくら頭良くても5chでくだまいてたら意味無いですよね
目
119:糞鼻糞ですよね
120:デフォルトの名無しさん
23/09/15 22:35:34.78 h2Dum8zW.net
本物の糞が何えらそうに
121:デフォルトの名無しさん
23/09/16 08:57:00.62 lvjlkleA.net
T,o,k(迷惑という方は←をあぼーんしてください。)
更に家族友人にも紹介して、加えて¥4000をゲットできます!
URLリンク(i.imgur.com)
122:デフォルトの名無しさん
23/09/16 09:57:06.22 ZJLR+eYH.net
>>115
とクソが申しております
123:デフォルトの名無しさん
23/09/16 10:28:53.10 FZJflFW6.net
>>116
もう1.5万入手してる
124:デフォルトの名無しさん
23/09/16 12:06:46.11 ohMs/cws.net
>>114
こんなところで自己紹介してる暇があったらハロワ行けばいいのに
125:デフォルトの名無しさん
23/09/16 12:13:33.72 ZJLR+eYH.net
>>119
とハロワおじさんが申しております
126:デフォルトの名無しさん
23/09/16 12:20:55.48 RATZO/gi.net
おじ同士チンポを舐め合うスレ
127:デフォルトの名無しさん
23/09/16 12:28:42.66 ZJLR+eYH.net
>>121
毎日5chでチンポ舐め書き込み続けるゴミ人生でした
オブジェクト指向興味無いやつ来んなよ
暇かよ
128:デフォルトの名無しさん
23/09/16 14:55:49.89 LU1R8AA0.net
>>116
これ他のタスクだけで1000円くらい簡単に稼げるよな。
129:デフォルトの名無しさん
23/09/16 15:59:01.04 LYX0tJpe.net
決定的にオワコン
130:デフォルトの名無しさん
23/09/16 15:59:49.73 mWv9MPGX.net
でも便利
131:デフォルトの名無しさん
23/09/16 23:51:17.00 0ao3waxq.net
そしてあちこち依存が絡んだスパゲティーコードを量産
他人が解読するは難しく
時間がたつと自分でもメンテできない
132:デフォルトの名無しさん
23/09/16 23:52:08.95 0ao3waxq.net
ID:ZJLR+eYH
顔真っ赤w
133:デフォルトの名無しさん
23/09/17 06:56:06.28 gR/F5lVJ.net
>>127
と顔真っ赤おじさんが申しております
134:デフォルトの名無しさん
23/09/17 07:02:54.80 5YRchEc3.net
必死にスレ何度も上げてるけどそんな構ってほしいのかよ
135:デフォルトの名無しさん
23/09/17 07:04:57.07 gR/F5lVJ.net
関数型ならスパゲッティコードにならないというのはどういう理屈?
136:デフォルトの名無しさん
23/09/17 09:36:51.67 oKDM309U.net
ここまでのまとめ
オワコンとなったのは「クラス」
オワコンとなった理由は「クラスは継承に基づくため」
オワコンとなった証拠は「最近のプログラミング言語Go、Rust、Nimなどは全てクラスを持たない」
以上
つまりオワコンとなったのは「クラスとその継承」
もっと広い意味の「オブジェクト指向」は有効
137:デフォルトの名無しさん
23/09/17 10:48:22.09 Z711Flgk.net
新手のクソが現れた
138:デフォルトの名無しさん
23/09/17 11:27:29.99 gR/F5lVJ.net
>>131
いや、クラスもオワコンじゃない
以上
139:デフォルトの名無しさん
23/09/17 11:48:42.16 otEgQUqp.net
GoにしろRustにしろNimにしろ継承が不要になったわけじゃない
言語機能として直接サポートされないためにより面倒でより暗黙的な方法で継承が行われている
上辺だけ見てる人にはそれがわからない
140:デフォルトの名無しさん
23/09/17 11:56:48.45 JheNutwI.net
>>131
概ね同意
141:デフォルトの名無しさん
23/09/17 12:10:38.80 A/afT8Dp.net
クラスや継承は高水準な機能だから
低水準を目的とする言語には向いてない
142:デフォルトの名無しさん
23/09/17 12:19:05.22 cSUabsmI.net
>>133
クラスの本質は継承にあり
クラスは不要
クラスを必要だと思い込んでいる人はクラスと関係ない部分を必要としている
例えばクラスのメンバー変数はGo、Rust、Nimなどでは構造体のメンバー変数
クラスのメソッドはGo、Rust、Nimなどでは構造体のメソッド
つまりそれらはクラスとは関係なくクラスより小さい概念である構造体でも持っている
一方でクラスの本質は継承である
>>134
継承は害悪であり不要
継承しか知らない人だけが継承に固執している
143:デフォルトの名無しさん
23/09/17 12:28:37.74 gR/F5lVJ.net
>>137
クラスを使ってもいい。
以上
害悪ではない
以上
144:デフォルトの名無しさん
23/09/17 12:32:35.53 YoGswVKv.net
ID:gR/F5lVJ
プログラム書けない上にどこに行っても相手してもらえないから板違いのスレで吠えるしかないんだな
145:デフォルトの名無しさん
23/09/17 13:01:40.88 gR/F5lVJ.net
何故自分は相手してもらえると思うんや
おまえの相手して誰が得するんや
オブジェクト指向興味無いなら来んなよ暇人
146:デフォルトの名無しさん
23/09/17 13:05:43.12 cSUabsmI.net
オブジェクト指向は非常に重要
しかしクラスは不要
これはプログラミング言語界で結論が出ている
だから最近のプログラミング言語Go、Rust、Nimなどはいずれもクラスを持たない
147:デフォルトの名無しさん
23/09/17 13:21:52.64 Tq9Zm9TM.net
これまでオブジェクト指向分析に触れているコメント0
148:デフォルトの名無しさん
23/09/17 13:30:45.41 gR/F5lVJ.net
オブジェクト指向は非常に重要
クラスも重要
これはプログラミング言語界で結論が出ている
だから最近のプログラミング言語Swift、kotlinなどはいずれもクラスを持っている
149:デフォルトの名無しさん
23/09/17 13:47:21.55 ySEZfztt.net
JavaScriptのclass構文はよく使われてる印象だな
オブジェクト指向言語でもないのにわざわざclass名乗るって、よほど需要ありと見えるが
150:デフォルトの名無しさん
23/09/17 13:48:32.84 I/olJ+Ch.net
javascript ω の object で class less 設計に目覚めた
151:デフォルトの名無しさん
23/09/17 13:48:58.94 oXWqcq3J.net
SwiftはObjC、KotlinはJavaの代替だから外れるわけないわな
152:デフォルトの名無しさん
23/09/17 13:49:35.71 I/olJ+Ch.net
>>144
あれは prototype が理解出来なかった人が多かったから class が後付けされたんだろ
153:デフォルトの名無しさん
23/09/17 13:50:12.29 Tq9Zm9TM.net
俺は継承よりもカプセル化が重要だと思う
だがカプセル化はクラスの専売特許ではない
154:デフォルトの名無しさん
23/09/17 13:57:14.58 fKvD0+k2.net
>>143
自ら敗北を認めたようだな
SwiftはAppleがObjective-Cの後継と位置付けた訳ありでクラスを採用
KotlinもJavaの後継と位置付けた訳ありでクラスを採用
つまり二つとも例として出してないけない過去のしがらみのある訳あり言語
一方で過去のしがらみのないGoやRustやNimなどの新たな言語では当然クラスは採用されなかった
いずれも全く異なる方向性の言語であるがクラスは不要なものであるという共通認識がプログラミング言語界にあるためだ
155:デフォルトの名無しさん
23/09/17 14:24:30.92 I/olJ+Ch.net
まあ構造体も継承出来るんですけどね
156:デフォルトの名無しさん
23/09/17 14:54:07.42 gR/F5lVJ.net
>>149
そんな共通認識は無い
おまえが勝手に言ってるだけ
新しい、なんてのは何の根拠にもなってない
残念、論破、さよなら
157:デフォルトの名無しさん
23/09/17 15:11:21.73 ENG0J7cr.net
元々「クラス」という言葉は義務教育の頃から皆馴染みがあり下位層で育った奴には嫌な思い出しかないだろう
クラスという言葉に忌避感を持つ人間は日本だけでなく恐らく世界中にいると推測できる
だからクラスは不要だとかオワコンとか言ってクラスの概念自体を排除した新しい物を模索しようとする
一方、過去にトラウマの無い上位層は特にクラスに忌避感を持たずに有力な1手段として使い続けるだろう
これが悲しい真相ではないかと仮説を立ててみる
158:デフォルトの名無しさん
23/09/17 15:42:41.52 AYgIc0ea.net
>>150
いわゆるクラス継承は害悪という共通認識が広まり
Go, Nim, Rustなどの新しい言語では排除されている
159:デフォルトの名無しさん
23/09/17 16:13:46.24 PxvF4kv6.net
複オジこんなところでも自演してまで珍説唱えてんのかよw
>>137,149,153はRustスレ出禁扱いになってる珍説を強弁するだけの複製オジさんなる人物なので相手にするだけ時間の無駄
160:デフォルトの名無しさん
23/09/17 16:39:47.21 L4HC8a7E.net
>>138
スレリンク(newsplus板)
161:デフォルトの名無しさん
23/09/17 16:42:40.76 L4HC8a7E.net
ID:gR/F5lVJ はちょっと煽って からかえばポンポン反応してワロスw
沸点低すぎ
162:デフォルトの名無しさん
23/09/17 17:05:40.99 L4HC8a7E.net
今頃また顔真っ赤にして怒り狂ってそう
( *´艸`)クスクス
163:デフォルトの名無しさん
23/09/17 17:17:54.06 gR/F5lVJ.net
まあ顔真っ赤おじさんとかどうでもいいんすけど、どう考えてもオブジェクト指向の優勝、圧勝なんすよ、もー話になんないす
164:デフォルトの名無しさん
23/09/17 17:24:05.04 L4HC8a7E.net
また釣れたw
165:デフォルトの名無しさん
23/09/17 17:25:30.93 EVA53Rjw.net
オブジェクト指向はプログラム方法の一つの「説明」でしかないのに勝ち負けって頭悪すぎる
166:デフォルトの名無しさん
23/09/17 17:50:31.52 gR/F5lVJ.net
>>159
と、また釣れたおじさんが申しておりますw
167:デフォルトの名無しさん
23/09/17 18:28:12.30 YZPhsijr.net
ポンポン ダボハゼみたいにすぐ釣れて釣りとしては面白くないな。
入門で目にしたオブジェクト志向以外知らない頭の悪い初心者だということはよくわかった
168:デフォルトの名無しさん
23/09/17 19:25:51.35 gR/F5lVJ.net
>>162
と素人が申しております
169:デフォルトの名無しさん
23/09/17 19:48:48.58 YZPhsijr.net
はい論破とオウム返しばっか、池沼かよ
┐(´д`)┌ヤレヤレダワ
170:デフォルトの名無しさん
23/09/17 20:37:36.54 gR/F5lVJ.net
>>164
と池沼が申しております
おまえには十分だろw
171:デフォルトの名無しさん
23/09/18 04:03:20.68 ALFf6KVm.net
いまだオブジェクト指向、継承とか言っているのはこんなやつ
172:デフォルトの名無しさん
23/09/18 07:00:18.19 8fhm6wiI.net
朝の4時にそのレスできて良かったじゃん
173:デフォルトの名無しさん
23/09/18 07:55:33.59 xwdOkQ7Z.net
書き込み下’時間でマウントw
174:デフォルトの名無しさん
23/09/18 09:12:53.00 vG0yZxdJ.net
マ板でやれやバカども
175:デフォルトの名無しさん
23/09/18 09:43:43.01 Y1JfaYii.net
非表示にしとけよ拘りつよつよアスペくん😅
>>169
176:デフォルトの名無しさん
23/09/20 23:29:17.31 VBDgfudD.net
モジュール化の手法として関数がまず考えられた。
共通するまとまったルーチンを実行するにあたって関数は便利であったが、
呼び出しをしてメモリ上に展開されても処理が完了するとメモリ上から消滅してしまう
(それまでの履歴がパァ)という性質のものだった。
simulaの開発者の一人であるダールは、そのせっかくメモリ上に展開したデータであるのに、呼び出しが完了してしまうと制御もメモリ展開ももとに戻ってしまう関数(正確にはブロック)に代わるものとして、
呼び出したとしても制御もメモリ展開も消滅しない、つまり状態をもつ関数(局所変数を持つ関数)を「オブジェクト(object)」と呼んだ。
アラン・ケイは、その関数とは性質が異なる「オブジェクト」を多用するプログラミングを安直にオブジェクト指向と呼んだ(ようだ)。
歴史的に整理すると
構造化プログラミングは、関数を多用するプログラミング(基本3構造は前提)。
オブジェクト指向プログラミングは、ダールのオブジェクトを多用するプログラミング。
と言える。嘘だと思うならダールの論文を読んで見ればいい(と言いつつ本当に読んだら細かい重要なところをバッサリと切り落としているのがバレる)。
177:デフォルトの名無しさん
23/09/20 23:35:39.69 VBDgfudD.net
オブジェクト指向がわかりにくいのは
ダールの論文がいろんな画期的なアイディアてんこ盛りなせいだ。
オブジェクト(object)という概念が画期的なのに、オブジェクトを生成するクラスやオブジェクトの型概念にも触れていて、何がポイントかわかりにくい。
でも何回か読んでるとダールのいうオブジェクト(object)という概念が画期的なのだと分かる。
要するに関数に代わるモジュール化の手法が(ダールの)オブジェクト。
178:デフォルトの名無しさん
23/09/21 00:10:08.07 H7YqoNcR.net
今年から流行りだした生成AIはオブジェクト指向と関係ない
数式のように誰にとっても明解でないところが終わってるオブジェクト指向は愚かな人間どもの間違ったアプローチ
その先には何も無さそうな事だけは誰の目にも明解
179:デフォルトの名無しさん
23/09/21 00:20:33.81 0U/PD5XH.net
状態が可変のオブジェクトはデバッグが難しい
どこで状態が変わるのかわからんようになるわ
業務要件とは独立したデータ構造でさえ多少複雑なことするとそういうことおこる
ミュータブルは最小にしたが良い、マジで
180:デフォルトの名無しさん
23/09/21 00:22:34.55 MHm+UEXg.net
>>102
あれはオブジェクト指向ではなくて抽象データ型。
インスタンスが状態持たないでしょ?
181:デフォルトの名無しさん
23/09/21 00:25:05.90 MHm+UEXg.net
オブジェクトは状態持ってるからオブジェクトなんだよ!と強く言いたい。
持ってないならそれはそれは単なる抽象データ型のインスタンス。
182:デフォルトの名無しさん
23/09/21 00:28:54.33 tdxL4aJO.net
>>172
それはクロージャ
オブジェクト指向に限らず関数型でも使える
つまりオブジェクト指向の本質ではない
183:デフォルトの名無しさん
23/09/21 00:30:07.90 Zhn9cjmN.net
>>175
Rustでももちろんインスタンスが状態を持つよ
184:デフォルトの名無しさん
23/09/21 00:31:45.48 Zhn9cjmN.net
Cで書いた抽象データ型のインスタンスでも状態持つものはいくらでもある
185:デフォルトの名無しさん
23/09/21 00:37:01.04 MHm+UEXg.net
>>177
クロージャからオブジェクトを生成する事もできるから似ていることは認めるが、オブジェクトを生成できるのは関数型でも破壊的変更ができるcommon lispとかschemeだけ。sicpにも書いてある。
純粋関数型のhaskellはクロージャからオブジェクトを生成するのは無理。破壊的変更ができないから。
schemeをもとにしたというjavascriptは実際クラスを使わない場合、クロージャでオブジェクトを生成する。真似するとオブジェクト指向でクラスは本質ではない。
186:デフォルトの名無しさん
23/09/21 00:39:36.94 MHm+UEXg.net
>>178,179
そら状態じゃなくて値
多分そういうのrustだとlet mutと宣言してるだろ?
187:デフォルトの名無しさん
23/09/21 02:13:11.73 5L348Pt1.net
【根拠あり】フリーランスエンジニアは年収862万円取れて普通という話【高収入】
【こんな僕が】フリーランスエンジニアで月収100万円を達成した5つの方法
ITフリーランスエンジニアの年収|会社員との違いや独立後の案件の取り方
月収90万のITフリーランスプログラマー・SEが選んでる在宅案件はこんな案件です
フリーランスの年収は平均いくら?年収1000万円以上の割合とは
2021年最新版 エンジニアの平均年収はいくら?全体平均と比べて○○円も高い!
188:デフォルトの名無しさん
23/09/21 10:11:19.31 gdQGfC6C.net
インスタンスとか面倒くさい
全部グローバルなstaticクラスで良くね?
189:デフォルトの名無しさん
23/09/21 10:12:39.58 eeeUNNfX.net
ただの置物となった今ではオブジェ指向でいい
190:デフォルトの名無しさん
23/09/21 12:25:41.73 bQKF4ZJD.net
みんなオブジェクト指向で作ってんだし合わせようよガキじゃないんだからさぁ!
191:デフォルトの名無しさん
23/09/21 13:32:02.03 kBQIqVu1.net
悪いことは少しでも改善しないと進歩がない。
192:デフォルトの名無しさん
23/09/21 13:38:45.02 6kzUrMUc.net
ガキじゃないんだからさぁ!
193:デフォルトの名無しさん
23/09/21 14:04:48.18 KxLc2ofK.net
>>181
君だけに通じるご都合主義的な定義で話されても誰も分からんよ
let mutで宣言されたら状態じゃなくて値になるて何のこっちゃ
194:デフォルトの名無しさん
23/09/21 14:59:44.19 kBQIqVu1.net
オブジェクト指向はイメージが広がる(といえば聞こえはいいが妄想を掻き立てられる)
人がいるからオレオレ定義があちこちで膨らんだり独善が独り歩きして
おかしな慣わしみたいになり弊害が出てきた
195:デフォルトの名無しさん
23/09/21 23:48:33.39 UfkHHyEe.net
それはおまえの意見、何の根拠もない
残念、はい論破
オブジェクト指向は非常に重要
これはプログラミング言語界で結論が出ている
オブジェクト指向の大勝利
196:デフォルトの名無しさん
23/09/22 00:01:25.05 J2JYhUeP.net
aiもだいたいオブジェクト指向でかくしなぁ
197:デフォルトの名無しさん
23/09/22 00:14:03.42 2pjQfvCi.net
>>189
わかる
198:デフォルトの名無しさん
23/09/22 00:24:21.80 nZQCXJJN.net
>>188
ご都合主義はお互いじゃね?
俺が言ってるのは値でもlet mutで宣言したら状態持ってるように見えるから、抽象データ型が状態持ってると言ってんじゃねっと言ってる
極端なこと言うと
let mut x:usize = 0;
x += 1;
こう書いたらxは状態持ってるように見えるけど
単なるデータ型が状態持ってると考えるのはおかしいからこれは単なる可変の変数に入った値と考えるべきじゃないか?
と言っているんだよ。
199:デフォルトの名無しさん
23/09/22 00:29:47.98 nZQCXJJN.net
単純に状態を持った局所変数環境のオブジェクトって概念が新しいんだよ。
言ってしまうとそれを使えば全部オブジェクト指向と言える。
200:デフォルトの名無しさん
23/09/22 00:59:30.50 pJdskUNF.net
>>189
ソフトウエアを開発できないくせに薀蓄だけは立派な
宣教師みたいなやついるよな。
あれもマウントの一種、というか飯のタネなんだろう。
悲惨なのは今だに新たな入門者が宣教師の餌食になって
犠牲者が増えつづけていること
201:デフォルトの名無しさん
23/09/22 01:48:01.87 PcXfPQTh.net
指向という言葉がダサイ
202:デフォルトの名無しさん
23/09/22 03:06:05.54 UufRKzh2.net
宣教師が最近布教してるのは、アジャイル開発やドメイン駆動だから
オブジェクト指向はオワコンなのかもな
203:デフォルトの名無しさん
23/09/22 08:48:16.06 ghnEkhiW.net
オブジェクトを信じなさい
オブジェクトこそが唯一無二の真理
204:デフォルトの名無しさん
23/09/22 09:10:31.15 dkRHHNCe.net
>>196
原語が
Object Oriented Programing
だから日本語で指向って言ってるだけ
あいつらoops!のノリで付けたんであって
Orientedに不快意味は無い
205:デフォルトの名無しさん
23/09/23 05:00:06.68 AGrNs2HH.net
>>197
そもそもアジャイル開発やドメイン駆動はオブジェクト指向と直交する概念では無い。というかレイヤーが違う
むしろオブジェクト指向はアジャイル開発やドメイン駆動を実現する根幹手法の一つと言って良い
206:デフォルトの名無しさん
23/09/23 10:10:00.44 i9fpyxKg.net
いやいや
207:デフォルトの名無しさん
23/09/23 12:51:50.80 tQpIWXxa.net
パトラッシュ、疲れただろう?
ボクもマジメに突っ込むのはもう疲れたよ。
208:デフォルトの名無しさん
23/09/23 18:54:47.60 IJ8IqG3m.net
*'``・* 。
| `*。
, 。∩∧ ∧ * これで元気にな~れ
+ (´・ω・`) *。+゚
`*。 ヽ、 つ *゚*
`・+。*・' ゚⊃ +゚
☆ ∪~ 。*゚
`・+。*・ ゚
っ
URLリンク(i.imgur.com)
209:デフォルトの名無しさん
23/09/23 21:15:19.84 ChB9aNsl.net
元気があればオブジェクト指向もわかる
ありがとー!!
210:デフォルトの名無しさん
23/09/24 09:15:37.08 AyCWE2s/.net
・クラス型オブジェクト指向はオワコン
・プロトタイプ型オブジェクト指向は有用
って考えでいいの?
211:デフォルトの名無しさん
23/09/24 11:08:15.86 jYY1d0Rr.net
プログラム構造と、開発技法を比較されましても…
212:デフォルトの名無しさん
23/09/24 11:23:16.51 gTj5LbbT.net
>>205
違う
オブジェクト指向自体は有効
ダメなのはクラスとその本質である継承
プロトタイプ方式によるクラス実装も継承なので当然同じくダメ
213:デフォルトの名無しさん
23/09/24 11:25:26.13 Cw9+et/n.net
javascriptのカオス具合からして失敗だろうプロトタイプは
214:デフォルトの名無しさん
23/09/24 16:23:52.68 3YxY27wg.net
jsのエコシステムはoopどころじゃない邪悪じゃろ
215:デフォルトの名無しさん
23/09/24 23:57:23.50 oGK434I1.net
継承は規模が大きければ使いどころがある
無理に使うと害悪なので、必要に迫られるまで使うな
216:デフォルトの名無しさん
23/09/25 00:33:21.23 OWge9pjh.net
継承の良いところと悪いところを両方把握して使い所を見極めればいいんだよ
何でもかんでも継承するのがよくないというだけ
クラスベースの継承、プロトタイプ継承、委譲の3つを比較してそれぞれの良いところ悪いところをきちんとおさえること
217:デフォルトの名無しさん
23/09/25 00:35:49.52 HQWAHROu.net
継承が悪いとかもう何十年も前から言われてるから
それについてはもう語らずに置くけど
クラス化が難しい
クラス化の難しさが悪い
クラス化の難しさの自覚しにくさ語りにくさが悪い
と言いたい
継承関係のないクラスを数個つくる
その時点で難しい
分担、切り分け、依存関係がもう難しい
再利用性のある単位でくくりだすのが難しい
スッキリしたインタフェースを提供するのが難しい
これもっと一般化して言うなら
単に抽象化の難しさってことでもあるけど
218:デフォルトの名無しさん
23/09/25 00:57:40.87 aQ9tHgH2.net
>>212
なんでそれが抽象化なんだよ
クラスベースオブジェクト指向ごときが何を抽象化したとw
219:デフォルトの名無しさん
23/09/25 01:08:01.38 aQ9tHgH2.net
>>210
大規模アプリケーションで広範囲・多階層に渡る継承を多用してソフトを構築したら地獄やでー
初期CDするときはいいんよ。
やっちゃえやっちゃえって感じでソースベースのメソッドなどの単位で差分プログラミングできるところ
どんどん継承活用して、流用性を高めたとか言って俯瞰せずコード書き進めちゃえばなんとかCDが進む
がしかし、ふと立ち止まり、あるいは時間がたち別の者が全体を見渡しなおすと
もうクロスファイルでソースベースマクロ展開みたいな継承がクチャンクチャンの依存のジャングルを成していて
gotoの嵐とはまた違った混沌に手がつけられなくなるぜ
220:デフォルトの名無しさん
23/09/25 01:10:18.53 aQ9tHgH2.net
入門書のサンプルコードレベルで一見便利そうに見えても
継承が有用なケースというものはあるにはあるが、
実践では実はあまり多くない
221:デフォルトの名無しさん
23/09/25 01:17:35.87 aQ9tHgH2.net
>>212
それは抽象化が難しいのではなく、
ソフトウエアプログラムの構造(アーキテクチャー)を
いわゆる迷信のように流布するクラスベースオブジェクト型にはめて現そうとしたけど
うまく現せないことに気が付
222:いたってことだよ いつまでも気が付かないよりはるかにまし
223:デフォルトの名無しさん
23/09/25 10:14:44.94 fq2bVCra.net
>>214
それはクラス使わなくても変わらない。
混沌に見えるのは大規模になったことが原因であって継承が原因ではない。
クラスにも継承にも欠点は無い。
理解できない人がアホみたいに欠点欠点言ってるだけ。
224:デフォルトの名無しさん
23/09/25 10:18:35.43 8PlaAgAt.net
継承があるメソッドは必ずoverrideするって決めたら
ベースクラスの事も思い出されて良いのでは?
まあ、無駄な処理挟むけど、忘れてしまうよりは良いのでは?
225:デフォルトの名無しさん
23/09/25 10:37:24.49 2mEvB720.net
書けてしまうのが問題
継承使うのはライブラリやフレームワークで留めて
応用では使わんことやね
226:デフォルトの名無しさん
23/09/25 10:42:26.44 PH+ByLf2.net
継承使うかクラスコードコピペしまくるかの違いなら
継承の方が何万倍マシだろうに
227:デフォルトの名無しさん
23/09/25 11:40:39.55 KK/E8/oR.net
オブジェクト指向は
コードの再利用のためという建前で余計な文法を追加すること
228:デフォルトの名無しさん
23/09/25 12:33:16.07 2IrvX93h.net
顕わに目に見えないところでコード展開&マージが起きているのと同じなので
小さくて浅い階層なら把握できるが広範で深い階層に渡る依存のジャングルは
何かどうなっているのかわからなくなってしまう
229:デフォルトの名無しさん
23/09/25 12:33:41.40 2IrvX93h.net
>>220
委譲使いなよ
230:デフォルトの名無しさん
23/09/25 12:34:57.59 IRZWO8eC.net
>>220
それはもう既に発想がおかしいんだよ
そのままだとコピペになる(同じコードになる)ところはプログラムに当然発生して多くはコピペを回避すべきなんだけど
それを継承という間違ったやり方で解決するのは間違っているという話だよ
その時に継承しか知らないと継承するしかないと思いこんじゃう
だから継承禁止もしくは原則として継承を使わないというプロジェクトや会社があったり指導が入ったりするわけだよ
最近のプログラミング言語は継承自体を無くしたものが増えてるのもその流れだね
231:デフォルトの名無しさん
23/09/25 12:36:18.97 2IrvX93h.net
>>217
カプセル化と継承と多態
オブジェクト指向を乱用して構築した大規模アプリソフトウエアの目を覆いたくなるような分かりにくさは
単に大規模だからというだけのものではない厄介さがあるぞ
232:デフォルトの名無しさん
23/09/25 12:58:59.41 8PlaAgAt.net
まあ、フレームワークで継承使わないとかどんだけ縛りだよって話だ罠
233:デフォルトの名無しさん
23/09/25 13:04:11.51 2IrvX93h.net
>>226
GUIのフレームワークではクラスベースオブジェクト指向の継承が有効な典型だよな。
まぁ、仕様・IFが長年練り上げられてきたことの結実ともいえるが
234:デフォルトの名無しさん
23/09/25 13:09:20.84 zA4g5CbZ.net
>>225
その大規模アプリをオブジェクト指向じゃなくて何を使えばましになるの?
235:デフォルトの名無しさん
23/09/25 13:24:45.11 2IrvX93h.net
言語や開発ツールが規模の大きいソフトウエアの構築を支援するために提供しているモジュラリティ―のための
パッケージなどを利用した機能階層・分割設計の方がましだろ
236:デフォルトの名無しさん
23/09/25 13:27:11.83 +N84ygWf.net
クラスは物とその動作の設計図なんだろうけど
動作だけをうまく整理してまとめて設計図にして、物はその動作によって加工されるだけでよくて、別に物自体が何かしてくれなくていい発想の方が自然なことは多いと思う
だからクラスベースだと頭の中と噛み合わなくて残念な気持ちになる
237:デフォルトの名無しさん
23/09/25 13:56:58.76 8PlaAgAt.net
動作とか考えるからおかしくなる
役割と考えれば分かりやすい
238:デフォルトの名無しさん
23/09/25 14:00:54.45 dKK05iVY.net
>>224
継承が不適切な場合もあれば適切な場合もある
それを見極めろよという話
盲目的にあらゆる継承がダメだと思ってんなら
それは盲目的に継承使うやつと同じレベルだぞ
239:デフォルトの名無しさん
23/09/25 14:01:29.91 cH5L00do.net
右に動かすメソッドが
WindowでもRectでもウンコでもなんでも動かせるのが自然で良いということかな?
240:デフォルトの名無しさん
23/09/25 14:10:00.64 8PlaAgAt.net
オブジェクト指向より
エージェント指向
241:デフォルトの名無しさん
23/09/25 15:41:32.02 bPtriFyH.net
>>232
盲目的に継承は必要ないとしても支障はないと思うよ
今時の継承を持たないプログラミング言語も使うようになったけど継承がないことで支障が出たことがない
『継承は不要』の結論でよいと思う
242:デフォルトの名無しさん
23/09/25 15:45:33.94 8PlaAgAt.net
他言語待ち出してオブジェクト指向言語の作法説いても意味が無いだろw
そんな事言った何でも不用で最後はアセンブラに回帰するわw
243:デフォルトの名無しさん
2023/09/
244:25(月) 15:54:54.23 ID:bPtriFyH.net
245:デフォルトの名無しさん
23/09/25 16:02:29.40 1Oz14nin.net
つまりライブラリ前提で作るくらい設計がしっかりしてるモノ以外、独自クラスを継承させまくるようなコードは難あり?
246:デフォルトの名無しさん
23/09/25 16:13:29.29 zA4g5CbZ.net
>>235
あなたがどう思うのもあなたの問題なのでそれでよいと思う
247:デフォルトの名無しさん
23/09/25 16:17:53.44 8PlaAgAt.net
>>237
オブジェクト指向なんて、C言語ですらそれなりに書けるんだが
なんで言語仕様有意義に使おうとしない?
248:デフォルトの名無しさん
23/09/25 16:19:38.57 8PlaAgAt.net
まあ、ここでマイポリシー語るのもいいが、決めつけたり他人に強要するなよってな
249:デフォルトの名無しさん
23/09/25 16:28:37.60 s0yAomY2.net
客観的な根拠が一番強い
過去のしがらみのない最近の各プログラミング言語GoやNimやRustなどはいずれも継承を持たない
継承がないという以外の点では全く方向性の異なる各プログラミング言語が継承は不要という同じ結論に辿り着いている
250:デフォルトの名無しさん
23/09/25 16:31:16.00 E8ARCJfk.net
継承に限ったことではないが Pros/Cons両面理解した上で状況に応じた使い分けがてきないうちはいつまで経っても素人のまま
251:デフォルトの名無しさん
23/09/25 16:34:24.96 8PlaAgAt.net
else不用論者みたいな奴だなぁ
252:デフォルトの名無しさん
23/09/25 16:50:14.80 zA4g5CbZ.net
しがらみとか考え方次第でどうとでもなるからそれは客観的じゃないよw
253:デフォルトの名無しさん
23/09/25 16:52:29.42 8PlaAgAt.net
とある言語仕様に無いから全言語に渡って不用って
極端なw
254:デフォルトの名無しさん
23/09/25 17:09:03.89 F0mcF4FZ.net
Rustはトレイトのデフォルト実装で継承の一部をまかなってる
それ以上の部分はマクロでコピペコードを生成するかそのままコピペすることで継承相当を実現している
255:デフォルトの名無しさん
23/09/25 17:11:03.38 0g73jH4i.net
必要と不要ではなく静的と動的で分けるのが、商業的でない中立な見方
継承は不要だから採用されないのではなく
動的ディスパッチだから動的言語に近い言語でしか採用されない
256:デフォルトの名無しさん
23/09/25 17:11:12.20 s0yAomY2.net
最近のプログラミング言語
【継承がない】Elixir、Go、Julia、Nim、Rust、Zig
【継承がある】Kotlin(Javaの後継)、Swift(Objective-Cの後継)
つまり過去のしがらみで継承を含めざるを得なかったKotlinとSwiftを除いて全ての言語に継承はない
257:デフォルトの名無しさん
23/09/25 17:12:48.35 moYp0tPu.net
>>247
Derefが継承の代替として使われることもあるよ
258:デフォルトの名無しさん
23/09/25 17:15:24.44 hRr4oOqW.net
>>249
広く使われてるGUIライブラリのある言語とそうでない言語の分類そのものですね
259:デフォルトの名無しさん
23/09/25 18:09:35.84 8PlaAgAt.net
GUI処理書くのに継承無いとか嫌過ぎる
260:デフォルトの名無しさん
23/09/25 18:33:50.47 0g73jH4i.net
jsにはラムダがあるからGUI目的の継承をしなくなった
261:デフォルトの名無しさん
23/09/25 19:32:34.54 UoPxhUhD.net
>>227
> まぁ、仕様・IFが長年練り上げられてきたことの結実ともいえるが
彗眼やね
屍の山の上にしか良い設計は無いんよ
>>230
いいとこに着目してると思う
やっぱ関数と値で済んでたときより大げさなんよね
Javaに悪い意味で鍛えられた人は平気なんだろうけど
(FizzBuzzEnterpriseEditionみたいなやつのことね)
>>238
ありなし語る必要ないと思う
やってみればいい
100%失敗するから
クソの山になるから
262:デフォルトの名無しさん
23/09/25 19:36:58.29 FlTLze7i.net
rust や go だと継承に相当するようなことができるのでいまいちピンとこないんだよね。
263:デフォルトの名無しさん
23/09/25 22:27:07.39 SCrjiBQI.net
>>247
ちょっと違うので補足するね
Rustのトレイトは機能・性質を示すもので型でもクラスでもなく変数(やその値)を持つこともなく各型に対して横断的な位置付けであり
クラスとその継承を排除したRustでは各型に対して必要な複数のトレイトを実装すなわち合成していくわけだけど
トレイトのメソッドは二種類に分かれていて
必須メソッド(required methods)は各型で実装コードが異なるメソッド
提供メソッド(provided methods)は各型で実装コードが共通にできるメソッドで必須メソッドやトレイト境界となる他のトレイトのメソッドを用いてデフォルト実装している
つまり機能性質を示すトレイトに対して各型固有の実装と各型共通の実装の二種類に整理しているだけにすぎないよ
したがってRustではトレイトとそのメソッドをきちんと設計すればコピペは出て来ない
複数の型でコードが全く同じとなるならば上述のように各型共通の実装となる提供メソッド(provided methods)になりデフォルト実装となる
もしマクロでメソッド実装を自動生成する場合はそれは各型固有の実装となる必須メソッド(required methods)に対してマクロの引数指定部分だけが各型で実装が異なる場合になりコピペではないね
264:デフォルトの名無しさん
23/09/26 00:48:16.96 mW7xEcGz.net
Rustだとライブラリで定義済みのトレイト実装を少しカスタマイズしたいだけでも
変更の必要ないメソッドやトレイト実装も全て元の構造体に委譲するコードを書かないといけない
継承がないから構造体1つに対して10個や20個トレイト実装があるのは普通なのでマクロ使わないとコピペ地獄でやってられない
一般的OOPならメソッド1つオーバーライドするだけの簡単な作業
265:デフォルトの名無しさん
23/09/26 01:12:22.03 i+iKqNf9.net
>>257
発想がおかしい
そんなことが必要になることはない
使わないメソッドを生やす必要はない
もし元の型の全てのメソッドを生やす必要があるのならばその時はDerefを使えばよくて自動的に全てのメソッドが生えた形になる
266:デフォルトの名無しさん
23/09/26 02:37:40.13 LjeIbJUy.net
Derefのそういう使い方はアンチパターンでしょ
Traitをカスタムするという発想がおかしいというのは同意
オーバーライドなんてするな
267:デフォルトの名無しさん
23/09/26 09:00:17.20 HGB+okJ7.net
世の中、似た様な画面で項目だけ違う処理がたくさんあり過ぎる
268:デフォルトの名無しさん
23/09/26 09:10:04.28 75MGfnhF.net
型クラス構造を階層的に取り込んで内包していくような設計に
考えが凝り固まっているんじゃねーかな
昨日階層の抽象化は本来そういうものではなく
階層が上がるにつれより抽象的な構造に「昇華」していく筈だと思うが
269:デフォルトの名無しさん
23/09/26 09:11:41.08 HGB+okJ7.net
まあ、フレームワークくらいにしか使わないけどな
270:デフォルトの名無しさん
23/09/26 09:32:49.19 75MGfnhF.net
>>261
より複合的な構造に融合していくことで
機能階層の抽象化を現す、というか代用しようとしたところに
どだい無理があったんだ
やりにくいわけだよ
271:デフォルトの名無しさん
23/09/26 09:36:16.66 TLEYFp/r.net
以前Javaのユーザグループミーティングに出席した際、James Gosling(Javaの生みの親)がメインの講演者として招かれていました。
すばらしいQ&Aセッションの途中に、こんな質問が出ました。
「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」
答えは「クラスを除外するでしょうね」というものでした。
笑いが静まった後、彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。
インターフェースによる継承(implementsの関係)のほうが望ましいのです。できる限り実装継承は避けたほうがよいでしょう。
272:デフォルトの名無しさん
23/09/26 09:37:57.06 75MGfnhF.net
カプセル化とアクセサーがまたクソなんだよな
ソフトウエアの規模拡大に伴う複雑さをより増長させる
273:デフォルトの名無しさん
23/09/26 09:45:45.09 Pu+bW/hr.net
だから、エージェント指向だよ
274:デフォルトの名無しさん
23/09/26 09:49:57.35 fxfYOiWX.net
おっと、明後日の方向から不思議な球が飛んできたw
275:デフォルトの名無しさん
23/09/26 09:56:26.60 Pu+bW/hr.net
同一マシン内である事すら不用な仕組み
全ての手続きはメッセージでやり取りされる
ゆえにアクセサは各エージェントに1組だけ
276:デフォルトの名無しさん
23/09/26 09:58:18.98 fxfYOiWX.net
ソフトウエアを作っていない人と見た。
277:デフォルトの名無しさん
23/09/26 10:03:09.62 fxfYOiWX.net
この人と似た雰囲気がするな
スレリンク(tech板:442番)-455
278:デフォルトの名無しさん
23/09/26 11:27:47.44 J0zXOsdf.net
>>259
>Traitをカスタムするという発想がおかしいというのは同意
なんでおかしいと思うの?
279:デフォルトの名無しさん
23/09/30 16:53:59.14 lIYH5p6r.net
>>264
そのレスの中に技術的な根拠ある?
誰々が言ってたから、で何使うか決める感じか?
別に好きにすればいいけどそれは素人でもできますよね
280:デフォルトの名無しさん
23/09/30 16:58:25.69 syF3qyzI.net
なんとか技法とか、なんとか指向とか
宗教みたいなもんだから、別に従う必要も無いんだよなぁ
281:デフォルトの名無しさん
23/09/30 17:05:11.09 nY8APa4N.net
>>272
変な詭弁だな、玄人でもできるぞ。
そして意見は専門家・元祖だぞ、
技術的根拠的根拠なしに子供みたいに上げ足とってるだけのレスはお前さんだろ
さては論破君だな
282:デフォルトの名無しさん
23/09/30 17:08:33.49 syF3qyzI.net
頭弱いのバレバレな文章だなぁ
283:デフォルトの名無しさん
23/09/30 17:11:28.38 nY8APa4N.net
性格が悪いのがまたからかわれに出てきたのか
284:デフォルトの名無しさん
23/09/30 17:12:32.20 nY8APa4N.net
↓と申しております、とか書くころ
285:デフォルトの名無しさん
23/09/30 19:22:36.99 lIYH5p6r.net
すみませんね、根拠が要らない人たちと思わなかったんでね。
話にならないよね。
ここでその元祖の名前だけ示して誰得なんすか?
286:デフォルトの名無しさん
23/09/30 20:06:51.67 nY8APa4N.net
話にならないなら黙てればよい。
まぁ一応謝っているようだから非は認めたわけだな。
今後気を付けるように。
287:デフォルトの名無しさん
23/09/30 20:25:12.96 lIYH5p6r.net
皮肉だとわからない
権威主義で名前だけでありがたがる
生きてて幸せだよねw
話にならないなら黙てればよいならおまえが黙っとれよw
288:デフォルトの名無しさん
23/09/30 21:43:39.23 lIYH5p6r.net
性格どうこうというより権威主義「玄人」プログラマーと話噛み合わないの目に見えてるから誰もまともに相手しないよ
実際「ここで元祖の名前だけ出して誰得なのか」は答えられなくて意味不明なレスしか来ないわけじゃん
289:デフォルトの名無しさん
23/09/30 21:58:03.51 nY8APa4N.net
ちょっと刺激するとすぐむきになって食いつくw
ほんと、ダボハゼ並みだな
290:デフォルトの名無しさん
23/09/30 22:00:20.54 uokmRef0.net
なんで見当違いの宗教闘争延々とやっているんだ
A「九九は便利だ」
B「九九では足し算引き算に役に立たない」
こんなアホな言い争い続けるのは暇すぎるどころか病院行った方がいい
291:デフォルトの名無しさん
23/09/30 22:08:25.33 nY8APa4N.net
>>280 頭に血が上ると
~と申しております
大前こそ~(単なる言い返し)
はい論破
すぐこういう言い方をする
反応が子供みたいで分かり易い
292:デフォルトの名無しさん
23/09/30 22:16:19.55 lIYH5p6r.net
いつまで経っても小学生の悪口みたいなことしか出てこない
本当にしょうもない
足し算引き算の役に立たない、という理由が示されているならまだ有益な議論になり得るが、「誰々が九九は役に立たないと言っていました」だけでいけると本気で思ってるんだからマジですごい
293:デフォルトの名無しさん
23/09/30 22:20:44.91 nY8APa4N.net
ほんと分かり易い。
294:デフォルトの名無しさん
23/09/30 22:30:29.98 lIYH5p6r.net
わ
295:かりやすい連呼のゴミ人生でした
296:デフォルトの名無しさん
23/10/01 00:12:42.51 KkBb2S1m.net
良かったら年齢と学歴教えて
297:デフォルトの名無しさん
23/10/01 09:15:28.15 2adgRT7m.net
別に教えてもらわなくても一人でやったらいいやん、ままごとみたいに
結局同じことなんだからそれで満足すれば済む話だ
298:デフォルトの名無しさん
23/10/01 09:23:22.48 rjZHaWtE.net
オブジェクト指向って、C++で、
classのコンストラクタとデストラクタが
メモリーの安全な自動解放に簡単に対応できるので
重宝している。
もしそれらが無かったら、メモリーを簡単に自動解放できない。
299:デフォルトの名無しさん
23/10/01 09:25:58.43 jNRKUn/r.net
道端でも誰も聴いてないのに一人でブツブツ大声で自問自答してるヤバいおっさんおばさんおるけど
ああいう類の人間なんかな
300:デフォルトの名無しさん
23/10/01 09:28:09.49 rjZHaWtE.net
C++ではclassの概念は、とても重要。
主にメモリーの自動解放のため。それ以外の
言語では余り要らないのでピンとこないのかも。
301:デフォルトの名無しさん
23/10/01 13:15:07.23 KgnXZbAE.net
自分みたいにメモリの開放忘れる人間にはC++は難しい
302:デフォルトの名無しさん
23/10/01 13:39:28.55 cZOrnAr5.net
classなくても自動解放くらいできるでしょ
interface/trait/protocolを使う
C++にはそれがないからclassで代替してるだけ
303:デフォルトの名無しさん
23/10/01 13:44:53.34 dg4Xcjmo.net
オブジェクト指向の考え方/やり方だけでなく
オブジェクト指向以前とポストオブジェクト指向での考え方/やり方を把握してないと
オブジェクト指向の良し悪しは評価できない
304:デフォルトの名無しさん
23/10/01 13:47:35.04 dHLzwzhp.net
メモリに関してはCとC++の違いはブロック終端のトリガの有無だけだから
Cでもコンテナに紐付ける仕掛け作れば問題なかった
アホが多すぎただけ
305:デフォルトの名無しさん
23/10/01 14:08:36.42 laJh6B3W.net
Cでも、RAIIできるの?
306:デフォルトの名無しさん
23/10/01 14:22:51.96 h9hU82V+.net
人に説明することが難しいことは、とても保守性が低い。構成が複雑であるほど、危険である。
要素が独特で実績が少ないと、世間にわかっている人が少ない。そうすると、「誰か助けて」と言ったとき
に人が集まらない。ベンダーも消失するかもしれない。
URLリンク(www.orangeitems.com)
オーバーライド(英:override)とは
オブジェクト指向におけるオブジェクトの継承の話で出てくる用語のひとつ
であり
親クラスにあるメソッドを子クラスで再定義することによって、子クラス上で親クラスのメソッドを上書きすること
URLリンク(wa3.i-3-i.info)
チンポは人格メソッドや脳メソッドを上書きする機能が有る!!!
URLリンク(mobile.twitter.com)
フローズンぺんぎん@とりゅー
@ki45_nisiki
返信先:
@LunRon5
さん
どんなに教養と勉強で武装しようとも、自身が抱える性癖には逆らえん。チンポが脳や人格にオーバーライドして支配してくる欲求には逆らい難い…だからこそ最低限の慎みと矜持として2次元があるのではないか…デブでもおばさんでも勃起できる
307:人にはこの苦しみはわからんっすね (deleted an unsolicited ad)
308:デフォルトの名無しさん
23/10/01 14:26:38.26 qGfJdqzD.net
メッセージングを基礎単位として取ることは、より徹底的な遅延束縛を可能にする。というのも、
メッセージそれ自体は意味を持たず、実際にメッセージがオブジェクトに送信されてはじめて、意味が決まるからである。
URLリンク(qiita.com)
オシッコを出したり止めたりというのは、チンポから力を抜いたりチンポに力を入れたりと、
オシッコはオシッコそれ自体は意味を持たず、オシッコが尿道を介してチンポに送られることによって、
オシッコを出したり止めたりが可能になるということだ。
928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1
>>922
>ナンチャッテメッセージングスタイルになったのは
チンポ.オシッコを出す
チンポ.オシッコを止める
さっきトイレでやってきた。
929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1
>>915
>単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを
>ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。
×
俺.オシッコを止める 俺.オシッコを出す
○
俺.チンポに力を入れる 俺.チンポから力を抜く
309:デフォルトの名無しさん
23/10/01 14:28:59.90 VTqwMbMD.net
多態性まとめ
多態性・ポリモーフィズムとは、同じ命令を送ったにも関わらずそれぞれが独立した固有の処理を行うという特性を指す。
多態性・ポリモーフィズムは継承関係の子から親への代入を通じて実現することができる。
多態性・ポリモーフィズムのメリットとして、同一視して配列を利用できたり、同一視して引数を受け取ることができることが挙げられる。
URLリンク(engineer-life.dev)
この車、タイヤがパンクしてしまった!
この男クリントン、チンポがシコシコしてしまった!
繋がっているけれども独立している、共有性と独立性!
息子とムスコは、必ずしも親の命令通りには動かない!
立て、立つんだ!
立 つ ん だ 、 ジ ョ ー !
息子1
起立!
息子2
勃起!
息子3
立ちくらみ!
URLリンク(mobile.twitter.com)
ヨキ
@yokillme
自分の息子のことを愚息って言うの、現代においては息子を自分とは別人格の一人の人間として尊重してないからやめた方がスマートだと思うんだけど、不意に勃起した自分のチンコを「愚息」と表現するのめっちゃ好きなんですよね。
(deleted an unsolicited ad)
310:デフォルトの名無しさん
23/10/01 14:32:10.64 Y7qk5s2j.net
>>290
それはclassとは全く関係がない
C++の比較としてわかりやすいのRustはclassを持たないがメモリが安全に自動解放される
C++もRustもその機構はRAII機能に基づいておりオブジェクト指向は関係ない
311:デフォルトの名無しさん
23/10/01 14:34:16.41 dHLzwzhp.net
>>297
タイミングが異なる点を除けば似たような仕組みは作れる
312:デフォルトの名無しさん
23/10/01 14:40:25.74 v3BOjD1R.net
>>301
でも仕組みの簡単さからC++流のclassの方が先に出た。
313:デフォルトの名無しさん
23/10/01 14:40:27.98 v3BOjD1R.net
>>301
でも仕組みの簡単さからC++流のclassの方が先に出た。
314:デフォルトの名無しさん
23/10/01 19:07:36.85 RnzHy+Ka.net
変数の管理をしてくれる言語を使えよハゲどもが
315:デフォルトの名無しさん
23/10/01 19:17:29.32 RnzHy+Ka.net
>>299-300
こちらのスレで皆さんがお待ちです、存分にお書きください
スレリンク(tech板)
316:デフォルトの名無しさん
23/10/01 20:10:51.85 hX9xjpD8.net
>>306
オブジェクト指向とは何かについて、他にわかりやすい説明が有るのか?
317:デフォルトの名無しさん
23/10/02 01:09:41.83 DXCTtI1y.net
正直者には、見ます。
ささ、どうぞあちらへ。
318:デフォルトの名無しさん
23/10/17 20:07:11.02 iLOamahz.net
OOPはオワコンにはなりませんよ?
319:デフォルトの名無しさん
23/10/19 01:30:31.85 ReS9VmD8.net
1996年ころから購読していたのCマガジン雑誌
まだたくさん残っているが、オブジェクト指向とか
また当時の日経プログラミングだったか?雑誌にも
関係ないがLinuxって1996年ころはまだ初期の時代だったんだな
320:デフォルトの名無しさん
23/10/19 01:31:33.44 ReS9VmD8.net
訂正思い出した日経ソフトウェアだw
当時はCDとかいっぱいおまけがついていた
321:デフォルトの名無しさん
23/10/19 01:34:49.05 xRKx+n3E.net
>ID:ReS9VmD8
言語障害の気が出てるから病院で検査してもらってこい
322:デフォルトの名無しさん
23/10/31 13:55:10.92 wz6hR3A/.net
継承を使いまくる数学、化学、天文分野があるんじゃないの?
知らないだけかもしれないやん
323:デフォルトの名無しさん
23/10/31 16:28:48.15 1/1CCAX6.net
学問は継承されてるよね教育によって
継承を使いまくってるねうん
324:デフォルトの名無しさん
23/11/01 03:34:28.91 5z6NYMjm.net
継承というか増築だな
間違いを糺す方向なら良いが
臭いものに蓋をしているだけのケースもある
325:デフォルトの名無しさん
23/11/02 00:53:05.17 C1u8Rfqp.net
学問のどこがオブジェクトなんだよ?
326:デフォルトの名無しさん
23/11/02 08:49:12.85 rUbcesCO.net
学ぶ人間だな
327:デフォルトの名無しさん
23/11/04 07:07:49.01 EkV1A63H.net
オブジェクト思考言語しか触ったことないなぁ……JavaとC#だけ
328:デフォルトの名無しさん
23/11/04 08:54:45.74 LcB6D1Ol.net
そんな思考ではいかん崎
329:デフォルトの名無しさん
23/11/04 13:00:40.63 DZrRJ0p+.net
C#には20年前からデリゲートがあった
デリゲートはオブシコ的に邪道と言われて
Javaは当時デリゲートを否定してた
それから12年後Javaでラムダ式が使えるようになった
この20年間はオブシコが限界につきあたりそれを関数型で突破する
試行錯誤が行われているように思われる
330:デフォルトの名無しさん
23/11/04 16:36:10.21 ZcgvxfJM.net
オブシコには最初から懐疑的だったね俺は
331:デフォルトの名無しさん
23/11/04 19:16:33.99 T14pQUSp.net
弾幕系シューティングゲームの敵弾を無限に増やしたり、消したり。
弾幕の軌道の種類を継承で増やす。
とか?
332:デフォルトの名無しさん
23/11/04 21:06:27.26 SYCLubyE.net
>>5で早々に指摘されてる通りライブラリがすでにオブジェクト指向なんだよなあ。ついでにAPI使うのもそう
こんなスレでごちゃごちゃ書きたがるのは当たり前にライブラリやAPIを使わない人たちかな
333:デフォルトの名無しさん
23/11/05 10:29:13.93 ol9bMVcc.net
オブジェクト指向と言っても階層がある
フレームワークやライブラリを造る層
中間層
単に利用するだけのクレクレ層
334:デフォルトの名無しさん
23/11/05 10:30:00.47 ol9bMVcc.net
ちなみに >>323 の視点はどう観てもクレクレ層
335:デフォルトの名無しさん
23/11/05 17:32:14.56 QR45ukux.net
利用しないで文句言うだけじゃね
336:デフォルトの名無しさん
23/11/06 02:08:53.26 moBvQfOK.net
ライブラリは使えばいいんよ。
車輪の・・・は時間の無駄だしさ
例えばオワコンだとして、オブジェクト指向に代わる概念ってあるの?かな?
337:デフォルトの名無しさん
23/11/06 07:20:06.20 70OUkfAm.net
オブシコでもある程度まではうまくいく
オブシコが潰していったパラダイムの中に適切なものがあたかもしれない
338:デフォルトの名無しさん
23/11/07 22:04:
339:51.55 ID:We/0vraC.net
340:デフォルトの名無しさん
23/11/07 23:40:56.36 laLhHNQt.net
オワコンです
341:デフォルトの名無しさん
23/11/08 01:48:06.76 5o5qiXKK.net
オブジェクト指向は複雑性が増すごとに破綻し易くなるく砂上の楼閣理論
やはりデータに手足を生やすのは間違っていた
祖の争いSmalltalkerはLisperに勝てなかった
それだけのこと
342:デフォルトの名無しさん
23/11/08 08:59:37.91 RQjSMWWP.net
バカが作るから破綻する
それだけのこと
343:デフォルトの名無しさん
23/11/08 09:34:05.09 G1poaB6X.net
インターフェースだけでいいよもう
344:デフォルトの名無しさん
23/11/08 09:34:51.90 /JKDdFz2.net
つまりC言語が最強ってことか
345:デフォルトの名無しさん
23/11/08 11:23:51.37 fKz2Vipi.net
Keep it simple, oops.
346:デフォルトの名無しさん
23/11/08 21:03:30.78 wwLvTPFi.net
Javaなんか継承しまくって機能拡張してるからそういった方面で使うのでは?
過去の資産を活用できるように作るか、毎回新規で作るかによるね
347:デフォルトの名無しさん
23/11/09 01:06:59.85 /EissswG.net
オブジェクト指向でないと、プラグインとかまともなインターフェイスにならんやろ。
348:デフォルトの名無しさん
23/11/09 11:45:59.07 Fo7n9qIp.net
Rust の trait は oops !
349:デフォルトの名無しさん
23/11/12 10:46:44.60 4vqQNhnm.net
まだこんなクソスレ立ててるやついるのか
10年くらい前からオワコン言い続けてるけどいつ終わるんだか
350:デフォルトの名無しさん
23/11/15 08:23:03.12 wyE42I7+.net
Tiktok LiteでPayPayやAmazonギフトなどに交換可能な4000円分のポイントをプレゼント中!
※既存Tiktokユーザーの方はTiktokアプリからログアウトしてアンインストールすればできる可能性があります。
1.SIMの入ったスマホ・タブレットを用意する
2.以下のTiktok Liteのサイトからアプリをダウンロード(ダウンロードだけでまだ起動しない)
URLリンク(tiktok.com)
3.ダウンロード完了後、もう一度上記アドレスのリンクからアプリへ
4.アプリ内でTiktokで使用してない電話番号かメールアドレスから登録
5.10日間連続のチェックイン(←重要)で合計で4000円分のポイントゲット
ポイントはPayPayやAmazonギフト券に交換できます!
家族・友人に紹介したり通常タスクをこなせば更にポイントを追加でゲットできます
351:デフォルトの名無しさん
23/11/15 09:03:46.64 PIzU8B+d.net
>>340
やってみない手はない
352:デフォルトの名無しさん
23/11/15 18:59:58.68 tPBxgNfn.net
宣伝のマルチポストは何とかならんのかね
353:デフォルトの名無しさん
23/11/16 08:06:38.29 nV/QBQ73.net
業者に近い香具師のやってることみたいなので、業者と思うのがいい
# ダックテスト
354:デフォルトの名無しさん
23/11/18 09:09:46.14 vBDsvFEe.net
ルールを守らん奴には退場してほしいものだな
355:デフォルトの名無しさん
23/11/19 16:25:54.40 j9gIHEdT.net
ORMって便利だと思うが
オブジェクト指向否定するやつはいつも名前SQL叩いてんのか?
356:デフォルトの名無しさん
23/11/19 18:46:12.96 bV4d5xXM.net
>>345
ORMとオブジェクト指向って何か関連があるの?
ちょっとよくわかんないんだけど
357:デフォルトの名無しさん
23/11/19 19:16:16.08 T4k91i6p.net
正直 struct relation mapper と言っても差し支えないものがほとんどたからな。
358:デフォルトの名無しさん
23/11/19 23:00:14.66 IjgzLSHb.net
>>345
巷で使われてるORMが便利なのって「DBMS間の差異を吸収してくれる」「クエリを自動で作ってくれる」「結果をオブジェクトに詰めてくれる」あたりだろ
前二つはオブジェクト指向関係ないし、最後もオブジェクト指向言語だからオブジェクトに詰めてるだけで、>>347も書いてるように本質的には構造体でもいいんだよ
オブジェクト指向がなくなったとしても、また別のxRMが出てくるだけだと思うぞ
359:デフォルトの名無しさん
23/11/20 00:47:45.50 Cp3kPxHu.net
LaravelのDBクラスより標準のPDOクラスのほうが使いやすいという
360:デフォルトの名無しさん
23/11/20 13:56:42.13 MS7hPbOQ.net
KVSですねわかります
361:デフォルトの名無しさん
23/11/20 15:39:56.06 kg22kICS.net
ちがいます
362:i.hidekazu
23/12/12 05:12:23.87 c1pA8kio.net
オブジェクト指向とは何なのかの前提から分かってないやつが多すぎる
構造化プログラミング=シングルスレッドプログラミング
オブジェクト指向プログラミング=マルチスレッドプログラミング
これが大前提
URLリンク(qiita.com)
363:i.hidekazu
23/12/12 05:15:57.52 c1pA8kio.net
2つのプログラムを連接したいときにシングルスレッドでは変数名や関数名が衝突して簡単にはできないという困難を、マルチスレッド=オブジェクト指向が解決してくれる
この大前提を書いてない言説が世の中多すぎる
364:デフォルトの名無しさん
23/12/12 09:12:52.00 bh0SftWU.net
これまたどえらいもんを出してきたな。
365:デフォルトの名無しさん
23/12/12 09:22:10.95 /OrzPB6P.net
トンデモ記事だな
366:デフォルトの名無しさん
23/12/12 10:31:25.17 YV2TYdjD.net
トンデモ過ぎて逆に面白かったわw
367:デフォルトの名無しさん
23/12/12 10:51:40.65 6C/zc+S/.net
同じ名前が使えるのはネーム空間のおかげだよな?
別にマルチかどうかは関係ないし…
368:デフォルトの名無しさん
23/12/12 11:49:17.67 vNFxkYmY.net
preview_and_printも普通に組み合わせればいいよね
preview_and_print(data) {
preview(data)
if (ask() == true) {
print(data)
}
}
それぞれ独立したプログラムという前提みたいだから現実的にはpreviewやprintそのものではなく各mainが利用してるlibを再利用することになるけど考え方は変わらない
369:デフォルトの名無しさん
23/12/12 20:11:14.91 qtJTMkIP.net
良くこんなの見つけて来たなと思ったら本人かよ…
370:デフォルトの名無しさん
23/12/13 00:05:09.71 2g95gV8C.net
>>359
いやこれは自警だ。今見てびっくりした。
なんかよくわからんけどwikipediaも関係ないのにまだつきまとわれる。なんか成り済まされるし。
なんなんこの人?
371:デフォルトの名無しさん
23/12/13 00:13:34.67 2g95gV8C.net
wikipediaにゴミ情報書くなばりに追い出されたからひっそり書いているのに一々突っかかってくる。
この人俺のファンなのか(笑)?なんか変なのに粘着されてすごい面倒なんだけど。
372:デフォルトの名無しさん
23/12/13 00:30:11.94 2g95gV8C.net
なんで粘着自警の貼った話を俺が回答するのかわからんのだがなんか書くと
>>355
Simulaのクラスは当初プロセスという名称だったんだよ。
>>357
その名前空間をどう実現するの?
>>358
関数型プログラミング的な考え方だが、想定しているのは当時の構造化言語で
その時代にそんなレキシカル・スコープ備えた言語なんてないよ。
ただ、そういう突っ込みの説明が面倒だったので連接(concatenation)でプログラム合成した場合に限ってる。
関数で抽象した場合のケースはよく読むとすっ飛ばしている。
373:デフォルトの名無しさん
23/12/13 00:49:09.36 UEuJAt8H.net
>関数型プログラミング的な考え方だが、想定しているのは当時の構造化言語で
>その時代にそんなレキシカル・スコープ備えた言語なんてないよ。
>>358はめちゃくちゃ手続き的な考え方だしレキシカルスコープなんて全く必要ない
逆に言えば君は関数型についてもレキシカルスコープについても何も理解していないということがわかる
これだとwikipediaならbanされて当然
でもQiitaならトンデモ記事でもエンタメとして成立するので好きにすればいいと思うよ
俺も>>352の記事は楽しませてもらったから
374:デフォルトの名無しさん
23/12/13 01:02:37.45 2g95gV8C.net
お前蹴りだな。twitterでも一々突っかかってくるし、生温かく見守ってとかいいつつ喧嘩吹っ掛けてくるとか。いったいなんなん?
レキシカルスコープなんて全く必要ないというのなら全部グローバル変数ってか?それこそ衝突するだろ。
局所環境が無いと関数プログラミングなんてできない。
逆にいえば、局所環境がちゃんとあるならば構造化プログラミングも別方向に進展することができる。
関数型プログラミングを考える上ではそれは必須だ。
逆に構造化プログラミング知らずに関数型プログラミングでござい、なんてありえないだろ。
375:デフォルトの名無しさん
23/12/13 08:25:46.13 NbIWTS6w.net
キータは関数型プログラミングでも炎上してたし
オブジェクト指向でもトンデモ理論を提唱するかたが現れるとはな
自由であることの証左ではあるだろうけど
376:デフォルトの名無しさん
23/12/13 12:19:47.44 zD6/wvDM.net
>>364
自意識過剰が過ぎる
twitterとかやってねーしお前が誰かとか知らねーから
レキシカルスコープを理解してないばかりかダイナミックスコープは存在すら知らないんだな
無知や間違いを指摘してくれる友人や同僚はいないのか?
377:デフォルトの名無しさん
23/12/13 12:25:56.46 zD6/wvDM.net
>その時代にそんなレキシカル・スコープ備えた言語なんてないよ。
当時ダイクストラが主として使っていたALGOL60はレキシカルスコープを備えている
当然それを念頭において構造化プログラミングに関する論文をかいている
お前の妄想だけで嘘八百書くからbanされたんだろ
378:デフォルトの名無しさん
23/12/13 12:36:24.80 sUe1mEvE.net
自警とか蹴りとか、自分用語を説明もなく使っちゃうのが如何にもアレだなぁ
379:デフォルトの名無しさん
23/12/13 12:41:50.00 NbIWTS6w.net
糖質っぽさがあるよな
380:デフォルトの名無しさん
23/12/13 19:07:41.26 rYdFb4gI.net
次回作はSmalltalkやC++でマルチスレッド性がクラスから消滅した理由を書いてください!
381:デフォルトの名無しさん
23/12/13 19:36:37.23 2g95gV8C.net
>>366,367
お前認知機能障害だろ。
>twitterとかやってねーしお前が誰かとか知らねーから
>お前の妄想だけで嘘八百書くからbanされたんだろ
数分で記憶が無くなってるぞ。それにqiitaでbanされていないぞ。何言ってんだ?
ダイナミック・スコープなんてLispでしか聞いたことない。Funarg問題とかで問題になるやつだろ。
Common Lisp, Schemeでレキシカル・スコープ実装してそれから普及したという認識で、
スコープがはっきり意識されるようになったのはそこからだったはずだが。
Algolは確かにレキシカル・スコープ実装しようとしたが占有修飾子ownの扱いで仕様にあいまいさがあって
スコープまわりは確か不完全なんじゃなかったか?結局staticなメモリ割り付けをすることになると決着して
C言語に継承されたらしいが。
>当然それを念頭において構造化プログラミングに関する論文をかいている
ほうそれは知らんかった。後学のために論文名を教えてもらえないかね。
>>370
Simulaの時点で疑似的なマルチスレッド。
オブジェクトを呼び出してもそのプロセスが消滅しないという特徴がポイント。
382:デフォルトの名無しさん
23/12/13 19:45:57.78 rYdFb4gI.net
次回作はSmalltalkやC++で疑似マルチスレッド性がクラスから消滅した理由を書いてください!
383:デフォルトの名無しさん
23/12/13 19:47:13.87 2g95gV8C.net
上の話によれば変数環境のモデルがAlgolの時代にすでにあったらしい。それは知らなかった。ぜひその論文を教えて欲しい。
384:デフォルトの名無しさん
23/12/13 20:18:16.44 rYdFb4gI.net
C++のクラスは疑似マルチスレッド
385:とかないので、2つのプログラムを合体させようと思ったときにむっちゃ困るわー
386:デフォルトの名無しさん
23/12/13 22:35:36.95 AT19Cx9r.net
真性なやつってここまでヤバいのかよ
こえーな
387:デフォルトの名無しさん
23/12/14 00:08:32.08 AgoftYrM.net
友人がPythonでクラスを使うのを頑なに拒んでいたが、時代の先端を行っていたのか…
388:デフォルトの名無しさん
23/12/14 00:39:36.75 9fP1iZpn.net
陽性臭い粘着。
389:デフォルトの名無しさん
23/12/14 00:41:39.27 5+QFFRl5.net
pythonはシェルスクリプトやるよりはマシなんだよなあ
390:デフォルトの名無しさん
23/12/14 02:37:41.65 aBZ2Af/o.net
>>376
GoやRustなど最近の言語はクラスを廃止した言語が多いね
391:デフォルトの名無しさん
23/12/14 03:22:53.79 uZgQrb0f.net
まじでやばいやつだった
スレリンク(tech板:357番)
357 デフォルトの名無しさん 2019/01/22(火) 23:18:43.63 ID:b9p++nKt
上で荒らし行為を行っていた I.hidekazu が降臨!
URLリンク(ja.wikipedia.org)
>あれは私がコツコツと毎週末に図書館に通ったりして見つけた文献やネット古書店で集めた古書、
>国立国会図書館で複写した文献など(総額費用数十万円)を自分の余暇や日中の仕事時間の合間
>に考えに考えてまとめた内容を、インターネットに接続できる人なら誰でも閲覧できるネット百科
>事典のWikipediaの記事として無料で図まで含めて作成した記事だったんです。
こいつアホすぎるわ。
構造化定理と構造化プログラミングの区別もできないくせに数十万円使って調査ってバカ丸出し。
金かけても内容がクソなら意味ないだろうに。
358 デフォルトの名無しさん 2019/01/22(火) 23:49:00.65 ID:Mi5mcpEM
>>357
その人、かなりおかしいというかキティなのかねえ?
ここを読んでいたら目眩がしてくるよ
Wikipedia:管理者への立候補/i.hidekazu/20141215
URLリンク(ja.wikipedia.org)
>結果
>賛成 2 票、反対 13 票、無効票なし。ガイドラインに基づき、今回は見送りとなります。
こんな人が管理者になったらやばすぎる