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] ずばりオワコン
101 名前:デフォルトの名無しさん [2023/09/09(土) 23:03:34.74 ID:LlED4Hp3.net] >>95 > オブジェクト指向の根幹は継承じゃなくて 根幹とまでは言ってないし思ってもないよw > また継承のうちインターフェース定義とその実装のような関係は インタフェースと実装の関係を継承とは言ってないつもり あくまで インタフェース間の継承であったり もっと広義には単に型の継承 ごめんね今相当酒飲んでるから取りこぼしてたり誤解してたりするかもだけど > つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによる > メリットというのがOOPLならではのメリットということになる このへんについてはなんとなく同意 カプセル化だの継承だのお題目色々あるけども 結局はオブジェクトって単位だよね ってとこに着目すんのはわりと同意できる 要点を外してるレスになっちゃってたらすまぬ
102 名前:デフォルトの名無しさん [2023/09/09(土) 23:19:27.60 ID:maTjrzau.net] >>95 > つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによるメリットというのがOOPLならではのメリットということになる じゃそれは何なのか? 状態だと思う
103 名前:デフォルトの名無しさん mailto:sage [2023/09/09(土) 23:31:29.55 ID:LlED4Hp3.net] ほどよいフィット感だと思う データと関数まとめる? まとめたい? まとめましたけどどうですか? ↓ ええやんええやん の感
104 名前:デフォルトの名無しさん [2023/09/09(土) 23:46:40.67 ID:maTjrzau.net] ミュータブルなオブジェクトを簡単に作れるっていうのがオブジェクト指向言語の利点な気がする Haskellだとモナドを使わないといけないからね
105 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 08:52:36.11 ID:tviBJXty.net] オブジェクト指向は何かってのはWikipediaでも見ればいい。読んで理解してもプログラム技術は変わらないが オブジェクト指向のメリットは何かって言うのは「どの部分もオブジェクト指向とは言えない」形に自分のコード書きなおしてみればわかる。逆にすべての部分をオブジェクト指向の形にするのはアホな上にキチガイだが これだけのことを技術板でグダグダ語ってるのはアホ
106 名前:デフォルトの名無しさん [2023/09/10(日) 09:38:36.81 ID:yM7j2B0I.net] >逆にすべての部分をオブジェクト指向の形にするのはアホな上にキチガイ Rustですね判ります
107 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 13:05:53.86 ID:rXl4Y+bN.net] よく知らないが、Smalltalkとか? 「アホな上にキチガイ」かどうかは意見が分かれそうだが。
108 名前:デフォルトの名無しさん mailto:sage [2023/09/10(日) 15:45:22.64 ID:lSoYWiHB.net] 1バイトのデータを1バイトのオブジェクトとして表現でない スタック上に確保できない そんな言語は全部ゴミ
109 名前:デフォルトの名無しさん [2023/09/12(火) 19:43:42.93 ID:oyXayNX+.net] クリントン大統領にどんな強大な権限が有っても、自らのチンポがしこしこしてしまうのは止められない! class チンポ extends クリントン{ super.不適切な関係; } クリントンの再定義、クリントンの拡張された人格ということだ!
110 名前:デフォルトの名無しさん mailto:sage [2023/09/14(木) 02:27:32.48 ID:Zxfr95Lh.net] またお前か https://th.bing.com/th?id=ORMS.90df8de52f3a781560cc2be44612929c&pid=Wdp&w=240&h=129&qlt=90&c=1&rs=1&dpr=1&p=0
111 名前:デフォルトの名無しさん [2023/09/14(木) 22:02:34.97 ID:vfXwhook.net] 関数型より遥かに便利だわ
112 名前:デフォルトの名無しさん mailto:sage [2023/09/14(木) 23:23:53.05 ID:Md4RDTr0.net] オワコン
113 名前:デフォルトの名無しさん mailto:sage [2023/09/15(金) 03:29:59.91 ID:rTOM1AgR.net] >>107 あれは知性が要るからな… つまりこの仕事向いていないってことだよ
114 名前:デフォルトの名無しさん mailto:sage [2023/09/15(金) 08:47:47.02 ID:L1OUTakd.net] >>107 パイプライン演算子は取り入れてほしいかな setXXXX系メソッドをそのままつなげられたらと思う
115 名前:デフォルトの名無しさん mailto:sage [2023/09/15(金) 09:35:06.90 ID:PpQe4ASW.net] そりゃAPI設計が悪い
116 名前:デフォルトの名無しさん [2023/09/15(金) 10:30:38.51 ID:EIF5vDwi.net] >>109 それはただのエンジニアの自己満オナニーだよしょうもないw
117 名前:デフォルトの名無しさん mailto:sage [2023/09/15(金) 11:40:09.91 ID:Cosi/Xnz.net] そりゃ君の頭が悪い
118 名前:デフォルトの名無しさん [2023/09/15(金) 12:15:45.69 ID:EIF5vDwi.net] いくら頭良くても5chでくだまいてたら意味無いですよね 目
119 名前:糞鼻糞ですよね [] [ここ壊れてます]
120 名前:デフォルトの名無しさん mailto:sage [2023/09/15(金) 22:35:34.78 ID:h2Dum8zW.net] 本物の糞が何えらそうに
121 名前:デフォルトの名無しさん [2023/09/16(土) 08:57:00.62 ID:lvjlkleA.net] T,o,k(迷惑という方は←をあぼーんしてください。) 更に家族友人にも紹介して、加えて¥4000をゲットできます! https://i.imgur.com/g7fQwmH.jpg
122 名前:デフォルトの名無しさん [2023/09/16(土) 09:57:06.22 ID:ZJLR+eYH.net] >>115 とクソが申しております
123 名前:デフォルトの名無しさん mailto:sage [2023/09/16(土) 10:28:53.10 ID:FZJflFW6.net] >>116 もう1.5万入手してる
124 名前:デフォルトの名無しさん mailto:sage [2023/09/16(土) 12:06:46.11 ID:ohMs/cws.net] >>114 こんなところで自己紹介してる暇があったらハロワ行けばいいのに
125 名前:デフォルトの名無しさん [2023/09/16(土) 12:13:33.72 ID:ZJLR+eYH.net] >>119 とハロワおじさんが申しております
126 名前:デフォルトの名無しさん [2023/09/16(土) 12:20:55.48 ID:RATZO/gi.net] おじ同士チンポを舐め合うスレ
127 名前:デフォルトの名無しさん [2023/09/16(土) 12:28:42.66 ID:ZJLR+eYH.net] >>121 毎日5chでチンポ舐め書き込み続けるゴミ人生でした オブジェクト指向興味無いやつ来んなよ 暇かよ
128 名前:デフォルトの名無しさん mailto:sage [2023/09/16(土) 14:55:49.89 ID:LU1R8AA0.net] >>116 これ他のタスクだけで1000円くらい簡単に稼げるよな。
129 名前:デフォルトの名無しさん mailto:sage [2023/09/16(土) 15:59:01.04 ID:LYX0tJpe.net] 決定的にオワコン
130 名前:デフォルトの名無しさん mailto:sage [2023/09/16(土) 15:59:49.73 ID:mWv9MPGX.net] でも便利
131 名前:デフォルトの名無しさん mailto:sage [2023/09/16(土) 23:51:17.00 ID:0ao3waxq.net] そしてあちこち依存が絡んだスパゲティーコードを量産 他人が解読するは難しく 時間がたつと自分でもメンテできない
132 名前:デフォルトの名無しさん mailto:sage [2023/09/16(土) 23:52:08.95 ID:0ao3waxq.net] ID:ZJLR+eYH 顔真っ赤w
133 名前:デフォルトの名無しさん [2023/09/17(日) 06:56:06.28 ID:gR/F5lVJ.net] >>127 と顔真っ赤おじさんが申しております
134 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 07:02:54.80 ID:5YRchEc3.net] 必死にスレ何度も上げてるけどそんな構ってほしいのかよ
135 名前:デフォルトの名無しさん [2023/09/17(日) 07:04:57.07 ID:gR/F5lVJ.net] 関数型ならスパゲッティコードにならないというのはどういう理屈?
136 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 09:36:51.67 ID:oKDM309U.net] ここまでのまとめ オワコンとなったのは「クラス」 オワコンとなった理由は「クラスは継承に基づくため」 オワコンとなった証拠は「最近のプログラミング言語Go、Rust、Nimなどは全てクラスを持たない」 以上 つまりオワコンとなったのは「クラスとその継承」 もっと広い意味の「オブジェクト指向」は有効
137 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 10:48:22.09 ID:Z711Flgk.net] 新手のクソが現れた
138 名前:デフォルトの名無しさん [2023/09/17(日) 11:27:29.99 ID:gR/F5lVJ.net] >>131 いや、クラスもオワコンじゃない 以上
139 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 11:48:42.16 ID:otEgQUqp.net] GoにしろRustにしろNimにしろ継承が不要になったわけじゃない 言語機能として直接サポートされないためにより面倒でより暗黙的な方法で継承が行われている 上辺だけ見てる人にはそれがわからない
140 名前:デフォルトの名無しさん [2023/09/17(日) 11:56:48.45 ID:JheNutwI.net] >>131 概ね同意
141 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 12:10:38.80 ID:A/afT8Dp.net] クラスや継承は高水準な機能だから 低水準を目的とする言語には向いてない
142 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 12:19:05.22 ID:cSUabsmI.net] >>133 クラスの本質は継承にあり クラスは不要 クラスを必要だと思い込んでいる人はクラスと関係ない部分を必要としている 例えばクラスのメンバー変数はGo、Rust、Nimなどでは構造体のメンバー変数 クラスのメソッドはGo、Rust、Nimなどでは構造体のメソッド つまりそれらはクラスとは関係なくクラスより小さい概念である構造体でも持っている 一方でクラスの本質は継承である >>134 継承は害悪であり不要 継承しか知らない人だけが継承に固執している
143 名前:デフォルトの名無しさん [2023/09/17(日) 12:28:37.74 ID:gR/F5lVJ.net] >>137 クラスを使ってもいい。 以上 害悪ではない 以上
144 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 12:32:35.53 ID:YoGswVKv.net] ID:gR/F5lVJ プログラム書けない上にどこに行っても相手してもらえないから板違いのスレで吠えるしかないんだな
145 名前:デフォルトの名無しさん [2023/09/17(日) 13:01:40.88 ID:gR/F5lVJ.net] 何故自分は相手してもらえると思うんや おまえの相手して誰が得するんや オブジェクト指向興味無いなら来んなよ暇人
146 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 13:05:43.12 ID:cSUabsmI.net] オブジェクト指向は非常に重要 しかしクラスは不要 これはプログラミング言語界で結論が出ている だから最近のプログラミング言語Go、Rust、Nimなどはいずれもクラスを持たない
147 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 13:21:52.64 ID:Tq9Zm9TM.net] これまでオブジェクト指向分析に触れているコメント0
148 名前:デフォルトの名無しさん [2023/09/17(日) 13:30:45.41 ID:gR/F5lVJ.net] オブジェクト指向は非常に重要 クラスも重要 これはプログラミング言語界で結論が出ている だから最近のプログラミング言語Swift、kotlinなどはいずれもクラスを持っている
149 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 13:47:21.55 ID:ySEZfztt.net] JavaScriptのclass構文はよく使われてる印象だな オブジェクト指向言語でもないのにわざわざclass名乗るって、よほど需要ありと見えるが
150 名前:デフォルトの名無しさん [2023/09/17(日) 13:48:32.84 ID:I/olJ+Ch.net] javascript ω の object で class less 設計に目覚めた
151 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 13:48:58.94 ID:oXWqcq3J.net] SwiftはObjC、KotlinはJavaの代替だから外れるわけないわな
152 名前:デフォルトの名無しさん [2023/09/17(日) 13:49:35.71 ID:I/olJ+Ch.net] >>144 あれは prototype が理解出来なかった人が多かったから class が後付けされたんだろ
153 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 13:50:12.29 ID:Tq9Zm9TM.net] 俺は継承よりもカプセル化が重要だと思う だがカプセル化はクラスの専売特許ではない
154 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 13:57:14.58 ID:fKvD0+k2.net] >>143 自ら敗北を認めたようだな SwiftはAppleがObjective-Cの後継と位置付けた訳ありでクラスを採用 KotlinもJavaの後継と位置付けた訳ありでクラスを採用 つまり二つとも例として出してないけない過去のしがらみのある訳あり言語 一方で過去のしがらみのないGoやRustやNimなどの新たな言語では当然クラスは採用されなかった いずれも全く異なる方向性の言語であるがクラスは不要なものであるという共通認識がプログラミング言語界にあるためだ
155 名前:デフォルトの名無しさん [2023/09/17(日) 14:24:30.92 ID:I/olJ+Ch.net] まあ構造体も継承出来るんですけどね
156 名前:デフォルトの名無しさん [2023/09/17(日) 14:54:07.42 ID:gR/F5lVJ.net] >>149 そんな共通認識は無い おまえが勝手に言ってるだけ 新しい、なんてのは何の根拠にもなってない 残念、論破、さよなら
157 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 15:11:21.73 ID:ENG0J7cr.net] 元々「クラス」という言葉は義務教育の頃から皆馴染みがあり下位層で育った奴には嫌な思い出しかないだろう クラスという言葉に忌避感を持つ人間は日本だけでなく恐らく世界中にいると推測できる だからクラスは不要だとかオワコンとか言ってクラスの概念自体を排除した新しい物を模索しようとする 一方、過去にトラウマの無い上位層は特にクラスに忌避感を持たずに有力な1手段として使い続けるだろう これが悲しい真相ではないかと仮説を立ててみる
158 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 15:42:41.52 ID:AYgIc0ea.net] >>150 いわゆるクラス継承は害悪という共通認識が広まり Go, Nim, Rustなどの新しい言語では排除されている
159 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 16:13:46.24 ID:PxvF4kv6.net] 複オジこんなところでも自演してまで珍説唱えてんのかよw >>137 ,149,153はRustスレ出禁扱いになってる珍説を強弁するだけの複製オジさんなる人物なので相手にするだけ時間の無駄
160 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 16:39:47.21 ID:L4HC8a7E.net] >>138 asahi.5ch.net/test/read.cgi/newsplus/1694055825/
161 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 16:42:40.76 ID:L4HC8a7E.net] ID:gR/F5lVJ はちょっと煽って からかえばポンポン反応してワロスw 沸点低すぎ
162 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 17:05:40.99 ID:L4HC8a7E.net] 今頃また顔真っ赤にして怒り狂ってそう ( *´艸`)クスクス
163 名前:デフォルトの名無しさん [2023/09/17(日) 17:17:54.06 ID:gR/F5lVJ.net] まあ顔真っ赤おじさんとかどうでもいいんすけど、どう考えてもオブジェクト指向の優勝、圧勝なんすよ、もー話になんないす
164 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 17:24:05.04 ID:L4HC8a7E.net] また釣れたw
165 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 17:25:30.93 ID:EVA53Rjw.net] オブジェクト指向はプログラム方法の一つの「説明」でしかないのに勝ち負けって頭悪すぎる
166 名前:デフォルトの名無しさん [2023/09/17(日) 17:50:31.52 ID:gR/F5lVJ.net] >>159 と、また釣れたおじさんが申しておりますw
167 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 18:28:12.30 ID:YZPhsijr.net] ポンポン ダボハゼみたいにすぐ釣れて釣りとしては面白くないな。 入門で目にしたオブジェクト志向以外知らない頭の悪い初心者だということはよくわかった
168 名前:デフォルトの名無しさん [2023/09/17(日) 19:25:51.35 ID:gR/F5lVJ.net] >>162 と素人が申しております
169 名前:デフォルトの名無しさん mailto:sage [2023/09/17(日) 19:48:48.58 ID:YZPhsijr.net] はい論破とオウム返しばっか、池沼かよ ┐(´д`)┌ヤレヤレダワ
170 名前:デフォルトの名無しさん [2023/09/17(日) 20:37:36.54 ID:gR/F5lVJ.net] >>164 と池沼が申しております おまえには十分だろw
171 名前:デフォルトの名無しさん mailto:sage [2023/09/18(月) 04:03:20.68 ID:ALFf6KVm.net] いまだオブジェクト指向、継承とか言っているのはこんなやつ
172 名前:デフォルトの名無しさん [2023/09/18(月) 07:00:18.19 ID:8fhm6wiI.net] 朝の4時にそのレスできて良かったじゃん
173 名前:デフォルトの名無しさん mailto:sage [2023/09/18(月) 07:55:33.59 ID:xwdOkQ7Z.net] 書き込み下’時間でマウントw
174 名前:デフォルトの名無しさん mailto:sage [2023/09/18(月) 09:12:53.00 ID:vG0yZxdJ.net] マ板でやれやバカども
175 名前:デフォルトの名無しさん mailto:sage [2023/09/18(月) 09:43:43.01 ID:Y1JfaYii.net] 非表示にしとけよ拘りつよつよアスペくん😅 >>169
176 名前:デフォルトの名無しさん mailto:sage [2023/09/20(水) 23:29:17.31 ID:VBDgfudD.net] モジュール化の手法として関数がまず考えられた。 共通するまとまったルーチンを実行するにあたって関数は便利であったが、 呼び出しをしてメモリ上に展開されても処理が完了するとメモリ上から消滅してしまう (それまでの履歴がパァ)という性質のものだった。 simulaの開発者の一人であるダールは、そのせっかくメモリ上に展開したデータであるのに、呼び出しが完了してしまうと制御もメモリ展開ももとに戻ってしまう関数(正確にはブロック)に代わるものとして、 呼び出したとしても制御もメモリ展開も消滅しない、つまり状態をもつ関数(局所変数を持つ関数)を「オブジェクト(object)」と呼んだ。 アラン・ケイは、その関数とは性質が異なる「オブジェクト」を多用するプログラミングを安直にオブジェクト指向と呼んだ(ようだ)。 歴史的に整理すると 構造化プログラミングは、関数を多用するプログラミング(基本3構造は前提)。 オブジェクト指向プログラミングは、ダールのオブジェクトを多用するプログラミング。 と言える。嘘だと思うならダールの論文を読んで見ればいい(と言いつつ本当に読んだら細かい重要なところをバッサリと切り落としているのがバレる)。
177 名前:デフォルトの名無しさん [2023/09/20(水) 23:35:39.69 ID:VBDgfudD.net] オブジェクト指向がわかりにくいのは ダールの論文がいろんな画期的なアイディアてんこ盛りなせいだ。 オブジェクト(object)という概念が画期的なのに、オブジェクトを生成するクラスやオブジェクトの型概念にも触れていて、何がポイントかわかりにくい。 でも何回か読んでるとダールのいうオブジェクト(object)という概念が画期的なのだと分かる。 要するに関数に代わるモジュール化の手法が(ダールの)オブジェクト。
178 名前:デフォルトの名無しさん mailto:sage [2023/09/21(木) 00:10:08.07 ID:H7YqoNcR.net] 今年から流行りだした生成AIはオブジェクト指向と関係ない 数式のように誰にとっても明解でないところが終わってるオブジェクト指向は愚かな人間どもの間違ったアプローチ その先には何も無さそうな事だけは誰の目にも明解
179 名前:デフォルトの名無しさん [2023/09/21(木) 00:20:33.81 ID:0U/PD5XH.net] 状態が可変のオブジェクトはデバッグが難しい どこで状態が変わるのかわからんようになるわ 業務要件とは独立したデータ構造でさえ多少複雑なことするとそういうことおこる ミュータブルは最小にしたが良い、マジで
180 名前:デフォルトの名無しさん [2023/09/21(木) 00:22:34.55 ID:MHm+UEXg.net] >>102 あれはオブジェクト指向ではなくて抽象データ型。 インスタンスが状態持たないでしょ?
181 名前:デフォルトの名無しさん [2023/09/21(木) 00:25:05.90 ID:MHm+UEXg.net] オブジェクトは状態持ってるからオブジェクトなんだよ!と強く言いたい。 持ってないならそれはそれは単なる抽象データ型のインスタンス。
182 名前:デフォルトの名無しさん [2023/09/21(木) 00:28:54.33 ID:tdxL4aJO.net] >>172 それはクロージャ オブジェクト指向に限らず関数型でも使える つまりオブジェクト指向の本質ではない
183 名前:デフォルトの名無しさん [2023/09/21(木) 00:30:07.90 ID:Zhn9cjmN.net] >>175 Rustでももちろんインスタンスが状態を持つよ
184 名前:デフォルトの名無しさん [2023/09/21(木) 00:31:45.48 ID:Zhn9cjmN.net] Cで書いた抽象データ型のインスタンスでも状態持つものはいくらでもある
185 名前:デフォルトの名無しさん [2023/09/21(木) 00:37:01.04 ID:MHm+UEXg.net] >>177 クロージャからオブジェクトを生成する事もできるから似ていることは認めるが、オブジェクトを生成できるのは関数型でも破壊的変更ができるcommon lispとかschemeだけ。sicpにも書いてある。 純粋関数型のhaskellはクロージャからオブジェクトを生成するのは無理。破壊的変更ができないから。 schemeをもとにしたというjavascriptは実際クラスを使わない場合、クロージャでオブジェクトを生成する。真似するとオブジェクト指向でクラスは本質ではない。
186 名前:デフォルトの名無しさん [2023/09/21(木) 00:39:36.94 ID:MHm+UEXg.net] >>178 ,179 そら状態じゃなくて値 多分そういうのrustだとlet mutと宣言してるだろ?
187 名前:デフォルトの名無しさん [2023/09/21(木) 02:13:11.73 ID:5L348Pt1.net] 【根拠あり】フリーランスエンジニアは年収862万円取れて普通という話【高収入】 【こんな僕が】フリーランスエンジニアで月収100万円を達成した5つの方法 ITフリーランスエンジニアの年収|会社員との違いや独立後の案件の取り方 月収90万のITフリーランスプログラマー・SEが選んでる在宅案件はこんな案件です フリーランスの年収は平均いくら?年収1000万円以上の割合とは 2021年最新版 エンジニアの平均年収はいくら?全体平均と比べて○○円も高い!
188 名前:デフォルトの名無しさん [2023/09/21(木) 10:11:19.31 ID:gdQGfC6C.net] インスタンスとか面倒くさい 全部グローバルなstaticクラスで良くね?
189 名前:デフォルトの名無しさん [2023/09/21(木) 10:12:39.58 ID:eeeUNNfX.net] ただの置物となった今ではオブジェ指向でいい
190 名前:デフォルトの名無しさん mailto:sage [2023/09/21(木) 12:25:41.73 ID:bQKF4ZJD.net] みんなオブジェクト指向で作ってんだし合わせようよガキじゃないんだからさぁ!
191 名前:デフォルトの名無しさん mailto:sage [2023/09/21(木) 13:32:02.03 ID:kBQIqVu1.net] 悪いことは少しでも改善しないと進歩がない。
192 名前:デフォルトの名無しさん [2023/09/21(木) 13:38:45.02 ID:6kzUrMUc.net] ガキじゃないんだからさぁ!
193 名前:デフォルトの名無しさん [2023/09/21(木) 14:04:48.18 ID:KxLc2ofK.net] >>181 君だけに通じるご都合主義的な定義で話されても誰も分からんよ let mutで宣言されたら状態じゃなくて値になるて何のこっちゃ
194 名前:デフォルトの名無しさん mailto:sage [2023/09/21(木) 14:59:44.19 ID:kBQIqVu1.net] オブジェクト指向はイメージが広がる(といえば聞こえはいいが妄想を掻き立てられる) 人がいるからオレオレ定義があちこちで膨らんだり独善が独り歩きして おかしな慣わしみたいになり弊害が出てきた
195 名前:デフォルトの名無しさん mailto:sage [2023/09/21(木) 23:48:33.39 ID:UfkHHyEe.net] それはおまえの意見、何の根拠もない 残念、はい論破 オブジェクト指向は非常に重要 これはプログラミング言語界で結論が出ている オブジェクト指向の大勝利
196 名前:デフォルトの名無しさん mailto:sage [2023/09/22(金) 00:01:25.05 ID:J2JYhUeP.net] aiもだいたいオブジェクト指向でかくしなぁ
197 名前:デフォルトの名無しさん [2023/09/22(金) 00:14:03.42 ID:2pjQfvCi.net] >>189 わかる
198 名前:デフォルトの名無しさん [2023/09/22(金) 00:24:21.80 ID:nZQCXJJN.net] >>188 ご都合主義はお互いじゃね? 俺が言ってるのは値でもlet mutで宣言したら状態持ってるように見えるから、抽象データ型が状態持ってると言ってんじゃねっと言ってる 極端なこと言うと let mut x:usize = 0; x += 1; こう書いたらxは状態持ってるように見えるけど 単なるデータ型が状態持ってると考えるのはおかしいからこれは単なる可変の変数に入った値と考えるべきじゃないか? と言っているんだよ。
199 名前:デフォルトの名無しさん [2023/09/22(金) 00:29:47.98 ID:nZQCXJJN.net] 単純に状態を持った局所変数環境のオブジェクトって概念が新しいんだよ。 言ってしまうとそれを使えば全部オブジェクト指向と言える。
200 名前:デフォルトの名無しさん mailto:sage [2023/09/22(金) 00:59:30.50 ID:pJdskUNF.net] >>189 ソフトウエアを開発できないくせに薀蓄だけは立派な 宣教師みたいなやついるよな。 あれもマウントの一種、というか飯のタネなんだろう。 悲惨なのは今だに新たな入門者が宣教師の餌食になって 犠牲者が増えつづけていること
201 名前:デフォルトの名無しさん [2023/09/22(金) 01:48:01.87 ID:PcXfPQTh.net] 指向という言葉がダサイ
202 名前:デフォルトの名無しさん mailto:sage [2023/09/22(金) 03:06:05.54 ID:UufRKzh2.net] 宣教師が最近布教してるのは、アジャイル開発やドメイン駆動だから オブジェクト指向はオワコンなのかもな
203 名前:デフォルトの名無しさん [2023/09/22(金) 08:48:16.06 ID:ghnEkhiW.net] オブジェクトを信じなさい オブジェクトこそが唯一無二の真理
204 名前:デフォルトの名無しさん [2023/09/22(金) 09:10:31.15 ID:dkRHHNCe.net] >>196 原語が Object Oriented Programing だから日本語で指向って言ってるだけ あいつらoops!のノリで付けたんであって Orientedに不快意味は無い
205 名前:デフォルトの名無しさん mailto:sage [2023/09/23(土) 05:00:06.68 ID:AGrNs2HH.net] >>197 そもそもアジャイル開発やドメイン駆動はオブジェクト指向と直交する概念では無い。というかレイヤーが違う むしろオブジェクト指向はアジャイル開発やドメイン駆動を実現する根幹手法の一つと言って良い
206 名前:デフォルトの名無しさん mailto:sage [2023/09/23(土) 10:10:00.44 ID:i9fpyxKg.net] いやいや
207 名前:デフォルトの名無しさん [2023/09/23(土) 12:51:50.80 ID:tQpIWXxa.net] パトラッシュ、疲れただろう? ボクもマジメに突っ込むのはもう疲れたよ。
208 名前:デフォルトの名無しさん mailto:sage [2023/09/23(土) 18:54:47.60 ID:IJ8IqG3m.net] *'``・* 。 | `*。 , 。∩∧ ∧ * これで元気にな〜れ + (´・ω・`) *。+゚ `*。 ヽ、 つ *゚* `・+。*・' ゚⊃ +゚ ☆ ∪~ 。*゚ `・+。*・ ゚ っ https://i.imgur.com/RFbLlK2.gif
209 名前:デフォルトの名無しさん [2023/09/23(土) 21:15:19.84 ID:ChB9aNsl.net] 元気があればオブジェクト指向もわかる ありがとー!!
210 名前:デフォルトの名無しさん mailto:sage [2023/09/24(日) 09:15:37.08 ID:AyCWE2s/.net] ・クラス型オブジェクト指向はオワコン ・プロトタイプ型オブジェクト指向は有用 って考えでいいの?
211 名前:デフォルトの名無しさん [2023/09/24(日) 11:08:15.86 ID:jYY1d0Rr.net] プログラム構造と、開発技法を比較されましても…
212 名前:デフォルトの名無しさん mailto:sage [2023/09/24(日) 11:23:16.51 ID:gTj5LbbT.net] >>205 違う オブジェクト指向自体は有効 ダメなのはクラスとその本質である継承 プロトタイプ方式によるクラス実装も継承なので当然同じくダメ
213 名前:デフォルトの名無しさん mailto:sage [2023/09/24(日) 11:25:26.13 ID:Cw9+et/n.net] javascriptのカオス具合からして失敗だろうプロトタイプは
214 名前:デフォルトの名無しさん mailto:sage [2023/09/24(日) 16:23:52.68 ID:3YxY27wg.net] jsのエコシステムはoopどころじゃない邪悪じゃろ
215 名前:デフォルトの名無しさん mailto:sage [2023/09/24(日) 23:57:23.50 ID:oGK434I1.net] 継承は規模が大きければ使いどころがある 無理に使うと害悪なので、必要に迫られるまで使うな
216 名前:デフォルトの名無しさん [2023/09/25(月) 00:33:21.23 ID:OWge9pjh.net] 継承の良いところと悪いところを両方把握して使い所を見極めればいいんだよ 何でもかんでも継承するのがよくないというだけ クラスベースの継承、プロトタイプ継承、委譲の3つを比較してそれぞれの良いところ悪いところをきちんとおさえること
217 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 00:35:49.52 ID:HQWAHROu.net] 継承が悪いとかもう何十年も前から言われてるから それについてはもう語らずに置くけど クラス化が難しい クラス化の難しさが悪い クラス化の難しさの自覚しにくさ語りにくさが悪い と言いたい 継承関係のないクラスを数個つくる その時点で難しい 分担、切り分け、依存関係がもう難しい 再利用性のある単位でくくりだすのが難しい スッキリしたインタフェースを提供するのが難しい これもっと一般化して言うなら 単に抽象化の難しさってことでもあるけど
218 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 00:57:40.87 ID:aQ9tHgH2.net] >>212 なんでそれが抽象化なんだよ クラスベースオブジェクト指向ごときが何を抽象化したとw
219 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 01:08:01.38 ID:aQ9tHgH2.net] >>210 大規模アプリケーションで広範囲・多階層に渡る継承を多用してソフトを構築したら地獄やでー 初期CDするときはいいんよ。 やっちゃえやっちゃえって感じでソースベースのメソッドなどの単位で差分プログラミングできるところ どんどん継承活用して、流用性を高めたとか言って俯瞰せずコード書き進めちゃえばなんとかCDが進む がしかし、ふと立ち止まり、あるいは時間がたち別の者が全体を見渡しなおすと もうクロスファイルでソースベースマクロ展開みたいな継承がクチャンクチャンの依存のジャングルを成していて gotoの嵐とはまた違った混沌に手がつけられなくなるぜ
220 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 01:10:18.53 ID:aQ9tHgH2.net] 入門書のサンプルコードレベルで一見便利そうに見えても 継承が有用なケースというものはあるにはあるが、 実践では実はあまり多くない
221 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 01:17:35.87 ID:aQ9tHgH2.net] >>212 それは抽象化が難しいのではなく、 ソフトウエアプログラムの構造(アーキテクチャー)を いわゆる迷信のように流布するクラスベースオブジェクト型にはめて現そうとしたけど うまく現せないことに気が付
222 名前:いたってことだよ いつまでも気が付かないよりはるかにまし [] [ここ壊れてます]
223 名前:デフォルトの名無しさん [2023/09/25(月) 10:14:44.94 ID:fq2bVCra.net] >>214 それはクラス使わなくても変わらない。 混沌に見えるのは大規模になったことが原因であって継承が原因ではない。 クラスにも継承にも欠点は無い。 理解できない人がアホみたいに欠点欠点言ってるだけ。
224 名前:デフォルトの名無しさん [2023/09/25(月) 10:18:35.43 ID:8PlaAgAt.net] 継承があるメソッドは必ずoverrideするって決めたら ベースクラスの事も思い出されて良いのでは? まあ、無駄な処理挟むけど、忘れてしまうよりは良いのでは?
225 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 10:37:24.49 ID:2mEvB720.net] 書けてしまうのが問題 継承使うのはライブラリやフレームワークで留めて 応用では使わんことやね
226 名前:デフォルトの名無しさん [2023/09/25(月) 10:42:26.44 ID:PH+ByLf2.net] 継承使うかクラスコードコピペしまくるかの違いなら 継承の方が何万倍マシだろうに
227 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 11:40:39.55 ID:KK/E8/oR.net] オブジェクト指向は コードの再利用のためという建前で余計な文法を追加すること
228 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 12:33:16.07 ID:2IrvX93h.net] 顕わに目に見えないところでコード展開&マージが起きているのと同じなので 小さくて浅い階層なら把握できるが広範で深い階層に渡る依存のジャングルは 何かどうなっているのかわからなくなってしまう
229 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 12:33:41.40 ID:2IrvX93h.net] >>220 委譲使いなよ
230 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 12:34:57.59 ID:IRZWO8eC.net] >>220 それはもう既に発想がおかしいんだよ そのままだとコピペになる(同じコードになる)ところはプログラムに当然発生して多くはコピペを回避すべきなんだけど それを継承という間違ったやり方で解決するのは間違っているという話だよ その時に継承しか知らないと継承するしかないと思いこんじゃう だから継承禁止もしくは原則として継承を使わないというプロジェクトや会社があったり指導が入ったりするわけだよ 最近のプログラミング言語は継承自体を無くしたものが増えてるのもその流れだね
231 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 12:36:18.97 ID:2IrvX93h.net] >>217 カプセル化と継承と多態 オブジェクト指向を乱用して構築した大規模アプリソフトウエアの目を覆いたくなるような分かりにくさは 単に大規模だからというだけのものではない厄介さがあるぞ
232 名前:デフォルトの名無しさん [2023/09/25(月) 12:58:59.41 ID:8PlaAgAt.net] まあ、フレームワークで継承使わないとかどんだけ縛りだよって話だ罠
233 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 13:04:11.51 ID:2IrvX93h.net] >>226 GUIのフレームワークではクラスベースオブジェクト指向の継承が有効な典型だよな。 まぁ、仕様・IFが長年練り上げられてきたことの結実ともいえるが
234 名前:デフォルトの名無しさん [2023/09/25(月) 13:09:20.84 ID:zA4g5CbZ.net] >>225 その大規模アプリをオブジェクト指向じゃなくて何を使えばましになるの?
235 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 13:24:45.11 ID:2IrvX93h.net] 言語や開発ツールが規模の大きいソフトウエアの構築を支援するために提供しているモジュラリティ―のための パッケージなどを利用した機能階層・分割設計の方がましだろ
236 名前:デフォルトの名無しさん [2023/09/25(月) 13:27:11.83 ID:+N84ygWf.net] クラスは物とその動作の設計図なんだろうけど 動作だけをうまく整理してまとめて設計図にして、物はその動作によって加工されるだけでよくて、別に物自体が何かしてくれなくていい発想の方が自然なことは多いと思う だからクラスベースだと頭の中と噛み合わなくて残念な気持ちになる
237 名前:デフォルトの名無しさん [2023/09/25(月) 13:56:58.76 ID:8PlaAgAt.net] 動作とか考えるからおかしくなる 役割と考えれば分かりやすい
238 名前:デフォルトの名無しさん [2023/09/25(月) 14:00:54.45 ID:dKK05iVY.net] >>224 継承が不適切な場合もあれば適切な場合もある それを見極めろよという話 盲目的にあらゆる継承がダメだと思ってんなら それは盲目的に継承使うやつと同じレベルだぞ
239 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 14:01:29.91 ID:cH5L00do.net] 右に動かすメソッドが WindowでもRectでもウンコでもなんでも動かせるのが自然で良いということかな?
240 名前:デフォルトの名無しさん [2023/09/25(月) 14:10:00.64 ID:8PlaAgAt.net] オブジェクト指向より エージェント指向
241 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 15:41:32.02 ID:bPtriFyH.net] >>232 盲目的に継承は必要ないとしても支障はないと思うよ 今時の継承を持たないプログラミング言語も使うようになったけど継承がないことで支障が出たことがない 『継承は不要』の結論でよいと思う
242 名前:デフォルトの名無しさん [2023/09/25(月) 15:45:33.94 ID:8PlaAgAt.net] 他言語待ち出してオブジェクト指向言語の作法説いても意味が無いだろw そんな事言った何でも不用で最後はアセンブラに回帰するわw
243 名前:デフォルトの名無しさん mailto:sage [2023/09/
] [ここ壊れてます]
244 名前:25(月) 15:54:54.23 ID:bPtriFyH.net mailto: >>236 継承を持たない各言語でもオブジェクト指向のプログラミングが自然に行える 継承だけが不要だとはっきりわかった [] [ここ壊れてます]
245 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 16:02:29.40 ID:1Oz14nin.net] つまりライブラリ前提で作るくらい設計がしっかりしてるモノ以外、独自クラスを継承させまくるようなコードは難あり?
246 名前:デフォルトの名無しさん [2023/09/25(月) 16:13:29.29 ID:zA4g5CbZ.net] >>235 あなたがどう思うのもあなたの問題なのでそれでよいと思う
247 名前:デフォルトの名無しさん [2023/09/25(月) 16:17:53.44 ID:8PlaAgAt.net] >>237 オブジェクト指向なんて、C言語ですらそれなりに書けるんだが なんで言語仕様有意義に使おうとしない?
248 名前:デフォルトの名無しさん [2023/09/25(月) 16:19:38.57 ID:8PlaAgAt.net] まあ、ここでマイポリシー語るのもいいが、決めつけたり他人に強要するなよってな
249 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 16:28:37.60 ID:s0yAomY2.net] 客観的な根拠が一番強い 過去のしがらみのない最近の各プログラミング言語GoやNimやRustなどはいずれも継承を持たない 継承がないという以外の点では全く方向性の異なる各プログラミング言語が継承は不要という同じ結論に辿り着いている
250 名前:デフォルトの名無しさん [2023/09/25(月) 16:31:16.00 ID:E8ARCJfk.net] 継承に限ったことではないが Pros/Cons両面理解した上で状況に応じた使い分けがてきないうちはいつまで経っても素人のまま
251 名前:デフォルトの名無しさん [2023/09/25(月) 16:34:24.96 ID:8PlaAgAt.net] else不用論者みたいな奴だなぁ
252 名前:デフォルトの名無しさん [2023/09/25(月) 16:50:14.80 ID:zA4g5CbZ.net] しがらみとか考え方次第でどうとでもなるからそれは客観的じゃないよw
253 名前:デフォルトの名無しさん [2023/09/25(月) 16:52:29.42 ID:8PlaAgAt.net] とある言語仕様に無いから全言語に渡って不用って 極端なw
254 名前:デフォルトの名無しさん [2023/09/25(月) 17:09:03.89 ID:F0mcF4FZ.net] Rustはトレイトのデフォルト実装で継承の一部をまかなってる それ以上の部分はマクロでコピペコードを生成するかそのままコピペすることで継承相当を実現している
255 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 17:11:03.38 ID:0g73jH4i.net] 必要と不要ではなく静的と動的で分けるのが、商業的でない中立な見方 継承は不要だから採用されないのではなく 動的ディスパッチだから動的言語に近い言語でしか採用されない
256 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 17:11:12.20 ID:s0yAomY2.net] 最近のプログラミング言語 【継承がない】Elixir、Go、Julia、Nim、Rust、Zig 【継承がある】Kotlin(Javaの後継)、Swift(Objective-Cの後継) つまり過去のしがらみで継承を含めざるを得なかったKotlinとSwiftを除いて全ての言語に継承はない
257 名前:デフォルトの名無しさん [2023/09/25(月) 17:12:48.35 ID:moYp0tPu.net] >>247 Derefが継承の代替として使われることもあるよ
258 名前:デフォルトの名無しさん [2023/09/25(月) 17:15:24.44 ID:hRr4oOqW.net] >>249 広く使われてるGUIライブラリのある言語とそうでない言語の分類そのものですね
259 名前:デフォルトの名無しさん [2023/09/25(月) 18:09:35.84 ID:8PlaAgAt.net] GUI処理書くのに継承無いとか嫌過ぎる
260 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 18:33:50.47 ID:0g73jH4i.net] jsにはラムダがあるからGUI目的の継承をしなくなった
261 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 19:32:34.54 ID:UoPxhUhD.net] >>227 > まぁ、仕様・IFが長年練り上げられてきたことの結実ともいえるが 彗眼やね 屍の山の上にしか良い設計は無いんよ >>230 いいとこに着目してると思う やっぱ関数と値で済んでたときより大げさなんよね Javaに悪い意味で鍛えられた人は平気なんだろうけど (FizzBuzzEnterpriseEditionみたいなやつのことね) >>238 ありなし語る必要ないと思う やってみればいい 100%失敗するから クソの山になるから
262 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 19:36:58.29 ID:FlTLze7i.net] rust や go だと継承に相当するようなことができるのでいまいちピンとこないんだよね。
263 名前:デフォルトの名無しさん mailto:sage [2023/09/25(月) 22:27:07.39 ID:SCrjiBQI.net] >>247 ちょっと違うので補足するね Rustのトレイトは機能・性質を示すもので型でもクラスでもなく変数(やその値)を持つこともなく各型に対して横断的な位置付けであり クラスとその継承を排除したRustでは各型に対して必要な複数のトレイトを実装すなわち合成していくわけだけど トレイトのメソッドは二種類に分かれていて 必須メソッド(required methods)は各型で実装コードが異なるメソッド 提供メソッド(provided methods)は各型で実装コードが共通にできるメソッドで必須メソッドやトレイト境界となる他のトレイトのメソッドを用いてデフォルト実装している つまり機能性質を示すトレイトに対して各型固有の実装と各型共通の実装の二種類に整理しているだけにすぎないよ したがってRustではトレイトとそのメソッドをきちんと設計すればコピペは出て来ない 複数の型でコードが全く同じとなるならば上述のように各型共通の実装となる提供メソッド(provided methods)になりデフォルト実装となる もしマクロでメソッド実装を自動生成する場合はそれは各型固有の実装となる必須メソッド(required methods)に対してマクロの引数指定部分だけが各型で実装が異なる場合になりコピペではないね
264 名前:デフォルトの名無しさん [2023/09/26(火) 00:48:16.96 ID:mW7xEcGz.net] Rustだとライブラリで定義済みのトレイト実装を少しカスタマイズしたいだけでも 変更の必要ないメソッドやトレイト実装も全て元の構造体に委譲するコードを書かないといけない 継承がないから構造体1つに対して10個や20個トレイト実装があるのは普通なのでマクロ使わないとコピペ地獄でやってられない 一般的OOPならメソッド1つオーバーライドするだけの簡単な作業
265 名前:デフォルトの名無しさん mailto:sage [2023/09/26(火) 01:12:22.03 ID:i+iKqNf9.net] >>257 発想がおかしい そんなことが必要になることはない 使わないメソッドを生やす必要はない もし元の型の全てのメソッドを生やす必要があるのならばその時はDerefを使えばよくて自動的に全てのメソッドが生えた形になる
266 名前:デフォルトの名無しさん [2023/09/26(火) 02:37:40.13 ID:LjeIbJUy.net] Derefのそういう使い方はアンチパターンでしょ Traitをカスタムするという発想がおかしいというのは同意 オーバーライドなんてするな
267 名前:デフォルトの名無しさん [2023/09/26(火) 09:00:17.20 ID:HGB+okJ7.net] 世の中、似た様な画面で項目だけ違う処理がたくさんあり過ぎる
268 名前:デフォルトの名無しさん mailto:sage [2023/09/26(火) 09:10:04.28 ID:75MGfnhF.net] 型クラス構造を階層的に取り込んで内包していくような設計に 考えが凝り固まっているんじゃねーかな 昨日階層の抽象化は本来そういうものではなく 階層が上がるにつれより抽象的な構造に「昇華」していく筈だと思うが
269 名前:デフォルトの名無しさん [2023/09/26(火) 09:11:41.08 ID:HGB+okJ7.net] まあ、フレームワークくらいにしか使わないけどな
270 名前:デフォルトの名無しさん mailto:sage [2023/09/26(火) 09:32:49.19 ID:75MGfnhF.net] >>261 より複合的な構造に融合していくことで 機能階層の抽象化を現す、というか代用しようとしたところに どだい無理があったんだ やりにくいわけだよ
271 名前:デフォルトの名無しさん mailto:sage [2023/09/26(火) 09:36:16.66 ID:TLEYFp/r.net] 以前Javaのユーザグループミーティングに出席した際、James Gosling(Javaの生みの親)がメインの講演者として招かれていました。 すばらしいQ&Aセッションの途中に、こんな質問が出ました。 「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」 答えは「クラスを除外するでしょうね」というものでした。 笑いが静まった後、彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。 インターフェースによる継承(implementsの関係)のほうが望ましいのです。できる限り実装継承は避けたほうがよいでしょう。
272 名前:デフォルトの名無しさん mailto:sage [2023/09/26(火) 09:37:57.06 ID:75MGfnhF.net] カプセル化とアクセサーがまたクソなんだよな ソフトウエアの規模拡大に伴う複雑さをより増長させる
273 名前:デフォルトの名無しさん [2023/09/26(火) 09:45:45.09 ID:Pu+bW/hr.net] だから、エージェント指向だよ
274 名前:デフォルトの名無しさん [2023/09/26(火) 09:49:57.35 ID:fxfYOiWX.net] おっと、明後日の方向から不思議な球が飛んできたw
275 名前:デフォルトの名無しさん [2023/09/26(火) 09:56:26.60 ID:Pu+bW/hr.net] 同一マシン内である事すら不用な仕組み 全ての手続きはメッセージでやり取りされる ゆえにアクセサは各エージェントに1組だけ
276 名前:デフォルトの名無しさん [2023/09/26(火) 09:58:18.98 ID:fxfYOiWX.net] ソフトウエアを作っていない人と見た。
277 名前:デフォルトの名無しさん [2023/09/26(火) 10:03:09.62 ID:fxfYOiWX.net] この人と似た雰囲気がするな https://mevius.5ch.net/test/read.cgi/tech/1693451813/442-455
278 名前:デフォルトの名無しさん [2023/09/26(火) 11:27:47.44 ID:J0zXOsdf.net] >>259 >Traitをカスタムするという発想がおかしいというのは同意 なんでおかしいと思うの?
279 名前:デフォルトの名無しさん [2023/09/30(土) 16:53:59.14 ID:lIYH5p6r.net] >>264 そのレスの中に技術的な根拠ある? 誰々が言ってたから、で何使うか決める感じか? 別に好きにすればいいけどそれは素人でもできますよね
280 名前:デフォルトの名無しさん [2023/09/30(土) 16:58:25.69 ID:syF3qyzI.net] なんとか技法とか、なんとか指向とか 宗教みたいなもんだから、別に従う必要も無いんだよなぁ
281 名前:デフォルトの名無しさん [2023/09/30(土) 17:05:11.09 ID:nY8APa4N.net] >>272 変な詭弁だな、玄人でもできるぞ。 そして意見は専門家・元祖だぞ、 技術的根拠的根拠なしに子供みたいに上げ足とってるだけのレスはお前さんだろ さては論破君だな
282 名前:デフォルトの名無しさん [2023/09/30(土) 17:08:33.49 ID:syF3qyzI.net] 頭弱いのバレバレな文章だなぁ
283 名前:デフォルトの名無しさん mailto:sage [2023/09/30(土) 17:11:28.38 ID:nY8APa4N.net] 性格が悪いのがまたからかわれに出てきたのか
284 名前:デフォルトの名無しさん mailto:sage [2023/09/30(土) 17:12:32.20 ID:nY8APa4N.net] ↓と申しております、とか書くころ
285 名前:デフォルトの名無しさん [2023/09/30(土) 19:22:36.99 ID:lIYH5p6r.net] すみませんね、根拠が要らない人たちと思わなかったんでね。 話にならないよね。 ここでその元祖の名前だけ示して誰得なんすか?
286 名前:デフォルトの名無しさん mailto:sage [2023/09/30(土) 20:06:51.67 ID:nY8APa4N.net] 話にならないなら黙てればよい。 まぁ一応謝っているようだから非は認めたわけだな。 今後気を付けるように。
287 名前:デフォルトの名無しさん [2023/09/30(土) 20:25:12.96 ID:lIYH5p6r.net] 皮肉だとわからない 権威主義で名前だけでありがたがる 生きてて幸せだよねw 話にならないなら黙てればよいならおまえが黙っとれよw
288 名前:デフォルトの名無しさん [2023/09/30(土) 21:43:39.23 ID:lIYH5p6r.net] 性格どうこうというより権威主義「玄人」プログラマーと話噛み合わないの目に見えてるから誰もまともに相手しないよ 実際「ここで元祖の名前だけ出して誰得なのか」は答えられなくて意味不明なレスしか来ないわけじゃん
289 名前:デフォルトの名無しさん mailto:sage [2023/09/30(土) 21:58:03.51 ID:nY8APa4N.net] ちょっと刺激するとすぐむきになって食いつくw ほんと、ダボハゼ並みだな
290 名前:デフォルトの名無しさん mailto:sage [2023/09/30(土) 22:00:20.54 ID:uokmRef0.net] なんで見当違いの宗教闘争延々とやっているんだ A「九九は便利だ」 B「九九では足し算引き算に役に立たない」 こんなアホな言い争い続けるのは暇すぎるどころか病院行った方がいい
291 名前:デフォルトの名無しさん mailto:sage [2023/09/30(土) 22:08:25.33 ID:nY8APa4N.net] >>280 頭に血が上ると 〜と申しております 大前こそ〜(単なる言い返し) はい論破 すぐこういう言い方をする 反応が子供みたいで分かり易い
292 名前:デフォルトの名無しさん [2023/09/30(土) 22:16:19.55 ID:lIYH5p6r.net] いつまで経っても小学生の悪口みたいなことしか出てこない 本当にしょうもない 足し算引き算の役に立たない、という理由が示されているならまだ有益な議論になり得るが、「誰々が九九は役に立たないと言っていました」だけでいけると本気で思ってるんだからマジですごい
293 名前:デフォルトの名無しさん mailto:sage [2023/09/30(土) 22:20:44.91 ID:nY8APa4N.net] ほんと分かり易い。
294 名前:デフォルトの名無しさん [2023/09/30(土) 22:30:29.98 ID:lIYH5p6r.net] わ
295 名前:かりやすい連呼のゴミ人生でした [] [ここ壊れてます]
296 名前:デフォルトの名無しさん [2023/10/01(日) 00:12:42.51 ID:KkBb2S1m.net] 良かったら年齢と学歴教えて
297 名前:デフォルトの名無しさん [2023/10/01(日) 09:15:28.15 ID:2adgRT7m.net] 別に教えてもらわなくても一人でやったらいいやん、ままごとみたいに 結局同じことなんだからそれで満足すれば済む話だ
298 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 09:23:22.48 ID:rjZHaWtE.net] オブジェクト指向って、C++で、 classのコンストラクタとデストラクタが メモリーの安全な自動解放に簡単に対応できるので 重宝している。 もしそれらが無かったら、メモリーを簡単に自動解放できない。
299 名前:デフォルトの名無しさん [2023/10/01(日) 09:25:58.43 ID:jNRKUn/r.net] 道端でも誰も聴いてないのに一人でブツブツ大声で自問自答してるヤバいおっさんおばさんおるけど ああいう類の人間なんかな
300 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 09:28:09.49 ID:rjZHaWtE.net] C++ではclassの概念は、とても重要。 主にメモリーの自動解放のため。それ以外の 言語では余り要らないのでピンとこないのかも。
301 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 13:15:07.23 ID:KgnXZbAE.net] 自分みたいにメモリの開放忘れる人間にはC++は難しい
302 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 13:39:28.55 ID:cZOrnAr5.net] classなくても自動解放くらいできるでしょ interface/trait/protocolを使う C++にはそれがないからclassで代替してるだけ
303 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 13:44:53.34 ID:dg4Xcjmo.net] オブジェクト指向の考え方/やり方だけでなく オブジェクト指向以前とポストオブジェクト指向での考え方/やり方を把握してないと オブジェクト指向の良し悪しは評価できない
304 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 13:47:35.04 ID:dHLzwzhp.net] メモリに関してはCとC++の違いはブロック終端のトリガの有無だけだから Cでもコンテナに紐付ける仕掛け作れば問題なかった アホが多すぎただけ
305 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 14:08:36.42 ID:laJh6B3W.net] Cでも、RAIIできるの?
306 名前:デフォルトの名無しさん [2023/10/01(日) 14:22:51.96 ID:h9hU82V+.net] 人に説明することが難しいことは、とても保守性が低い。構成が複雑であるほど、危険である。 要素が独特で実績が少ないと、世間にわかっている人が少ない。そうすると、「誰か助けて」と言ったとき に人が集まらない。ベンダーも消失するかもしれない。 https://www.orangeitems.com/entry/2022/03/26/164116 オーバーライド(英:override)とは オブジェクト指向におけるオブジェクトの継承の話で出てくる用語のひとつ であり 親クラスにあるメソッドを子クラスで再定義することによって、子クラス上で親クラスのメソッドを上書きすること https://wa3.i-3-i.info/word138.html チンポは人格メソッドや脳メソッドを上書きする機能が有る!!! https://mobile.twitter.com/ki45_nisiki/status/1581300043935494145 フローズンぺんぎん@とりゅー @ki45_nisiki 返信先: @LunRon5 さん どんなに教養と勉強で武装しようとも、自身が抱える性癖には逆らえん。チンポが脳や人格にオーバーライドして支配してくる欲求には逆らい難い…だからこそ最低限の慎みと矜持として2次元があるのではないか…デブでもおばさんでも勃起できる
307 名前:人にはこの苦しみはわからんっすね (deleted an unsolicited ad) [] [ここ壊れてます]
308 名前:デフォルトの名無しさん [2023/10/01(日) 14:26:38.26 ID:qGfJdqzD.net] メッセージングを基礎単位として取ることは、より徹底的な遅延束縛を可能にする。というのも、 メッセージそれ自体は意味を持たず、実際にメッセージがオブジェクトに送信されてはじめて、意味が決まるからである。 https://qiita.com/ukyo-su/items/8c861f114809a96d1378 オシッコを出したり止めたりというのは、チンポから力を抜いたりチンポに力を入れたりと、 オシッコはオシッコそれ自体は意味を持たず、オシッコが尿道を介してチンポに送られることによって、 オシッコを出したり止めたりが可能になるということだ。 928 デフォルトの名無しさん 2018/11/21(水) 18:59:11.61 ID:8Yc2p7H1 >>922 >ナンチャッテメッセージングスタイルになったのは チンポ.オシッコを出す チンポ.オシッコを止める さっきトイレでやってきた。 929 デフォルトの名無しさん 2018/11/21(水) 19:07:17.83 ID:8Yc2p7H1 >>915 >単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを >ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。 × 俺.オシッコを止める 俺.オシッコを出す ○ 俺.チンポに力を入れる 俺.チンポから力を抜く
309 名前:デフォルトの名無しさん [2023/10/01(日) 14:28:59.90 ID:VTqwMbMD.net] 多態性まとめ 多態性・ポリモーフィズムとは、同じ命令を送ったにも関わらずそれぞれが独立した固有の処理を行うという特性を指す。 多態性・ポリモーフィズムは継承関係の子から親への代入を通じて実現することができる。 多態性・ポリモーフィズムのメリットとして、同一視して配列を利用できたり、同一視して引数を受け取ることができることが挙げられる。 https://engineer-life.dev/polymorphism/ この車、タイヤがパンクしてしまった! この男クリントン、チンポがシコシコしてしまった! 繋がっているけれども独立している、共有性と独立性! 息子とムスコは、必ずしも親の命令通りには動かない! 立て、立つんだ! 立 つ ん だ 、 ジ ョ ー ! 息子1 起立! 息子2 勃起! 息子3 立ちくらみ! https://mobile.twitter.com/yokillme/status/970300973301219328 ヨキ @yokillme 自分の息子のことを愚息って言うの、現代においては息子を自分とは別人格の一人の人間として尊重してないからやめた方がスマートだと思うんだけど、不意に勃起した自分のチンコを「愚息」と表現するのめっちゃ好きなんですよね。 (deleted an unsolicited ad)
310 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 14:32:10.64 ID:Y7qk5s2j.net] >>290 それはclassとは全く関係がない C++の比較としてわかりやすいのRustはclassを持たないがメモリが安全に自動解放される C++もRustもその機構はRAII機能に基づいておりオブジェクト指向は関係ない
311 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 14:34:16.41 ID:dHLzwzhp.net] >>297 タイミングが異なる点を除けば似たような仕組みは作れる
312 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 14:40:25.74 ID:v3BOjD1R.net] >>301 でも仕組みの簡単さからC++流のclassの方が先に出た。
313 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 14:40:27.98 ID:v3BOjD1R.net] >>301 でも仕組みの簡単さからC++流のclassの方が先に出た。
314 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 19:07:36.85 ID:RnzHy+Ka.net] 変数の管理をしてくれる言語を使えよハゲどもが
315 名前:デフォルトの名無しさん mailto:sage [2023/10/01(日) 19:17:29.32 ID:RnzHy+Ka.net] >>299-300 こちらのスレで皆さんがお待ちです、存分にお書きください mevius.5ch.net/test/read.cgi/tech/1619499726/
316 名前:デフォルトの名無しさん [2023/10/01(日) 20:10:51.85 ID:hX9xjpD8.net] >>306 オブジェクト指向とは何かについて、他にわかりやすい説明が有るのか?
317 名前:デフォルトの名無しさん mailto:sage [2023/10/02(月) 01:09:41.83 ID:DXCTtI1y.net] 正直者には、見ます。 ささ、どうぞあちらへ。
318 名前:デフォルトの名無しさん [2023/10/17(火) 20:07:11.02 ID:iLOamahz.net] OOPはオワコンにはなりませんよ?
319 名前:デフォルトの名無しさん [2023/10/19(木) 01:30:31.85 ID:ReS9VmD8.net] 1996年ころから購読していたのCマガジン雑誌 まだたくさん残っているが、オブジェクト指向とか また当時の日経プログラミングだったか?雑誌にも 関係ないがLinuxって1996年ころはまだ初期の時代だったんだな
320 名前:デフォルトの名無しさん mailto:sage [2023/10/19(木) 01:31:33.44 ID:ReS9VmD8.net] 訂正思い出した日経ソフトウェアだw 当時はCDとかいっぱいおまけがついていた
321 名前:デフォルトの名無しさん mailto:sage [2023/10/19(木) 01:34:49.05 ID:xRKx+n3E.net] >ID:ReS9VmD8 言語障害の気が出てるから病院で検査してもらってこい
322 名前:デフォルトの名無しさん [2023/10/31(火) 13:55:10.92 ID:wz6hR3A/.net] 継承を使いまくる数学、化学、天文分野があるんじゃないの? 知らないだけかもしれないやん
323 名前:デフォルトの名無しさん mailto:sage [2023/10/31(火) 16:28:48.15 ID:1/1CCAX6.net] 学問は継承されてるよね教育によって 継承を使いまくってるねうん
324 名前:デフォルトの名無しさん [2023/11/01(水) 03:34:28.91 ID:5z6NYMjm.net] 継承というか増築だな 間違いを糺す方向なら良いが 臭いものに蓋をしているだけのケースもある
325 名前:デフォルトの名無しさん mailto:sage [2023/11/02(木) 00:53:05.17 ID:C1u8Rfqp.net] 学問のどこがオブジェクトなんだよ?
326 名前:デフォルトの名無しさん mailto:sage [2023/11/02(木) 08:49:12.85 ID:rUbcesCO.net] 学ぶ人間だな
327 名前:デフォルトの名無しさん mailto:sage [2023/11/04(土) 07:07:49.01 ID:EkV1A63H.net] オブジェクト思考言語しか触ったことないなぁ……JavaとC#だけ
328 名前:デフォルトの名無しさん mailto:sage [2023/11/04(土) 08:54:45.74 ID:LcB6D1Ol.net] そんな思考ではいかん崎
329 名前:デフォルトの名無しさん [2023/11/04(土) 13:00:40.63 ID:DZrRJ0p+.net] C#には20年前からデリゲートがあった デリゲートはオブシコ的に邪道と言われて Javaは当時デリゲートを否定してた それから12年後Javaでラムダ式が使えるようになった この20年間はオブシコが限界につきあたりそれを関数型で突破する 試行錯誤が行われているように思われる
330 名前:デフォルトの名無しさん mailto:sage [2023/11/04(土) 16:36:10.21 ID:ZcgvxfJM.net] オブシコには最初から懐疑的だったね俺は
331 名前:デフォルトの名無しさん [2023/11/04(土) 19:16:33.99 ID:T14pQUSp.net] 弾幕系シューティングゲームの敵弾を無限に増やしたり、消したり。 弾幕の軌道の種類を継承で増やす。 とか?
332 名前:デフォルトの名無しさん mailto:sage [2023/11/04(土) 21:06:27.26 ID:SYCLubyE.net] >>5 で早々に指摘されてる通りライブラリがすでにオブジェクト指向なんだよなあ。ついでにAPI使うのもそう こんなスレでごちゃごちゃ書きたがるのは当たり前にライブラリやAPIを使わない人たちかな
333 名前:デフォルトの名無しさん mailto:sage [2023/11/05(日) 10:29:13.93 ID:ol9bMVcc.net] オブジェクト指向と言っても階層がある フレームワークやライブラリを造る層 中間層 単に利用するだけのクレクレ層
334 名前:デフォルトの名無しさん [2023/11/05(日) 10:30:00.47 ID:ol9bMVcc.net] ちなみに >>323 の視点はどう観てもクレクレ層
335 名前:デフォルトの名無しさん mailto:sage [2023/11/05(日) 17:32:14.56 ID:QR45ukux.net] 利用しないで文句言うだけじゃね
336 名前:デフォルトの名無しさん [2023/11/06(月) 02:08:53.26 ID:moBvQfOK.net] ライブラリは使えばいいんよ。 車輪の・・・は時間の無駄だしさ 例えばオワコンだとして、オブジェクト指向に代わる概念ってあるの?かな?
337 名前:デフォルトの名無しさん mailto:sage [2023/11/06(月) 07:20:06.20 ID:70OUkfAm.net] オブシコでもある程度まではうまくいく オブシコが潰していったパラダイムの中に適切なものがあたかもしれない
338 名前:デフォルトの名無しさん mailto:sage [2023/11/07(火) 22:04:
] [ここ壊れてます]
339 名前:51.55 ID:We/0vraC.net mailto: 本当にオワコンか? [] [ここ壊れてます]
340 名前:デフォルトの名無しさん mailto:sage [2023/11/07(火) 23:40:56.36 ID:laLhHNQt.net] オワコンです
341 名前:デフォルトの名無しさん mailto:sage [2023/11/08(水) 01:48:06.76 ID:5o5qiXKK.net] オブジェクト指向は複雑性が増すごとに破綻し易くなるく砂上の楼閣理論 やはりデータに手足を生やすのは間違っていた 祖の争いSmalltalkerはLisperに勝てなかった それだけのこと
342 名前:デフォルトの名無しさん mailto:sage [2023/11/08(水) 08:59:37.91 ID:RQjSMWWP.net] バカが作るから破綻する それだけのこと
343 名前:デフォルトの名無しさん mailto:sage [2023/11/08(水) 09:34:05.09 ID:G1poaB6X.net] インターフェースだけでいいよもう
344 名前:デフォルトの名無しさん mailto:sage [2023/11/08(水) 09:34:51.90 ID:/JKDdFz2.net] つまりC言語が最強ってことか
345 名前:デフォルトの名無しさん mailto:sage [2023/11/08(水) 11:23:51.37 ID:fKz2Vipi.net] Keep it simple, oops.
346 名前:デフォルトの名無しさん [2023/11/08(水) 21:03:30.78 ID:wwLvTPFi.net] Javaなんか継承しまくって機能拡張してるからそういった方面で使うのでは? 過去の資産を活用できるように作るか、毎回新規で作るかによるね
347 名前:デフォルトの名無しさん [2023/11/09(木) 01:06:59.85 ID:/EissswG.net] オブジェクト指向でないと、プラグインとかまともなインターフェイスにならんやろ。
348 名前:デフォルトの名無しさん [2023/11/09(木) 11:45:59.07 ID:Fo7n9qIp.net] Rust の trait は oops !
349 名前:デフォルトの名無しさん mailto:sage [2023/11/12(日) 10:46:44.60 ID:4vqQNhnm.net] まだこんなクソスレ立ててるやついるのか 10年くらい前からオワコン言い続けてるけどいつ終わるんだか
350 名前:デフォルトの名無しさん mailto:sage [2023/11/15(水) 08:23:03.12 ID:wyE42I7+.net] Tiktok LiteでPayPayやAmazonギフトなどに交換可能な4000円分のポイントをプレゼント中! ※既存Tiktokユーザーの方はTiktokアプリからログアウトしてアンインストールすればできる可能性があります。 1.SIMの入ったスマホ・タブレットを用意する 2.以下のTiktok Liteのサイトからアプリをダウンロード(ダウンロードだけでまだ起動しない) https://tiktok.com/t/ZSNfswHBq/ 3.ダウンロード完了後、もう一度上記アドレスのリンクからアプリへ 4.アプリ内でTiktokで使用してない電話番号かメールアドレスから登録 5.10日間連続のチェックイン(←重要)で合計で4000円分のポイントゲット ポイントはPayPayやAmazonギフト券に交換できます! 家族・友人に紹介したり通常タスクをこなせば更にポイントを追加でゲットできます
351 名前:デフォルトの名無しさん mailto:sage [2023/11/15(水) 09:03:46.64 ID:PIzU8B+d.net] >>340 やってみない手はない
352 名前:デフォルトの名無しさん mailto:sage [2023/11/15(水) 18:59:58.68 ID:tPBxgNfn.net] 宣伝のマルチポストは何とかならんのかね
353 名前:デフォルトの名無しさん mailto:sage [2023/11/16(木) 08:06:38.29 ID:nV/QBQ73.net] 業者に近い香具師のやってることみたいなので、業者と思うのがいい # ダックテスト
354 名前:デフォルトの名無しさん mailto:sage [2023/11/18(土) 09:09:46.14 ID:vBDsvFEe.net] ルールを守らん奴には退場してほしいものだな
355 名前:デフォルトの名無しさん [2023/11/19(日) 16:25:54.40 ID:j9gIHEdT.net] ORMって便利だと思うが オブジェクト指向否定するやつはいつも名前SQL叩いてんのか?
356 名前:デフォルトの名無しさん mailto:sage [2023/11/19(日) 18:46:12.96 ID:bV4d5xXM.net] >>345 ORMとオブジェクト指向って何か関連があるの? ちょっとよくわかんないんだけど
357 名前:デフォルトの名無しさん mailto:sage [2023/11/19(日) 19:16:16.08 ID:T4k91i6p.net] 正直 struct relation mapper と言っても差し支えないものがほとんどたからな。
358 名前:デフォルトの名無しさん mailto:sage [2023/11/19(日) 23:00:14.66 ID:IjgzLSHb.net] >>345 巷で使われてるORMが便利なのって「DBMS間の差異を吸収してくれる」「クエリを自動で作ってくれる」「結果をオブジェクトに詰めてくれる」あたりだろ 前二つはオブジェクト指向関係ないし、最後もオブジェクト指向言語だからオブジェクトに詰めてるだけで、>>347 も書いてるように本質的には構造体でもいいんだよ オブジェクト指向がなくなったとしても、また別のxRMが出てくるだけだと思うぞ
359 名前:デフォルトの名無しさん mailto:sage [2023/11/20(月) 00:47:45.50 ID:Cp3kPxHu.net] LaravelのDBクラスより標準のPDOクラスのほうが使いやすいという
360 名前:デフォルトの名無しさん [2023/11/20(月) 13:56:42.13 ID:MS7hPbOQ.net] KVSですねわかります
361 名前:デフォルトの名無しさん mailto:sage [2023/11/20(月) 15:39:56.06 ID:kg22kICS.net] ちがいます
362 名前:i.hidekazu mailto:sage [2023/12/12(火) 05:12:23.87 ID:c1pA8kio.net] オブジェクト指向とは何なのかの前提から分かってないやつが多すぎる 構造化プログラミング=シングルスレッドプログラミング オブジェクト指向プログラミング=マルチスレッドプログラミング これが大前提 https://qiita.com/iHdkz/items/3714155bb94a23ca1b9c
363 名前:i.hidekazu mailto:sage [2023/12/12(火) 05:15:57.52 ID:c1pA8kio.net] 2つのプログラムを連接したいときにシングルスレッドでは変数名や関数名が衝突して簡単にはできないという困難を、マルチスレッド=オブジェクト指向が解決してくれる この大前提を書いてない言説が世の中多すぎる
364 名前:デフォルトの名無しさん mailto:sage [2023/12/12(火) 09:12:52.00 ID:bh0SftWU.net] これまたどえらいもんを出してきたな。
365 名前:デフォルトの名無しさん [2023/12/12(火) 09:22:10.95 ID:/OrzPB6P.net] トンデモ記事だな
366 名前:デフォルトの名無しさん mailto:sage [2023/12/12(火) 10:31:25.17 ID:YV2TYdjD.net] トンデモ過ぎて逆に面白かったわw
367 名前:デフォルトの名無しさん [2023/12/12(火) 10:51:40.65 ID:6C/zc+S/.net] 同じ名前が使えるのはネーム空間のおかげだよな? 別にマルチかどうかは関係ないし…
368 名前:デフォルトの名無しさん mailto:sage [2023/12/12(火) 11:49:17.67 ID:vNFxkYmY.net] preview_and_printも普通に組み合わせればいいよね preview_and_print(data) { preview(data) if (ask() == true) { print(data) } } それぞれ独立したプログラムという前提みたいだから現実的にはpreviewやprintそのものではなく各mainが利用してるlibを再利用することになるけど考え方は変わらない
369 名前:デフォルトの名無しさん mailto:sage [2023/12/12(火) 20:11:14.91 ID:qtJTMkIP.net] 良くこんなの見つけて来たなと思ったら本人かよ…
370 名前:デフォルトの名無しさん [2023/12/13(水) 00:05:09.71 ID:2g95gV8C.net] >>359 いやこれは自警だ。今見てびっくりした。 なんかよくわからんけどwikipediaも関係ないのにまだつきまとわれる。なんか成り済まされるし。 なんなんこの人?
371 名前:デフォルトの名無しさん [2023/12/13(水) 00:13:34.67 ID:2g95gV8C.net] wikipediaにゴミ情報書くなばりに追い出されたからひっそり書いているのに一々突っかかってくる。 この人俺のファンなのか(笑)?なんか変なのに粘着されてすごい面倒なんだけど。
372 名前:デフォルトの名無しさん [2023/12/13(水) 00:30:11.94 ID:2g95gV8C.net] なんで粘着自警の貼った話を俺が回答するのかわからんのだがなんか書くと >>355 Simulaのクラスは当初プロセスという名称だったんだよ。 >>357 その名前空間をどう実現するの? >>358 関数型プログラミング的な考え方だが、想定しているのは当時の構造化言語で その時代にそんなレキシカル・スコープ備えた言語なんてないよ。 ただ、そういう突っ込みの説明が面倒だったので連接(concatenation)でプログラム合成した場合に限ってる。 関数で抽象した場合のケースはよく読むとすっ飛ばしている。
373 名前:デフォルトの名無しさん mailto:sage [2023/12/13(水) 00:49:09.36 ID:UEuJAt8H.net] >関数型プログラミング的な考え方だが、想定しているのは当時の構造化言語で >その時代にそんなレキシカル・スコープ備えた言語なんてないよ。 >>358 はめちゃくちゃ手続き的な考え方だしレキシカルスコープなんて全く必要ない 逆に言えば君は関数型についてもレキシカルスコープについても何も理解していないということがわかる これだとwikipediaならbanされて当然 でもQiitaならトンデモ記事でもエンタメとして成立するので好きにすればいいと思うよ 俺も>>352 の記事は楽しませてもらったから
374 名前:デフォルトの名無しさん [2023/12/13(水) 01:02:37.45 ID:2g95gV8C.net] お前蹴りだな。twitterでも一々突っかかってくるし、生温かく見守ってとかいいつつ喧嘩吹っ掛けてくるとか。いったいなんなん? レキシカルスコープなんて全く必要ないというのなら全部グローバル変数ってか?それこそ衝突するだろ。 局所環境が無いと関数プログラミングなんてできない。 逆にいえば、局所環境がちゃんとあるならば構造化プログラミングも別方向に進展することができる。 関数型プログラミングを考える上ではそれは必須だ。 逆に構造化プログラミング知らずに関数型プログラミングでござい、なんてありえないだろ。
375 名前:デフォルトの名無しさん [2023/12/13(水) 08:25:46.13 ID:NbIWTS6w.net] キータは関数型プログラミングでも炎上してたし オブジェクト指向でもトンデモ理論を提唱するかたが現れるとはな 自由であることの証左ではあるだろうけど
376 名前:デフォルトの名無しさん mailto:sage [2023/12/13(水) 12:19:47.44 ID:zD6/wvDM.net] >>364 自意識過剰が過ぎる twitterとかやってねーしお前が誰かとか知らねーから レキシカルスコープを理解してないばかりかダイナミックスコープは存在すら知らないんだな 無知や間違いを指摘してくれる友人や同僚はいないのか?
377 名前:デフォルトの名無しさん mailto:sage [2023/12/13(水) 12:25:56.46 ID:zD6/wvDM.net] >その時代にそんなレキシカル・スコープ備えた言語なんてないよ。 当時ダイクストラが主として使っていたALGOL60はレキシカルスコープを備えている 当然それを念頭において構造化プログラミングに関する論文をかいている お前の妄想だけで嘘八百書くからbanされたんだろ
378 名前:デフォルトの名無しさん mailto:sage [2023/12/13(水) 12:36:24.80 ID:sUe1mEvE.net] 自警とか蹴りとか、自分用語を説明もなく使っちゃうのが如何にもアレだなぁ
379 名前:デフォルトの名無しさん [2023/12/13(水) 12:41:50.00 ID:NbIWTS6w.net] 糖質っぽさがあるよな
380 名前:デフォルトの名無しさん mailto:sage [2023/12/13(水) 19:07:41.26 ID:rYdFb4gI.net] 次回作はSmalltalkやC++でマルチスレッド性がクラスから消滅した理由を書いてください!
381 名前:デフォルトの名無しさん [2023/12/13(水) 19:36:37.23 ID:2g95gV8C.net] >>366 ,367 お前認知機能障害だろ。 >twitterとかやってねーしお前が誰かとか知らねーから >お前の妄想だけで嘘八百書くからbanされたんだろ 数分で記憶が無くなってるぞ。それにqiitaでbanされていないぞ。何言ってんだ? ダイナミック・スコープなんてLispでしか聞いたことない。Funarg問題とかで問題になるやつだろ。 Common Lisp, Schemeでレキシカル・スコープ実装してそれから普及したという認識で、 スコープがはっきり意識されるようになったのはそこからだったはずだが。 Algolは確かにレキシカル・スコープ実装しようとしたが占有修飾子ownの扱いで仕様にあいまいさがあって スコープまわりは確か不完全なんじゃなかったか?結局staticなメモリ割り付けをすることになると決着して C言語に継承されたらしいが。 >当然それを念頭において構造化プログラミングに関する論文をかいている ほうそれは知らんかった。後学のために論文名を教えてもらえないかね。 >>370 Simulaの時点で疑似的なマルチスレッド。 オブジェクトを呼び出してもそのプロセスが消滅しないという特徴がポイント。
382 名前:デフォルトの名無しさん mailto:sage [2023/12/13(水) 19:45:57.78 ID:rYdFb4gI.net] 次回作はSmalltalkやC++で疑似マルチスレッド性がクラスから消滅した理由を書いてください!
383 名前:デフォルトの名無しさん [2023/12/13(水) 19:47:13.87 ID:2g95gV8C.net] 上の話によれば変数環境のモデルがAlgolの時代にすでにあったらしい。それは知らなかった。ぜひその論文を教えて欲しい。
384 名前:デフォルトの名無しさん mailto:sage [2023/12/13(水) 20:18:16.44 ID:rYdFb4gI.net] C++のクラスは疑似マルチスレッド
385 名前:とかないので、2つのプログラムを合体させようと思ったときにむっちゃ困るわー [] [ここ壊れてます]
386 名前:デフォルトの名無しさん mailto:sage [2023/12/13(水) 22:35:36.95 ID:AT19Cx9r.net] 真性なやつってここまでヤバいのかよ こえーな
387 名前:デフォルトの名無しさん mailto:sage [2023/12/14(木) 00:08:32.08 ID:AgoftYrM.net] 友人がPythonでクラスを使うのを頑なに拒んでいたが、時代の先端を行っていたのか…
388 名前:デフォルトの名無しさん mailto:sage [2023/12/14(木) 00:39:36.75 ID:9fP1iZpn.net] 陽性臭い粘着。
389 名前:デフォルトの名無しさん mailto:sage [2023/12/14(木) 00:41:39.27 ID:5+QFFRl5.net] pythonはシェルスクリプトやるよりはマシなんだよなあ
390 名前:デフォルトの名無しさん mailto:sage [2023/12/14(木) 02:37:41.65 ID:aBZ2Af/o.net] >>376 GoやRustなど最近の言語はクラスを廃止した言語が多いね
391 名前:デフォルトの名無しさん mailto:sage [2023/12/14(木) 03:22:53.79 ID:uZgQrb0f.net] まじでやばいやつだった https://mevius.5ch.net/test/read.cgi/tech/1534260508/357 357 デフォルトの名無しさん 2019/01/22(火) 23:18:43.63 ID:b9p++nKt 上で荒らし行為を行っていた I.hidekazu が降臨! https://ja.wikipedia.org/wiki/%E5%88%A9%E7%94%A8%E8%80%85%E2%80%90%E4%BC%9A%E8%A9%B1:Monadaisuki#%E6%A7%8B%E9%80%A0%E5%8C%96%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%AE%E8%A8%98%E4%BA%8B%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6 >あれは私がコツコツと毎週末に図書館に通ったりして見つけた文献やネット古書店で集めた古書、 >国立国会図書館で複写した文献など(総額費用数十万円)を自分の余暇や日中の仕事時間の合間 >に考えに考えてまとめた内容を、インターネットに接続できる人なら誰でも閲覧できるネット百科 >事典のWikipediaの記事として無料で図まで含めて作成した記事だったんです。 こいつアホすぎるわ。 構造化定理と構造化プログラミングの区別もできないくせに数十万円使って調査ってバカ丸出し。 金かけても内容がクソなら意味ないだろうに。 358 デフォルトの名無しさん 2019/01/22(火) 23:49:00.65 ID:Mi5mcpEM >>357 その人、かなりおかしいというかキティなのかねえ? ここを読んでいたら目眩がしてくるよ Wikipedia:管理者への立候補/i.hidekazu/20141215 https://ja.wikipedia.org/wiki/Wikipedia:%E7%AE%A1%E7%90%86%E8%80%85%E3%81%B8%E3%81%AE%E7%AB%8B%E5%80%99%E8%A3%9C/i.hidekazu/20141215 >結果 >賛成 2 票、反対 13 票、無効票なし。ガイドラインに基づき、今回は見送りとなります。 こんな人が管理者になったらやばすぎる
392 名前:デフォルトの名無しさん mailto:sage [2023/12/14(木) 19:23:24.46 ID:AgoftYrM.net] 現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング https://zenn.dev/mizchi/articles/oop-think-modern >いいたいのは、 状態コンテナとしての class とメンバーが >不必要な副作用を生み出す割れ窓になっていて、 >副作用を持つメンバや関数というのは例外的な事項として扱うべきである、ということ。 >class をまったく書くべきではないという話ではなく、 >class は例外的な状態コンテナであるということ。
393 名前:デフォルトの名無しさん mailto:sage [2023/12/14(木) 19:56:10.01 ID:9fP1iZpn.net] 3時まで返事待ってる上にキレるメンヘラとは会話できんねー。 会話できる見込みあれば会話しようかと思ったけどこれは無理だわー。
394 名前:デフォルトの名無しさん mailto:sage [2023/12/15(金) 06:19:47.87 ID:kFr0jE+D.net] >>381 ほんとクソ記事だな 間違ったこと最もらしく書き散らかして
395 名前:悦に入ってるポエマー気質が気持ち悪過ぎる [] [ここ壊れてます]
396 名前:デフォルトの名無しさん mailto:sage [2023/12/15(金) 19:50:24.69 ID:ztNZIvu0.net] 結局、ALGOLのこと分かってないのがバレて逃げたんかな もっとエンターテイメントを提供してくれよ
397 名前:デフォルトの名無しさん mailto:sage [2023/12/15(金) 22:07:40.22 ID:U7VcmAWm.net] 同じクソ記事でも >>352 はハイファンタジー >>381 はノンフィクションに見せかけたフィクション
398 名前:デフォルトの名無しさん [2023/12/15(金) 23:39:16.65 ID:WfAwrcm4.net] ホント草生える
399 名前:デフォルトの名無しさん mailto:sage [2023/12/17(日) 22:27:46.28 ID:ne4gXust.net] 倫理的には問題ないと思うが もし生理的に無理だとしたら 倫理より生理的な縛りのほうが自由を制限していることの証左
400 名前:デフォルトの名無しさん mailto:sage [2023/12/18(月) 18:39:25.59 ID:kd6i94z5.net] 割れ窓って何
401 名前:デフォルトの名無しさん mailto:sage [2023/12/18(月) 21:37:35.75 ID:SGakcaDT.net] >>388 「割れ窓理論」でググれ
402 名前:デフォルトの名無しさん mailto:sage [2023/12/18(月) 23:30:23.48 ID:6hD73gHu.net] ニューヨーク市長の政策とクラスに何の関連があるんだ 説明下手糞が
403 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 00:04:12.97 ID:Al/MhlSQ.net] 割れ窓理論には対になる六角ボルト理論というものがあってだな、六角ボルトを回す工具はきれいな六角形をしていたら六角ボルトがすり減ったときに噛み合わなくなって空回りするんだよ、六角形を崩してあえて遊びを設けておくことできれいな六角ボルトもすり減った六角ボルトも回せるようになる これはオブシコも全く同じ、あえてオブシコをすこし崩すことでプログラムコードは柔軟になる
404 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 00:34:39.48 ID:83kWlVWw.net] NYとOOPの、風が吹けば桶屋が儲かる的な関係は 法則を崩すのではなく法則に厳密に従ってもカオスになるんじゃないか
405 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 00:40:47.93 ID:ZSC21G8k.net] エンタメ記事を放置して置くと増殖するから楽しみが増えるってことだろ
406 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 00:48:07.95 ID:e3H+V2ef.net] フロント設計の場面でもオブジェクト指向はオワコンなの?
407 名前:デフォルトの名無しさん [2023/12/19(火) 10:04:58.31 ID:KoTx3gw2.net] 設計なんて後からどんどん崩れて行くんだから 最初は完璧だと思うくらいまでしっかり作らなきゃ すぐに破綻するだろ
408 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 10:36:55.55 ID:2Ijw7l5J.net] >>394 フロントはオブジェクト指向の独壇場だろなにいってんの
409 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 11:23:36.08 ID:Bf+joAVN.net] フロントってなにを指すんだろ
410 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 11:29:15.97 ID:bVveWhLR.net] さあ?
411 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 12:24:42.82 ID:4wLlcIHm.net] Webアプリのフロントエンドという文脈ではオブジェクト指向は今や大事にされていないんじゃないか?Reactみたいなのが流行ってるんだし。 結局状態の複雑性はブラウザのdomやcssに丸投げしてるだけだとは感じるが。 GUIにおけるオブジェクト指向は今なお大事なんじゃない?
412 名前:デフォルトの名無しさん [2023/12/19(火) 17:05:45.10 ID:efxaZtVJ.net] GUIのオプション指向、昔作って流行ってしまった資産があるから捨てられないだけってわけじゃないんですかね 今もなにか本質的に重要なことがあるのか?
413 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 17:07:30.20 ID:H2GIal9X.net] >>400 テストがしやすいとかあるじゃん オブジェクト指向のせいで開発に支障が出ることないし
414 名前:デフォルトの名無しさん [2023/12/19(火) 17:17:18.80 ID:efxaZtVJ.net] >>401 それはCやアセンブラと比べた時の話? Cやアセンブラと比べて新しい言語がテストしやすいのはそれはそう だからCやアセンブラやパンチカードと比べて過去に流行ったわけだし
415 名前:デフォルトの名無しさん [2023/12/19(火) 17:19:29.23 ID:BDyDehIu.net] 何千とある似た様な画面のコードを継承と少しの個別コードだけ書けば済むんだからやめられない
416 名前:デフォルトの名無しさん [2023/12/19(火) 17:20:56.90 ID:efxaZtVJ.net] それはオブジェクト指向に限らず現代的な言語なら大体そうな気がする Cやアセンブラと比べてコードの使い回しが効くのはそれはそう
417 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 19:35:19.07 ID:wgVcYH4r.net] >>404 おまえの言ってる「オブジェクト指向」は「オブジェクト指向言語」だ 部品を構成してプログラムを組んでいく「オブジェクト指向」はC言語や用語自身が作られる以前からある
418 名前:デフォルトの名無しさん [2023/12/19(火) 19:48:55.04 ID:mrSFrPG8.net] >>405 「オブジェクト指向」じゃなくて「オブジェクト指向言語」の利点を語り出したのは>>401 や>>403 なんだよな 俺はもちろんオブジェクト指向の話をして欲しかったのだが、誰もその話をしてくれなかったのだ
419 名前:デフォルトの名無しさん [2023/12/19(火) 19:52:19.99 ID:KoTx3gw2.net] あら? 継承は言語仕様じゃ無いくても作れるよ? アセンブラだってC言語だって、関数も変数もテーブル形式にしてオフセット追加するとかだから
420 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 21:09:35.13 ID:kQgQbwMI.net] 似たようなユーザインターフェースを作るようなプロダクトならオブジェクト指向のが便利 継承やらポリモーフィズムやらが重要になるから 関数型はざっくりに言うと考えたコードをフローチャートのようにそのままコードにしていくっていう考え方でしょ? そもそもプロダクトによってどちらを採用するかが違うじゃん
421 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 21:16:29.72 ID:kQgQbwMI.net] オブジェクト指向だとスパゲティコードになるだぁ? 定期的にリファクタリング点検をすれば問題なしだよ
422 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 21:28:51.74 ID:L4Ln++vQ.net] >>396 Webフロント最有力のReact.jsだと 昔はクラスコンポーネントベースだったけど 使いにくいのとクラス継承使うなと言っても使っちゃうバカが出てきたり問題も多く 今は関数コンポーネントベースとなった
423 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 21:54:53.91 ID:kQgQbwMI.net] まあ継承、ポリモーフィズムといっても例えばMVVMでのレポジトリ周りに適用されるものでUI部品は関数型になると思うけどね Java/C#民なので悪しからず
424 名前:デフォルトの名無しさん mailto:sage [2023/12/19(火) 21:56:09.02 ID:kQgQbwMI.net] ん?UI部品は関数型でもないのかな?うーん
425 名前:デフォルトの名無しさん [2023/12/19(火) 21:59:53.48 ID:a+uEBCbM.net] >>396 どこからどこまでのフロントかで話が180度違ってくるから、そういう言い方はやめてくれ
426 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 09:50:15.13 ID:pahpwa3/.net] UPLIFT プレミアム・サービスのお知らせ https://uplift.5ch.net/ UPLIFT 主な特典 ・連続投稿の規制を緩和します。 ・スレッド作成時の規制を緩和します。 ・5ch.netのスレッド表示画面に表示される広告を除去します。 ・5ch.net専用ブラウザで5ch.netの過去ログを閲覧できるようになります。 ・海外からのアクセス・ホスト経由からでも書き込みができるようになります。 ・書き込みが規制されているプロバイダーからでも書き込みができるようになります。 ・5ch.netを安定して利用できるように運営を支援できます。 5ちゃんねるを存続させるためには、皆様のご協力が必要です。 最後まで御精読いただきありがとうございました。
427 名前:デフォルトの名無しさん [2023/12/20(水) 13:51:42.89 ID:YNewQeAW.net] >>410 reactが勝手に禁止したところでそんなの知らんがなw そもそもただのお気持ち表明しただけで禁止じゃないだろ
428 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 15:24:19.54 ID:oM2Zim4Y.net] >>400 メモリ使用量、速度、生産性、保守性
429 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 16:36:11.78 ID:vKsSDJbu.net] そもそもオブジェクトを使わない言語なんてあんの? ミュータブルの代わりにイミュータブル使った方がいいよっていうだけの話を誤解してるやついね?
430 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 17:29:53.84 ID:H2lBJqld.net] それはオブジェクトの定義次第
431 名前:やろな 例えば構造体はオブジェクトなのか? [] [ここ壊れてます]
432 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 18:28:16.51 ID:vKsSDJbu.net] C++だとオブジェクトだな Cでも頑張ればオブジェクトと言えなくもない
433 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 20:39:52.93 ID:hotZogo7.net] であればオブジェクト指向の話とは関係ないね
434 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 22:48:43.78 ID:vKsSDJbu.net] C++がオブジェクト指向言語でなきゃどれがそうなんだ
435 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 23:08:05.65 ID:fJBcC8n0.net] 狭義のオブジェクト指向はクラスを持つこととはっきりしている クラスと他との違いはあるクラスを引き継いで他のクラスを作る継承機能があること このクラス継承は現在ではできる限り使わないようにするべき派が多数派 そのためモダンなプログラミング言語はクラスとその継承を排除した言語が多数派
436 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 23:12:07.98 ID:fyzBoqIW.net] 多数派?
437 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 23:30:01.43 ID:H2lBJqld.net] >>422 >狭義のオブジェクト指向はクラスを持つこととはっきりしている ソースを出してくれ
438 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 23:38:59.80 ID:tFUhhQmv.net] そもそも継承はお前ら土方が使うものじゃなくてライブラリ作成者が使うものだよ 「継承を使うな」と言われた意味を都合よく解釈してるんじゃね?
439 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 23:48:26.27 ID:rp6WFplc.net] 複オジ主張が後退してるね 間違いを自覚したのかな
440 名前:デフォルトの名無しさん mailto:sage [2023/12/20(水) 23:54:51.31 ID:tFUhhQmv.net] >>426 どれのことを言ってるのかわからんが何か刺さったか?
441 名前:デフォルトの名無しさん [2023/12/20(水) 23:57:46.44 ID:F0QZkHoi.net] 土方が作るプログラムとライブラリの違いは何かね? ビルドしたらライブラリになるでしょうが
442 名前:デフォルトの名無しさん [2023/12/21(木) 00:01:00.80 ID:D/j4Xq8a.net] C++は昔からマルチパラダイム言語って呼ばれてた オブシコと言ったらJavaでしょ, Javaは関数型の方に舵を切ってるけどね オブシコではキャストを使うのは邪道中の邪道と言われてキャストが必要な プログラムは設計が間違ってるなんて言われてたけど最近だと パターンマッチでキャストこそが正義みたいになってるからねー
443 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 00:01:02.87 ID:D9fKXi+4.net] ビ、ビルドしたらライブラリになるぅ?
444 名前:デフォルトの名無しさん [2023/12/21(木) 00:02:05.69 ID:D/j4Xq8a.net] なりますよ、jarが出来ます jarっていうのはJavaのライブラリです
445 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 00:10:43.28 ID:ruORstUY.net] >>431 jarはアーカイブフォーマット jarにしたらライブラリになるわけじゃない JavaアプリケーションとJavaライブラリの違いを勉強してね
446 名前:デフォルトの名無しさん [2023/12/21(木) 00:14:44.62 ID:D/j4Xq8a.net] >>432 Javaのライブラリはjarで提供されます ライブラリじゃないjarなんてこの世に存在しません
447 名前:デフォルトの名無しさん [2023/12/21(木) 00:15:30.52 ID:D/j4Xq8a.net] JavaアプリケーションなんてものはMainのライブラリを呼び出してるだけ
448 名前:デフォルトの名無しさん [2023/12/21(木) 00:20:05.36 ID:D/j4Xq8a.net] 実行ファイルなんてものはライブラリの利用形態の一つでしかない プログラムはビルドしたらライブラリです
449 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 00:30:51.67 ID:dbRmDvt3.net] java -jar ってオプションが最近のjavaにはあるんですよ
450 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 00:31:09.09 ID:jQLs5FBm.net] また新たなトンデモ人を召喚しやがって 面白いなこのスレw
451 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 00:34:09.31 ID:kKmzSZ/K.net] >>425 ライブラリというよりフレームワークじゃないかね? ベースクラス提供するんで継承で拡張して使ってねっていう
452 名前:デフォルトの名無しさん [2023/12/21(木) 00:35:17.42 ID:D/j4Xq8a.net] >>436 それは「-cp ライブラリ メインクラス」のシンタクスシュガーであることはご存知でいらっしゃいますよね 違いますか? 僕がなにか間違ってますか?(間違ってない)
453 名前:デフォルトの名無しさん [2023/12/21(木) 00:38:14.36 ID:D/j4Xq8a.net] ライブラリの話はもう良いじゃないですか、もうやめましょう、二度としないでください不愉快です
454 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 00:38:58.38 ID:dbRmDvt3.net] >>439 マニフェストからmainのクラス名を読むからただのシンタックスシュガーじゃないぞ
455 名前:デフォルトの名無しさん [2023/12/21(木) 00:48:13.97 ID:D/j4Xq8a.net] >>441 あ、アライグマだ! 違うあれはツキノワグマだ!と言ってるようなもので そこを詳しく言われても僕はどうしたら良いんでしょうかというのがいまの僕の心境です どっちもクマじゃん…そんなこまかい種別にこだわられても僕はなんて返したら良いんでしょうか
456 名前:デフォルトの名無しさん [2023/12/21(木) 00:49:07.49 ID:D/j4Xq8a.net] もうライブラリの話は良いでしょう、お腹いっぱいです
457 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 00:51:04.90 ID:dbRmDvt3.net] >>442 違いが気にならないなら存在するもの全部ライブラリでいいと思うよ
458 名前:デフォルトの名無しさん [2023/12/21(木) 00:51:26.35 ID:tfNR2qJn.net] アライグマとツキノワグマはだいぶ違うが クマアンチか?
459 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 00:54:23.79 ID:kKmzSZ/K.net] アライグマはクマじゃない件
460 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 01:01:03.29 ID:dbRmDvt3.net] アライグマもクマのように歩いて、クマのように鳴くかもしれん
461 名前:デフォルトの名無しさん [2023/12/21(木) 01:08:02.87 ID:D/j4Xq8a.net] 継承はあれば便利だけどなくてもなんとかなるかな オブシコにとって必須なものではないように思う 属性と操作をまとめることこそがオブシコにとって唯一欠かせない性質だ オブシコが多くの人を引き付ける理由は人間に近いからだと最近思うようになった 人間は意識という属性を持ち自律して動作する操作を持つ 人間はロボットを作るときにも人間の姿に似せた形にするように 自分に近いものに安心感を覚えてそれを求める本能があるんだろう その根幹にあるのは慣れだと思う 自分が知っていること慣れていることに近づけることによって危険じゃないことを知って 安心するんだと思う そのように考えるとオブジェクトは人間にとって慣れたものであるがゆえに 正しいものであるかのようなバイアスを与えるんだと思いました、おやすみなさい
462 名前:デフォルトの名無しさん [2023/12/21(木) 01:13:23.81 ID:nuVfr4Ro.net] アライグマとツキノワグマはJavaScriptとJavaくらい違う
463 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 01:56:35.61 ID:pJCDDNo9.net] 土方がライブラリを作らないと思ってるやつがアライグマ級だとすれば 何でもjarにすればライブラリだと思ってるやつはミノタウロス級 そのぐらい違う
464 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 02:24:01.88 ID:e+F4JTTf.net] ライブラリはほとんどの場合で静的動的リンクライブラリのことを指すはずだけど、jarがライブラリって言ってる人は単にバイナリであるって主張してるのかな メインクラスを持つ場合もリンクライブラリである場合でも拡張子が同じ.jarで分かりにくいから仕方ないね
465 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 04:03:02.26 ID:bObiKTRM.net] 特殊なスタブなど経由しなくても他から呼び出し可能かどうかでは? JVMの世界ではそうなんだから一般化して話をややこしくする必要はない
466 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 07:43:22.24 ID:RCdGCWyT.net] オブジェクト指向とか、 データとプロセスを個別に扱わずに、双方を一体化したオブジェクトを基礎要素にし、メッセージと形容されるオブジェクト間の相互作用を重視して、ソフトウェア全体を構築しようとする考え方がオブジェクト指向である。 ぐらいの意味だろ。
467 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 08:50:09.44 ID:SzXsi8HM.net] 元々オブジェクト指向という言葉ができた当時のプログラミングでオブジェクトというのは「プログラムで扱えるデータ構造」のことだよ 具体的には引数や戻り値として使えるのがオブジェクト 「第一級オブジェクト」を調べてみなよ 手続き指向は手続き中心にプログラミングしてたけどオブジェクト指向はデータ中心にプログラミングする 手続きはデータを扱う主人ではなくデータに付随する従者 それだけのこと 継承はそこから派生した副産物であって本質ではないよ
468 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 08:53:06.46 ID:SzXsi8HM.net] あとお前らずっと間違えてるけど関数型とオブジェクト指向は相反するものじゃないぞ Hskellだってオブジェクトを使う お前らはミュータブルとイミュータブルの話を関数型とオブジェクト指向の話だと思ってるから話が通じねんだよ そもそもモダンなプログラミング言語はみんなマルチパラダイムだ
469 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 09:01:41.86 ID:SzXsi8HM.net] 食肉目クマ科クマ属ツキノワグマ 食肉目アライグマ科アライグマ属アライグマ 食肉目までしか合ってないのにこれの区別がつかないやつはどうかしてる イヌ科やネコ科も食肉目だがこれら全部区別つかないのかよ 全部「ワンワン」で許されるのは3歳までだぞ
470 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 09:18:57.83 ID:lsX079Kc.net] ほらな 「オブジェクト」を使ってればオブジェクト指向だと言い出すやつに話が通じるわけがない ハンマーしか知らないから全部釘に見えるパターン
471 名前:デフォルトの名無しさん [2023/12/21(木) 09:19:14.99 ID:D/j4Xq8a.net] >>454 調べてみたけど 第一級オブジェクト https://ja.wikipedia.org/wiki/%E7%AC%AC%E4%B8%80%E7%B4%9A%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88 > ここで「オブジェクト」とは広く対象物・客体を意味し、必ずしもオブジェクト指向プログラミングにおけるオブジェクトを意味しない。 これオブシコのオブジェクトとは別人のようですよ 名前が同じだからといって同一人物とは限らないんですよ
472 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 09:27:36.96 ID:OEmkIdIG.net] >>453 データとそのデータを扱うための関数群を「モジュール」という単位にまとめて、モジュールを基礎要素としつつモジュール間の相互作用によってソフトウェア全体を構築したら、オブジェクト指向なのか? import Foo … Foo.doSomething(message)
473 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 09:50:14.13 ID:QntBsg/Q.net] 関数型とオブジェクト指向は対立するものじゃなくて共存するものなんだよね
474 名前:デフォルトの名無しさん [2023/12/21(木) 09:52:20.95 ID:1sVavbR7.net] >>459 Objective-Cとかが真のオブジェクト指向 独立したオブジェクト間をメッセージで繋げる インスタンスと言う名のアドレス参照でコールするのは まだまだナンチャッテの界隈
475 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 10:51:21.35 ID:P62Wf5t1.net] ゴールポスト動かし続けるやつばっかり > ハンマーしか知らないから全部釘に見えるパターン 結局コレだから議論が成立しない 頑張れば全部釘に見えるし頑張れば全部釘ではない何かに見える
476 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 11:14:19.53 ID:+DVrG7pm.net] >>458 それ今の話だろ? 454は当時の話をしてね? 用語の流用で意味が変わることなんていくらでもあるだろ
477 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 11:26:48.51 ID:RCdGCWyT.net] >>462 みんなバラバラのゴールの話をしているから、ゴールが動いているように見えるだけだろ。 >>459 手法としてはそうじゃない? 言語としてのサポートがあるかどうか(エラーを出すとか)は別の話。
478 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 17:48:08.56 ID:dbRmDvt3.net] i.hidekazuみたいな感じがする こんなとこで油売ってないで新作書いてよ
479 名前:デフォルトの名無しさん [2023/12/21(木) 17:52:07.83 ID:NW/WZrsd.net] >>425 と土方が申しております
480 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 18:11:39.54 ID:vQF/rv5k.net] >>465 「異世界ビルドの何でもライブラリアン」 〜 ハズレスキル『瓶詰め』で今日も自意識無双中w 〜
481 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 18:58:25.48 ID:2eN7mUZl.net] Oops!をもじって適当に作られた昔の言葉なのに変な宗教になってる人がいるな 仕事でこれはオブジェクト指向じゃないからだめとか逆にオブジェクト指向になってるからだめって言うのがいたらキチガイだわ
482 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 19:21:10.76 ID:dbRmDvt3.net] メモリ領域を表すオブジェクトとオブジェクト指向のオブジェクトは違うものやろ 英語は日本語と違って普通の名詞を専門用語に割り当てるからかぶってるだけ それよりも、メソッド呼び出しかメッセージかなんて同じ機能に対して各言語設計者がお気持ちで別の用語を割り当てただけなんだから、メッセージじゃないと真のオブジェクト指向じゃないなんちゃってオブジェクト指向みたいな話は時間の無駄
483 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 19:40:03.19 ID:sbDglskQ.net] 効いてて草
484 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 20:43:25.36 ID:YYpWiWf0.net] オブジェクトにプロパティがいっぱい生えてるのが気持ちいいんやろな そうやってデータのまとまりとして見てて 構造体的にアクセスするのが気持ちいいんやろな インタフェースをじっくり吟
485 名前:味して 内部構造を隠したり 想像しにくくしたり 想像させたりしないのがホントは好ましいんだろうけど [] [ここ壊れてます]
486 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 21:13:06.66 ID:4/eLm8Ov.net] オブジェクト指向は大したない物にいちいち横文字作り過ぎてて草 関数呼び出しをメソッドとか草 プロパティとか寒いわー草も凍る
487 名前:デフォルトの名無しさん [2023/12/21(木) 21:18:29.16 ID:1sVavbR7.net] >>472 冬季オリンピックの開催地が変わる毎にスキー用語が変わるみたいなもんだろ
488 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 21:26:55.87 ID:YYpWiWf0.net] 構造体的に とりあえずいっぱい乗っけたものを 色んな所に持ち回ってなんとかする ってのがズボラ志向とフィットするんやろな プロパティは好ましいと思ってるんだろうし 言語でサポートされてるC#が素晴らしいということになるんだろうな
489 名前:デフォルトの名無しさん [2023/12/21(木) 21:30:32.59 ID:1sVavbR7.net] プロパティは副作用あるから使わない方がいいよ 特にプロパティ内に処理を書いちゃう奴
490 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 21:48:17.79 ID:sbDglskQ.net] まだミュータブルとイミュータブルの区別がついてないの草
491 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 22:21:26.31 ID:147F0tGK.net] オブジェクト指向という用語をオレオレ定義で使うのは別にいいんだけど その定義におけるオブジェクト指向とオブジェクト指向でないものの境界線くらいは最低限明確にしろよな じゃなければ誰かさんと同じファンタジーポエムと同じだぞ
492 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 23:13:54.99 ID:Yx4eEwEY.net] (例えば継承とコンポジションの) 境界線がなくても困らないのが非OO 境界線がなければ大変なことになると思ってるのがOO
493 名前:デフォルトの名無しさん mailto:sage [2023/12/21(木) 23:58:44.84 ID:4/eLm8Ov.net] >OO うんこかな? キモすぎー
494 名前:デフォルトの名無しさん mailto:sage [2023/12/22(金) 00:43:05.42 ID:wIFqxIkx.net] >>478 ファンタジーポエマーオジ乙
495 名前:デフォルトの名無しさん mailto:sage [2023/12/22(金) 01:41:01.22 ID:RkwYtE6a.net] >>464 i.hidekazuくんさあ上のほうで質問されてるんだから答えてあげようよ 自分も答が気になるんよ 373 デフォルトの名無しさん 2023/12/13(水) 19:47:13.87 ID:2g95gV8C 上の話によれば変数環境のモデルがAlgolの時代にすでにあったらしい。それは知らなかった。ぜひその論文を教えて欲しい。
496 名前:デフォルトの名無しさん mailto:sage [2023/12/22(金) 07:19:35.92 ID:+2VWEuDs.net] >>481 誰だよ。i.hidekazuて。
497 名前:デフォルトの名無しさん mailto:sage [2023/12/22(金) 21:21:11.90 ID:4m2AcVDn.net] 技術系ハイファンタジー記事の人じゃないの? 知らんけど
498 名前:デフォルトの名無しさん mailto:sage [2023/12/22(金) 21:48:42.46 ID:warq9eGH.net] ファンタジーというか無駄な情報をなくすには 勝手に編集するか、情報源を探し出し説き伏せる 普通に考えれば前者が合理的
499 名前:デフォルトの名無しさん mailto:sage [2023/12/22(金) 22:12:16.69 ID:2CQplv4e.net] エンタメ記事を勝手に編集? 説き伏せる?? さすがエンタメ供給側の人は言う事が一味も二味も違うなぁ
500 名前:デフォルトの名無しさん mailto:sage [2023/12/22(金) 23:07:22.94 ID:gCgvJEWy.net] エンタメ記事のやつJavaScriptスレに出没してたぞ このスレで書いてたのと同じ妄想を書いてるからすぐわかる
501 名前:デフォルトの名無しさん [2023/12/28(木) 22:23:09.59 ID:KJfAJ10m.net] ところで「チンポがシコシコする」という日本語表現は、文法的に正しいのか? チンボ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。 オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、 全体(俺)と部分(チンボ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体 が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。 例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。 違うか? 「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
502 名前:デフォルトの名無しさん [2023/12/28(木) 22:27:15.00 ID:KJfAJ10m.net] メッセージングを基礎単位として取ることは、より徹底的な遅延束縛を可能にする。というのも、 メッセージそれ自体は意味を持たず、実際にメッセージがオブジェクトに送信されてはじめて、意味が決まるからである。 https://qiita.com/ukyo-su/items/8c861f114809a96d1378 オシッコを出したり止めたりというのは、チンポから力を抜いたりチンポに力を入れたりと、 オシッコはオシッコそれ自体は意味を持たず、オシッコが尿道を介してチンポに送られることによって、 オシッコを出したり止めたりが可能になるということだ。 >ナンチャッテメッセージングスタイルになったのは チンポ.オシッコを出す チンポ.オシッコを止める さっきトイレでやってきた。 >単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを >ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。 × 俺.オシッコを止める 俺.オシッコを出す ○ 俺.チンポに力を入れる 俺.チンポから力を抜く
503 名前:デフォルトの名無しさん mailto:sage [2023/12/28(木) 22:35:08.65 ID:oDa8MHcl.net] 擬似的なマルチスレッドの観点も入れて差し上げろ
504 名前:デフォルトの名無しさん [2024/01/05(金) 12:57:58.68 ID:UIDPDbad.net] 随意筋 不随意筋 ↖ ↗ チンポ 自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
505 名前:デフォルトの名無しさん [2024/01/06(土) 09:06:18.77 ID:sw3iD0at.net] ちんぽをシコシコするというのは主体が別に存在する(おそらく右手であろう) しかし、ちんぼがシコシコするというのはちんぽさんが主体となって別の輪状、もしくは固定された箇所に向かって 往復運動をすることを言う そしてそれはシコシコと形容される範囲内におけるような物体や部位である必要がある つまり、日本語でいうところのチンポがシコシコするというのは文法上は正しい しかしである ちんぽは主語になってよいものかという問題が残る ちんぽは思考できるのか、主体的な存在であるのかという疑問んである 我々はちんぽを自由自在に動かす事はできない 「勃つんだ!ジョー!!」などと呼びかけた人もいるであろう ちんぽは人の付属物であると同時に1本の主体的な存在でもある 思考や意識といったものはないかもしれないし他動的な刺激により、また体調により変化を兆す。 つまり、チンポがシコシコするというのはチンポが主体的な存在かどうかが問われているのであり 勃起に至る過程からそれはまさに肯定されるべきなのである
506 名前:デフォルトの名無しさん [2024/01/06(土) 10:24:21.41 ID:Zs30euLJ.net] >>489 スレッドはメインルーチンとは独立して動くが、これはチンポが本体とは独立して勃起するのと同じ。
507 名前:デフォルトの名無しさん [2024/01/06(土) 17:20:18.38 ID:ZkRpwYXP.net] 名前違うだけで中身空っぽ(追加属性や関数のない)クラスを基底から何種類も継承する意味ってあるのか? 同じ使い方出来るなら使いまわせばいいのでは?
508 名前:デフォルトの名無しさん [2024/01/06(土) 17:29:52.71 ID:Zs30euLJ.net] >>493 チンコってのは大統領権限でもどうにもならない、独立した別チン格で勃起したり射精したりするからな class チンポ extends クリントン{ super.不適切な関係; } つまりクリントンの再定義、クリントンの拡張された別チン格ということ 大統領権限では動かせない別チン格だから、 勃起や射精については「別チン格」として、実装をふくまない抽象クラス(Abstract)にね
509 名前:デフォルトの名無しさん mailto:sage [2024/01/06(土) 17:46:00.75 ID:u2dZhvVl.net] >>493 分類に使える 基底クラスにenum持たせるだけでいい場合もあるけど enumの代わりにクラス名使うと階層化できるしデータも積める
510 名前:デフォルトの名無しさん mailto:sage [2024/01/07(日) 12:58:47.56 ID:LrLpR0DW.net] (経営者目線で...) 土方コード→一回の動作にかかる費用は数万〜数億 ライブラリコード→一回の動作にかかる費用は数マイクロ円 みな土方やりたがるわけだ....
511 名前:デフォルトの名無しさん [2024/01/11(木) 12:55:45.21 ID:IFnDPD7q.net] >>496 おまえ生まれてから今までずっと 何言うてんねん
512 名前:デフォルトの名無しさん mailto:sage [2024/01/11(木) 14:24:57.98 ID:xTl7LgXw.net] ・経営者目線(IT企業?ユーザー企業?) ・土方コード(何の?)とライブラリコード(何の?)の比較 ・それぞれの1動作当たりの費用(どんな計算?) ・結論土方やりたがる(使う側?使われる側?) 支離滅裂でほぼ暗号
513 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 02:21:05.65 ID:s4Zaxjoc.net] >>454 大型コンピュータ同士がネットワーク化されて単一のプロセスがひとつのマシン内で完結して動いてるという状況が壊れてきて 「あっちのマシンで動いてるプログラムとこっちのマシンで動いてるプログラムの同期がまったく取れない」って未来が見えてきた時点で 要するにプログラムモジュールの単位を切ってそこにコマンドを送って「これこれこういう処理を頼む」って形にしないと人間がコントロールできなくなる。 コマンドも処理A、処理B、処理Cじゃプログラムする“人間側が”わからなくなるから、なにをさせるのか平易なわかりやすい言葉にする。 ってすげぇわかりやすい前提でオブジェクト指向は組み立てられたんだけど、その後のマイクロコンピュータの発達で 「オブジェクトなんとか?いやこの機械の中でやってることすべて把握してるのがウィザード級ハッカーって奴だろ?www」に退化しちゃって パソコン用言語がすぐに「素人にはわからない記号を多用して人間のタイプ数や数バイトを節約するんだ!デバグ性が上がるけど遅くなる言語仕様は不要!」って わけのわからないプログラマ文化に毒され続けて、まあその流れが現代まで汚染されたまま残ってるというか。 要するに「ロボットに命令して仕事してもらう感じにしよう!」ってだけで、ロボットのコピー改造も、あのバカが連呼してる関数と命令は同じだろも 大暴投すぎて本質になんにもかすってないという。
514 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 02:39:13.03 ID:G4fb1XpU.net] >>499 意味不明
515 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 04:34:51.39 ID:aBZsm30e.net] え、わかるが 日本語表現が拙いのもわかる
516 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 05:07:42.32 ID:G4fb1XpU.net] >>501 ちょっと代わりに説明してくれんか?
517 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 07:12:42.40 ID:4Gso+Yap.net] ハ,,ハ ハ,,ハ ( ゚ω゚ )゚ω゚ ) おとこわりします / \ \ おとこわりします ((⊂ ) ノ\つノ\つ)) (_⌒ヽ ⌒ヽ ヽ ヘ } ヘ } ε≡Ξ ノノ `Jノ `J
518 名前:デフォルトの名無しさん [2024/01/13(土) 10:05:37.96 ID:tr75Q/aW.net] >>499 >「あっちのマシンで動いてるプログラムとこっちのマシンで動いてるプログラムの同期がまったく取れない」って未来が見えてきた時点で スレッドがメインルーチンとは独立して動くというのは、チンポが本体とは独立して勃起するのと同じ だからといってスレッドはメインルーチンから制御を受けないわけではない オシッコを出したり止めたりする時は、本体の制御を受ける
519 名前:デフォルトの名無しさん [2024/01/13(土) 10:06:45.30 ID:tr75Q/aW.net] 委譲と継承の違いね! >>454 >継承はそこから派生した副産物であって本質ではないよ オシッコするときのチンポは委譲、勃起するときのチンポは継承 前者は本体の意思で動かされるメッセージング、後者は独立したチン格で動くポリモーフィズム 継承との違い 継承は親クラスの内容をすべて引き継ぎ、委譲は委譲元の振る舞いを一部引き継ぐ https://qiita.com/Y_M27/items/a41b2aa8b49e7c3a1a7f
520 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 12:11:14.13 ID:9s2lqRWT.net] プログラム作れずオブジェクト指向が欠片もわかってないのにオブジェクト指向というスレタイに反応してチンポ連呼するだけのキチガイ
521 名前:デフォルトの名無しさん [2024/01/13(土) 14:09:28.21 ID:9vPDsFsg.net] >>502 システムの歴史を簡単に述べる 最初にできたのは1台の大型のコンピュータで処理するシステムだ それが複数台の大型のコンピュータをネットワーク化してより複雑な処理を行うシステムへと発展した やがてコンピュータの小型化高性能化が進みかつて複数台の大型のコンピュータを必要としていた処理も1台の小型のコンピュータで処理できるようになった オブジェクト指向は複数のマシンを協調して動作させるときに管理しやすくする仕組みだ 複数台の大型のコンピュータをネットワーク化して処理を行うために考案されたが その後のコンピュータの小型化高性能化によってしだいに必要とされなくなっていった オブジェクト指向は物理的なマシンだけでなくプログラム内の計算モジュールにも適用できる有用な概念だが メモリを限界ギリギリまで節約することを美学とするプログラマ文化のせいで軽視されている 70年~80年台の話なんかね? > 要するに「ロボットに命令して仕事してもらう感じにしよう!」ってだけで、ロボットのコピー改造も、あのバカが連呼してる関数と命令は同じだろも > 大暴投すぎて本質になんにもかすってないという。 この段落は何言ってるのかわからなすぎてあきらめた
522 名前:デフォルトの名無しさん [2024/01/13(土) 14:21:25.96 ID:9vPDsFsg.net] Turbo Pascalの開発者でいまC#を作っているアンダース・ヘルスバーグは アセンブリ言語でオブジェクト指向のプログラムを書いてたって言ってるから Turbo Pascalが開発された80年代にもオブジェクト指向は役立ってたみたいだけどね いまではオブジェクト指向自体の有用性は変わっていないけれども オブジェクト指向言語と宣伝することの重要性は低くなってるかな それだけオブジェクト指向が広まった結果だから喜ぶべきことなのかもわからんね
523 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 15:00:18.57 ID:ffu8qMou.net] >>499 のようなウソを並び立てたクソ長文も >>508 なようなペラっペラな浅い知識も 何の役にも立たないという意味では全くの同類
524 名前:デフォルトの名無しさん [2024/01/13(土) 16:35:51.54 ID:tr75Q/aW.net] >>506 なら「オブジェクト指向」とは何か、誰にでもわかりやすい説明をここで出せ!
525 名前:デフォルトの名無しさん [2024/01/13(土) 16:46:15.72 ID:tr75Q/aW.net] イルカも猫も「哺乳類」には違いないが、こういうところでオブジェクト指向など使うべきでは無い! イルカはイルカ、猫は猫だ! >>456 >イヌ科やネコ科も食肉目だがこれら全部区別つかないのかよ つまり自然言語で容易に「区別」できるものは、オブジェクト指向を使う必要は無い! >クリントンの「不適切な関係」 オブジェクト指向を使うべきはココ! クリントンは同じクリントンでも、人格とチン格が別々に存在するからだ!
526 名前:デフォルトの名無しさん [2024/01/13(土) 16:56:56.17 ID:tr75Q/aW.net] チンコの随意筋と不随意筋 d.hatena.ne.jp/tottokotokoroten/20130516/1368716650 <俺> 「 部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、 それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。 」 <チンポ> 「 その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、 抵抗される人間の喜びを味わったのだ。 」 まさに独立した人格を有したチンポという、もう一人の俺がそこに現れるのである! 【藤子・F・不二雄】「みきおとミキオ」現在と未来、憧れの入れ替わり生活! https://www.google.com/amp/s/middle-edge.jp/a
527 名前:rticles/0izbO.amp [] [ここ壊れてます]
528 名前:デフォルトの名無しさん mailto:sage [2024/01/13(土) 16:59:55.05 ID:G4fb1XpU.net] >>507 日本語は通じるようになったけど、相変わらず内容は意味不明だな オブジェクト指向はネットワークより後なんだろうか?時期的にはわからんけど、ネットワークがオブジェクト指向に影響を与えたとは思えんな
529 名前:デフォルトの名無しさん [2024/01/13(土) 17:01:56.04 ID:tr75Q/aW.net] 人間に独立した人格が有るように、チンポにも独立したチン格が有る これは親クラスと子クラスの継承関係である チン格とはつまり「愚息」であり、自分にも他人にも成り得る これがオブジェクトの多態性と表現される オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋 このように時と場合によって真逆の性質を併せ持つことができる 随意筋 不随意筋 ↖ ↗ チンポ 自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
530 名前:デフォルトの名無しさん [2024/01/13(土) 17:12:40.41 ID:tr75Q/aW.net] オシッコを止めたり出したりする時、内尿道括約筋や膀胱平滑筋を意識する必要無いからな >>88 >オブジェクトの内部はブラックボックス化され、外部からはオブジェクトのインターフェイスだけを相手にすればよいので、 オシッコするときは便器とチンポだけを意識し、オシッコが便器からはみ出さないように気をつけることね 膀胱に尿を溜めているとき(蓄尿)には、交感神経が働いて、膀胱の筋肉(膀胱平滑筋)は緩みつつ、 膀胱の出口の筋肉(内尿道括約筋)はギュッと収縮して尿が外に出ないようにしています。 https://www.kissei.co.jp/urine/about_urine/about.html
531 名前:デフォルトの名無しさん [2024/01/13(土) 18:37:21.02 ID:tr75Q/aW.net] https://twitter.com/YS_GPCR/status/1746099832962605293 YS@GPCR @YS_GPCR 専門的な知見を探求し、専門家同士で通じる「わかりやすさ」をもって論文を書きセミナーする頭の良さと、一般人に「わかりやすい」物語にする頭の良さは全く別。 この二者を兼ね備えるものもいるだろうが、後者の能力だけを「頭の良さ」だと思っていると、後者だけを語る疑似科学に騙される。 (deleted an unsolicited ad)
532 名前:デフォルトの名無しさん [2024/01/13(土) 18:38:27.29 ID:tr75Q/aW.net] 『シコシコ』という擬音はどうでもよい。問題は、 自我 チンポ ↑ ↑ チンポ=自我 チンポ 自我 オブジェクト指向では、この三種類が考えられるということだ。 >チンポ=自我 散歩している時、自分もチンポも所在地は同一である。 https://i.imgur.com/4XhBmP3.jpg https://i.imgur.com/PPFJZqI.jpg 夏目くんの場合は、チンポが自我を圧倒し、体が自然に滝川さんの股間に近づいていったのだ。 『笑ってごまかすな!!』 と言われても、夏目くんは何と言えば良かったのだろう? チンポ≫自我 『チンポが自我を超えてしまった』を簡略化して、チンポがシコシコする! チンポがシコシコしていると(チンポが自我を超越していると)、息もハァハァになる。 チンポがシコシコしている(チンポが自我を超越している)と、顔もアヘ顔になる。 つまりその顔は『チンポの一部』つまりチンポの皮と同じということ。 博士号の肩書きがあっても、STAP細胞のそれは間違いであり科学者として失格。 チンポと自我の関係について、それが間違いということなら、俺も科学者を自称するのを止めよう。 しかしながらあの夏目くんは、笑ってごまかす以外に何と申し上げたら良かったのか。
533 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 14:41:51.96 ID:/fGKGWr1.net] >「あっちのマシンで動いてるプログラムとこっちのマシンで動いてるプログラムの同期がまったく取れない」 どういうこと?データベースのトランザクションはネットワーク越しにちゃんと動いてるぞ
534 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 15:16:13.43 ID:vL0h58iw.net] >>518 分散コンピューティングの話 中央集権的なDBで解決するのはあくまでひとつの手法
535 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 15:49:43.80 ID:/fGKGWr1.net] >>519 なら最初から分散コンピューティングって用語を出せば余計な説明はいらないと思う それから分散コンピューティングのためにオブジェクト指向が必要という話を 聞いたことがないんだけど、よかったらリンクを貼ってもらえないか?
536 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 15:56:58.19 ID:vL0h58iw.net] そんなのオレにいわれても
537 名前:デフォルトの名無しさん [2024/01/15(月) 15:59:31.93 ID:+Vu40G8E.net] >>520 >それから分散コンピューティングのためにオブジェクト指向が必要という話を 分散コンピューティング・システムは、数多くのベンダーから提供されるハードウェアで稼動可能で、 さまざまな 標準ベースのソフトウェア・コンポーネントを使用することができます。 このようなシステムは、 土台にあるソフトウェアから独立しています。 https://www.ibm.com/docs/ja/txseries/8.2?topic=overview-what-is-distributed-computing >このようなシステムは、 土台にあるソフトウェアから独立しています 独立性(クラス化) 独立性とは、外部のオブジェクトのデータを参照せず、自分自身の処理で完結している事です。 独立性が高いプログラムの場合、プログラムを変更しても、他のプログラムに与える影響が少なくなります。 そして外部の依存度を無くし、独立性が高い変数や振る舞いをまとめる事を、クラス化と言います。 https://www.vacslab.co.jp/object-orientation/#:~:text=%E7%8B%AC%E7%AB%8B%E6%80%A7%EF%BC%88%E3%82%AF%E3%83%A9%E3%82%B9%E5%8C%96%EF%BC%89,%E3%82%AF%E3%83%A9%E3%82%B9%E5%8C%96%E3%81%A8%E8%A8%80%E3%81%84%E3%81%BE%E3%81%99%E3%80%82
538 名前:デフォルトの名無しさん [2024/01/15(月) 16:04:30.71 ID:+Vu40G8E.net] >>506 繋がっているけれども独立しているということだが?
539 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 16:04:51.33 ID:Fcxc2DLW.net] めちゃくちゃな理解だなwww
540 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 16:15:18.12 ID:/fGKGWr1.net] >>521 言われて困るやつに横槍されても >>522 >このようなシステムは、 土台にあるソフトウェアから独立しています この文は分散コンピューティング・システムはOSから独立してるということを言ってると思うんだけど、 それがオブジェクト指向のオブジェクトの独立性と共通してるってこと?だから必要になったと?
541 名前:デフォルトの名無しさん [2024/01/15(月) 16:16:35.18 ID:+Vu40G8E.net] >>525 >それがオブジェクト指向のオブジェクトの独立性と共通してるってこと? そうだ。
542 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 16:19:19.89 ID:/fGKGWr1.net] >>526 なるほどな…
543 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 16:21:56.16 ID:L26ifdR0.net] 分散コンピューティングとオブジェクト指向は全く関係ないわな オブシコ君はそんな基本的なことも知らずに何年もシコシコ言い続けてるんだな
544 名前:デフォルトの名無しさん [2024/01/15(月) 16:22:56.36 ID:+Vu40G8E.net] クリントンは同じクリントンでも、チンポは本体のクリントンシステムとは独立して動くからな >このようなシステムは、 土台にあるソフトウェアから独立しています class チンポ extends クリントン{ super.不適切な関係; } 21年前のクリントン弾劾裁判 躊躇した「性的関係」の詳細描写(樫山 幸夫)2020年4月 https://www.jnpc.or.jp/journal/interviews/35171
545 名前:デフォルトの名無しさん [2024/01/15(月) 16:30:44.55 ID:tJyBqE8O.net] CORBAとかDCOMとかオブシコそのものじゃん… まったく関係ないってそんな自信満々に間違ったこと言われても…
546 名前:デフォルトの名無しさん [2024/01/15(月) 16:33:01.77 ID:tJyBqE8O.net] CORBAもDCOMも大失敗したのは事実だけどさ REST APIへと形は変わったけどオブシコはまだ生きてる!
547 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 16:36:38.36 ID:+wOH1ULK.net] >>530 あーやっぱり区別がついてないんだな 直交した概念を関係あるものと誤認識してるだけだよ
548 名前:デフォルトの名無しさん [2024/01/15(月) 17:03:55.47 ID:+Vu40G8E.net] クリントン大統領の「不適切」というのは、チンポが独立して主体意思でシコシコしてしまったから。 チンポは独立した生き物であり、アメリカ大統領の権限をもってしても、制御することは不可能だ。 クリントンの「不適切な関係」 https://eigo-kobako.blog.so-net.ne.jp/2008-06-21 class チンポ extends クリントン{ super.不適切な関係; } クリントンーーーーーーーーーー ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ーーーーーーーーーーーーーーー ┃チンポ┃  ̄ ̄ ̄ ̄ 『人格を性欲に乗っ取られる』、つまりクリントンはチンポに人格を乗っ取られて、チンポにシコられてしまった! https://i.imgur.com/WMeTh5O.jpg
549 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 18:17:03.84 ID:R6kkBDRE.net] >CORBAとかDCOMとかオブシコそのものじゃん… これは何でもオブシコに見えてしまう病 誰かが書いてたけどすべてが釘に見えてしまうやつと同じ
550 名前:デフォルトの名無しさん [2024/01/15(月) 19:14:13.08 ID:tJyBqE8O.net] >>534 CORBAのOが何を表してるか知ってるか? DCOMのOが何を表してるか知ってるか? それがすべて
551 名前:デフォルトの名無しさん [2024/01/15(月) 19:15:33.47 ID:tJyBqE8O.net] >>532 区別なんてをつける必要なんてないのよ なぜならオブシコはもっと大きな包括的概念だからね
552 名前:デフォルトの名無しさん [2024/01/15(月) 19:18:39.19 ID:tJyBqE8O.net] お前らはオブシコのことを何もわかってない その生い立ちその歴史その意味その未来 俺にははっきり見えているWebサービスこそがオブジェクトです Webサービスの連携によってシステムが形作られるさまはまさにオブジェクト指向なわけですよ
553 名前:デフォルトの名無しさん [2024/01/15(月) 19:19:49.00 ID:tJyBqE8O.net] > 分散コンピューティングとオブジェクト指向は全く関係ないわな これは完全に間違ってる完全にだ
554 名前:デフォルトの名無しさん [2024/01/15(月) 19:21:01.08 ID:tJyBqE8O.net] 現代のWebサービスはいわばまさにアラン・ケイが提唱したオブジェクト指向そのものなわけですよ
555 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 19:22:34.40 ID:knI0NF0Y.net] >>538 板違いのスレ真っ赤になってあげてるのが間違い ハロワ行けカス
556 名前:デフォルトの名無しさん [2024/01/15(月) 19:25:33.23 ID:tJyBqE8O.net] >>540 お前が行けやアホンダラ
557 名前:デフォルトの名無しさん [2024/01/15(月) 19:38:23.27 ID:+Vu40G8E.net] >>90 >俺は抽象化自体はどうでもよくてifを減らすために使ってるわ 抽象化とは、前述の通り大事なとこだけ抜き出して他はポイすることである。 例えば「白米」という項目に「パンの説明」が併記されていたら、「おいおいそれはないだろ」という話になる。いわばこれが白米の抽象化が効いていない状態だ。 逆に、白米の要素を省きつつパンの説明だけを抜き出して一つにまとめられれば、それはパンの抽象化である。 https://qiita.com/0w0/items/2cfaf3ca0b653960f5e9
558 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 20:26:28.29 ID:7nj5AI+0.net] >>538 それはさすがに直交してると思うぞ
559 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 20:34:14.19 ID:/fGKGWr1.net] それは要約とか抽出じゃね 抽象化はたとえば白米とパンから主食とか穀物みたいな抽象的なグループを作り出すことでしょ
560 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 23:29:19.89 ID:cNcAZXo2.net] >お前らはオブシコのことを何もわかってない 虚しい叫びだね〜w
561 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 23:43:09.60 ID:EcvQXyUD.net] >>542 まーたすごいw記事見つけてくるな 抽象化を理解できてない上に本人が「白米の抽象化か効いてない」状態を見事に体現しててウケる
562 名前:デフォルトの名無しさん mailto:sage [2024/01/16(火) 09:19:44.52 ID:8bIww2fl.net] 複数のカテゴリに重複して分類出来るものを例えに使うから分からなくなる だいたい多重継承禁止なのに
563 名前:デフォルトの名無しさん [2024/01/16(火) 10:38:23.10 ID:tDkTMr3L.net] >>547 >だいたい多重継承禁止なのに 随意筋 不随意筋 ↖ ↗ チンポ チンコの随意筋と不随意筋 d.hatena.ne.jp/tottokotokoroten/20130516/1368716650
564 名前:デフォルトの名無しさん mailto:sage [2024/01/16(火) 12:11:50.40 ID:GCfW19h4.net] >>544 要点を抽出して要約するのも抽象化の一種 汎化が伴わない場合は抽象度の変化が小さいので抽象化とは異なると考えがち
565 名前:デフォルトの名無しさん mailto:sage [2024/01/16(火) 12:18:41.49 ID:lAjsP0tI.net] >>549 そんなプログラミングの役に立たないものはどうでもよくね
566 名前:デフォルトの名無しさん mailto:sage [2024/01/16(火) 13:28:47.91 ID:snT60a6r.net] >>550 プログラミングの役に立たないもとだと認識してしまう人は抽象化能力の低い人なのでそういう人にこそどうでもよくないこと 汎化が伴わない抽象化もプログラミングにおいて日常的に使われるものだけどそれを汎化が伴う抽象化とシームレスに使えない人は抽象度のコントロールが上手くできない これは>>542 の記事がわかりにくい原因の一つでもある
567 名前:デフォルトの名無しさん mailto:sage [2024/01/16(火) 13:58:11.61 ID:lAjsP0tI.net] >>551 役に立ってるリンクを貼って、どうぞ
568 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 13:31:13.72 ID:QHRQ9FyB.net] >>507 >この段落は何言ってるのかわからなすぎてあきらめた もともとが「プログラムはひとつの機械の中で順番に処理をするもの」という前提が崩れた時点で 外部のプログラムモジュールに“この仕事を頼む”って非同期的に作業を預けて モジュール間で「できてる?」「できた」ってやりとりすることで動作する環境を考えなければいけなくなった。 その時イメージされたのがロボットに仕事を頼んでそれぞれが「できました」するイメージ この前提で考えた時にシステムを人間が管理するためにはロボットに与える命令は 人間側が平易に理解できるコマンドと内容でなければ人間が困るというのが 現代まで続くメッセージ/メソッドという概念の始まり。 またロボットなのだから複製して似た作業させたり、アームや移動装置を付け替えることで 別な作業に使えるように改造するという発想も自然に出てくる。 (ただ後年言われているように基本→改造A→改造Bってできる継承は バージョン違いで逆に混乱の元にしかならないので、コンポジションをベースにした方がよかった) こういった前提でプログラムモジュールをオブジェクトと考えるオブジェクト指向は生まれたのだが この前提が見事にすっこ抜けたC ++が「継承ってのがオブジェクト指向なんだよ 車にタイヤだよ、改造パーツ付け替えだよ」って異端が“ボクがオブジェクト指向ござい”したせいで いまだに間違った言語の間違った仕様を前提に「あれがオブジェクト指向だった」と思われてる。 そういう話
569 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 13:41:41.50 ID:QHRQ9FyB.net] あと、あたりまえの話だけどひとつのプログラムモジュールなんて小さい単位の中では 普通に処理が順番に走ってるんだから、そんな細かい単位の中でマイクロオブジェクト作って 継承だのなんだのする意味がなくて、そういうレベルのマイクロコンピュータプログラミングで 次の時代はC ++だよ!されたのが最大の不幸だったとも言える。
570 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 14:40:27.01 ID:E+GFYvQx.net] アラン・ケイの言及 >さながら生物の細胞、もしくはネットワーク上の銘々のコンピュータ、それらはただメッセージによって >コミュニケーションする存在、僕はオブジェクトをそう考えている 人間が平易に理解できるうんぬんは上のバカが言ってるだけで関係ないのでご注意ください あとマイクロコンピュータという用語の使い方も間違ってるので無視してください
571 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 15:19:46.14 ID:yIRtErMp.net] ネットワークが当たり前になって、複数のサイトで個々の対応をする様になったら、またオブジェクト指向が見直されるってか?
572 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 15:29:35.60 ID:KgFW7PrH.net] こいつ、オブジェクト指向にマルチスレッド的な要素があると思ってるところが、なんかiHdkzくさいな
573 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 15:33:59.35 ID:KgFW7PrH.net] もうこの画像だけでご飯3杯はいけるわ https://qiita-user-contents.imgix.net/https%3A%2F%2Fqiita-image-store.s3.ap-northeast-1.amazonaws.com%2F0%2F62130%2F528e697e-9005-2edd-46d9-e62aedde229f.png?ixlib=rb-4.0.0&auto=format&gif-q=60&q=75&w=1400&fit=max&s=271cb92d00e3f7233e5d61571167ba57
574 名前:デフォルトの名無しさん [2024/01/17(水) 16:10:20.50 ID:r71rticC.net] >>553 >人間側が平易に理解できるコマンドと内容でなければ人間が困るというのが >現代まで続くメッセージ/メソッドという概念の始まり。
575 名前:謔チて我々はモノに着目している場合ではない。機能に着目すべきなのだ。インターフェイスとは機能をユーザー側の視点から記述したものだ。 これによって機能を構成するものの中でユーザーが知る必要のない情報(実装)を隠蔽するのである。 各コンポーネントが自分が知る必要のあることだけを知ることで、現代の複雑かつ大規模なソフトウェア開発が可能になるのである。 https://qiita.com/hush/items/33da14ddf45f45b5ef65 [] [ここ壊れてます]
576 名前:デフォルトの名無しさん [2024/01/17(水) 16:17:11.41 ID:r71rticC.net] >>88 >オブジェクトの内部はブラックボックス化され、外部からはオブジェクトのインターフェイスだけを相手にすればよいので、 多くの機能を保有する管理画面は、業務の種類によってメニューが細分化されています。 しかし、ユーザーが利用する機能は限られていることが多く、使うたびにメニューから目的の機能まで辿る作業は面倒です。 https://baigie.me/blog-ui/2020/06/16/ui_design_for_admin_screen/
577 名前:デフォルトの名無しさん [2024/01/17(水) 16:21:23.26 ID:r71rticC.net] オブジェクト指向を教えてくれ!★2 https://itest.5ch.net/mevius/test/read.cgi/tech/1619503348/
578 名前:デフォルトの名無しさん [2024/01/17(水) 16:29:39.06 ID:r71rticC.net] 必要最低限の機能を、過不足なく抽出するのが抽出化ね! >>90 >俺は抽象化自体はどうでもよくてifを減らすために使ってるわ オシッコするときはチンポと便器だけを意識するべきで、内尿道括約筋や膀胱平滑筋を意識する必要無い!
579 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 16:38:14.46 ID:E+GFYvQx.net] あーなるほど、ユーザーのことを人間って言ってたのか こいつ言葉の使い方が無茶苦茶だな 常に>>562 みたいな卑猥な表現ならまぎらわしくないんだけどな
580 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 16:46:12.65 ID:E+GFYvQx.net] ユーザーを人間に言い換えちゃうと、実装の詳細をすべての人間が平易に理解できちゃいけないことになるけど、 機能を実装した人間は平易に理解できちゃってるからまずいよねえ そこはユーザーとか利用者とか言わないと意図が伝わらないよねえ
581 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 16:49:13.88 ID:KgFW7PrH.net] プログラマのことを人間って書いてるのかと思ってた 利用者のことだとわかるのすげーな そんな発想みじんもなかった
582 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 17:00:54.72 ID:E+GFYvQx.net] >>565 >プログラマのことを人間って書いてるのかと思ってた それはまあ合ってるんじゃね ライブラリの提供者と、それを使う利用者っていう文脈ならプログラマだからね ただし「人間と非人間(機械?)」という構図ではなく、 「提供者と利用者(ユーザー)」という構図だったらしい それなら片方を指して人間と呼ぶのはまぎらわしすぎる
583 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 17:30:28.35 ID:CGUTfE61.net] 彼以上に日本語不自由なひと多くて草
584 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 18:59:47.01 ID:E+GFYvQx.net] まあ、インターフェイスはどっちかというと理解しやすくするためというより、 依存を減らすことで、実装変更の影響が広がらないようにするためだけどな
585 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 19:39:24.28 ID:CqiMzrNV.net] >>568 インターフェイスは契約だよ。 依頼人は事前条件の義務を果たせば事後条件の利益が受けられる。請負人は事前条件が揃ったら事後条件を提供する義務がある。 それを契約書みたいに切り離したのがインターフェイス。
586 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 20:23:22.83 ID:E+GFYvQx.net] >>569 そういう面もあるけどどっちかというとDbCの話だな
587 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 23:35:59.37 ID:oTV5DNx6.net] >>557 元々のオブジェクト指向はマルチスレッドだけでなくマルチプロセスでもマルチノード環境でもよくて それらマルチな環境で動いている独立したオブジェクト同士がメッセージパッシングをするところから始まっている そのメッセージパッシングの実装の一つのあるインターフェイス切り口の一つがオブジェクトのメソッド呼び出し
588 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 23:39:09.32 ID:oTV5DNx6.net] したがってシングルスレッドおよび同期呼び出しという二つの足枷を前提とする極めて特殊な制限された環境を前提とするのは間違い
589 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 23:51:51.10 ID:KgFW7PrH.net] >>571 メッセージパッシング?Smalltalkのメッセージはメソッド呼び出しをかっこよく言い換えただけや
590 名前:ろ? [] [ここ壊れてます]
591 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 23:53:18.66 ID:oTV5DNx6.net] >>573 概念と実装の区別ができない人は出入り禁止
592 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 23:59:57.39 ID:KgFW7PrH.net] >>574 じゃあ違う実装をしてる言語を挙げてみろよ
593 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 00:01:33.25 ID:wXOtcPza.net] なんで、関数呼び出し以外でメッセージを実装してる言語が存在しないの? オブジェクト指向の始祖はなんでそんな実装しなかったの?
594 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 01:02:23.64 ID:wXOtcPza.net] 実装のひとつなんでしょ?なんで他の実装がないの? はやく出してよ
595 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 01:24:58.22 ID:jl137W3w.net] ここでの言語がプログラム構築ツールに過ぎないのだから 関数呼び出しとなるのは理にかなってて当然じゃない? オブジェクトの扱いをもっと大げさに実装しても嬉しくないし 業務フロー構築とか高レベルな領域を扱うためのものはあるけど 汎用的なプログラム言語ではなくなる
596 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 01:37:22.52 ID:SCJi6kKx.net] 関数呼び出しの意味合いが多義たから噛み合ってないようにみえる 古典的な関数呼び出しだと求める値は関数の返り値として返ってくる しかし今は当然それだけではなくて 例えばJavaScriptなど継続(continuation)を用いる言語だとその場合は関数の返り値として求める値は返って来ない さらに今は多くはの言語が非同期呼び出しをサポートしていて関数呼び出しで返ってくるのは求める値ではなくFutureやPromiseが返って来る さらにそれらを使わずあるいは併用してChannelを使ってメッセージや値を送り合う言語も多い 関数呼び出ししかないと主張する>>576 はあまりにも無知すぎるようにみえる
597 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 01:49:14.31 ID:wXOtcPza.net] >>579 そんな感じでプリミティブな関数呼び出しを利用してなんでもできるじゃん それをメッセージパッシングとか名前だけ変える意味ないやろ
598 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 01:54:44.12 ID:SCJi6kKx.net] >>580 まずはContinuation、Promise/Future、Channelなど各々を勉強してみたらどうかね そうすれば関数呼び出しだけではなぜ実現できないのかを理解できる
599 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 01:58:10.81 ID:wXOtcPza.net] >>581 言ってる意味がわからん
600 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 02:02:13.52 ID:wXOtcPza.net] javaとか関数呼び出し以外に特別なメッセージパッシングの仕組みがないのに、PromissもFutureもあるじゃん… Continuationはないけどさ
601 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 02:05:10.31 ID:wXOtcPza.net] schemeなんて関数呼び出ししかないのに全部あるじゃん… 何が言いたいのかさっぱりわからん…
602 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 02:28:53.69 ID:SCJi6kKx.net] 屁理屈で言い訳しているだけにみえるが もし本当に理解できてないなら相手にしてもしかたないな
603 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 02:35:03.86 ID:wXOtcPza.net] >>585 実際にjavaやschemeでは関数呼び出しだけで実装できてるって言ってるのに、理由もなく実装不可能とか屁理屈言ってるのはそっちだろ 普通に考えて関数による抽象化はプログラムにおける万能のビルディングブロックなんだけど
604 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 02:56:24.95 ID:wXOtcPza.net] むっちゃ話がそれたんだけど、メッセージパッシングなんて関数呼び出しの名前をオシャレに変えただけなので、 >>571 に書いてあるマルチスレッドで独立したオブジェクトがメッセージを送りあうみたいな計算にはならないだろって言いたいんだけど そういう独立に相互作用しあうような計算が念頭にあるなら、smalltalkみたいな言語にはならんと思う
605 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 08:08:03.58 ID:mnBoPSdr.net] >>587 違うよ、実装から見ればアドレスにコールしてる様に見えるけど、本来は通信するんだよ
606 名前:デフォルトの名無しさん [2024/01/18(木) 10:04:53.65 ID:YnZ4cQvx.net] >>571 >それらマルチな環境で動いている独立したオブジェクト同士がメッセージパッシングをするところから始まっている メッセージングを基礎単位として取ることは、より徹底的な遅延束縛を可能にする。というのも、 メッセージそれ自体は意味を持たず、実際にメッセージがオブジェクトに送信されてはじめて、意味が決まるからである。 https://qiita.com/ukyo-su/items/8c861f114809a96d1378 オシッコを出したり止めたりというのは、チンポから力を抜いたりチンポに力を入れたりと、 オシッコはオシッコそれ自体は意味を持たず、オシッコが尿道を介してチンポに送られることによって、 オシッコを出したり止めたりが可能になるということだ。 >ナンチャッテメッセージングスタイルになったのは チンポ.オシッコを出す チンポ.オシッコを止める さっきトイレでやってきた。 >単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを >ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。 × 俺.オシッコを止める 俺.オシッコを出す ○ 俺.チンポに力を入れる 俺.チンポから力を抜く
607 名前:デフォルトの名無しさん [2024/01/18(木) 10:22:05.53 ID:YnZ4cQvx.net] 独立したオブジェクト同士が、 >>571 >独立したオブジェクト同士がメッセージパッシングをするところから始まっている 「相互作用しあう」というのがイマイチわかりにくいかもしれない。 >>587 >そういう独立に相互作用しあうような計算が念頭にあるなら、 けれどもチンポは同一の個体であっても別人格または別チン格なので、本体との相互作用に矛盾は無い! チンコの随意筋と不随意筋 d.hatena.ne.jp/tottokotokoroten/20130516/1368716650 <俺> 「 部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、 それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。 」 <チンポ> 「 その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、 抵抗される人間の喜びを味わったのだ。 」 まさに独立した人格を有したチンポという、もう一人の俺がそこに現れるのである! 【藤子・F・不二雄】「みきおとミキオ」現在と未来、憧れの入れ替わり生活! https://www.google.com/amp/s/middle-edge.jp/articles/0izbO.amp
608 名前:デフォルトの名無しさん [2024/01/18(木) 10:32:03.61 ID:YnZ4cQvx.net] オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋 このように時と場合によって真逆の性質を併せ持つことができる >>579 >さらに今は多くはの言語が非同期呼び出しをサポートしていて関数呼び出しで返ってくるのは 随意筋 不随意筋 ↖ ↗ チンポ >求める値ではなく 随意筋(本人)である場合と、 >FutureやPromiseが返って来る 不随意筋(他人)である場合がある。
609 名前:デフォルトの名無しさん [2024/01/18(木) 11:05:22.35 ID:YnZ4cQvx.net] 意味論上の原則として、メッセージ送信表現が何を意味するかは、メッセージを受けるオブジェクトによって決められる(SEO)。 この考え方の重要なところは次の二点だ。 メッセージはそれ自体でいかなる意味も持たない メッセージが何を意味するか(システムとして何を起こすか)はオブジェクトが解釈する https://qiita.com/ukyo-su/items/8c861f114809a96d1378 >>571 >それらマルチな環境で動いている独立したオブジェクト同士がメッセージパッシングをするところから始まっている 「オシッコがしたい」と自分がそう思っていても、体内に入っているうちはオシッコにはならない そうでは無くてチンポから尿を出すことによって、それはオシッコなのだと意味づけられる
610 名前:デフォルトの名無しさん [2024/01/18(木) 11:16:28.90 ID:YnZ4cQvx.net] 随意筋 不随意筋 ↖ ↗ チンポ チンポは本人の意思では動かせない別の生き物だが? >>580 >そんな感じでプリミティブな関数呼び出しを利用してなんでもできるじゃん × 俺.オシッコを止める 俺.オシッコを出す >それをメッセージパッシングとか名前だけ変える意味ないやろ ○ 俺.チンポに力を入れる 俺.チンポから力を抜く
611 名前:デフォルトの名無しさん [2024/01/18(木) 11:26:03.41 ID:YnZ4cQvx.net] 俺↔チンポ 相互作用ね! >>571 >それらマルチな環境で動いている独立したオブジェクト同士がメッセージパッシングをするところから始まっている https://mobile.twitter.com/ki45_nisiki/status/1581300043935494145 フローズンぺんぎん@とりゅー @ki45_nisiki 返信先: @LunRon5 さん どんなに教養と勉強で武装しようとも、自身が抱える性癖には逆らえん。チンポが脳や人格にオーバーライドして支配してくる欲求には逆らい難い…だからこそ最低限の慎みと矜持として2次元があるのではないか…デブでもおばさんでも勃起できる人にはこの苦しみはわからんっすね (deleted an unsolicited ad)
612 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 14:40:55.32 ID:ajk+/w34.net] 前も歴史的タイミングがわかってない人が居たけど 大学のデータセンターみたいなのがネットワーク通信できるようになって 処理を外部のコンピュータに委任する状況が当時の最新システムで始まった時に 従来の一つのアドレス空間で結局内部でステップ順に処理しているという プログラムの常識が通用しなくなって来たから 「もう独立した処理単位(オブジェクト)としてサブルーチンを捉えよう」という オブジェクト指向が始まったので、結局アドレスで〜というのはお門違い。
613 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 15:06:53.52 ID:Q62r0xAB.net] オブジェクト指向うんぬんはあるけど、状態管理まわりのアーキテクチャうんぬんの議論も最近よく見かける ReduxだのMVVMだのいろいろありすぎる まあ結局フレームワークで状態管理アーキテクチャを選ぶことになるんだろうが
614 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 16:11:16.24 ID:iUO1jvdw.net] >>595 なんで君はそんな嘘を吐き続けるの? オブジェクト指向の起源と通信は全く関係ないよ
615 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 16:43:01.66 ID:ajk+/w34.net] いろいろ不思議なんだよね 80~90年代のカプセル化や新しいプログラムパラダイムの話題 現代のswift playgroundやunityの実装まで全てがステップバイステップで プログラマがコントロール“できない”からオブジェクトに処理は任せるという思想で 近代プログラミングは成り立ってるのに、そこの歴史一切無視して ずーっとCとかアセンブラ脳なんだままっていったいどこで情報科学を学んだの?
616 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 17:09:23.81 ID:6/8H82z6.net] むしろデータ型の歴史を無視することで 変数の型を宣言しないことが可能となる 関数がアルゴリズムを隠蔽するのと同様に変数がデータを隠蔽できるようになる
617 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 17:24:03.18 ID:dJGuHi0H.net] >>596 誰もUIの話なんてしてないんだがバカか?
618 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 17:30:45.26 ID:Gjb5vx80.net] reactはコンポーネント指向とかいうので開発するんだっけか知らんけど
619 名前:デフォルトの名無しさん [2024/01/18(木) 17:35:59.19 ID:HYoD398u.net] オブジェクト指向の最高傑作は依存性注入という考え方だよね 自動テスト最高
620 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 17:51:12.10 ID:318qGf4h.net] >>588 じゃあなんで、提唱されてから40年は経ってるのに、我こそは真のオブジェクト指向言語だメッセージは通信で渡すぞオブジェクトはみなスレッドだってやつが現れないの?
621 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 17:59:18.46 ID:op9CkZw4.net] >>603 オブジェクトはスレッドだけじゃないからでは?
622 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 18:13:43.69 ID:318qGf4h.net] >>604 わいもそう思うんだけど、 >>571 が言うには元々のオブジェクト指向はオブジェクトが独立したスレッドで動いてるらしいんだよ だから、なんでそういう「本来のオブジェクト指向」の実装が未だに現れないんだろうねえ不思議だねえって話
623 名前:デフォルトの名無しさん [2024/01/18(木) 18:15:26.58 ID:YnZ4cQvx.net] コントロールできる場合とできない場合が併存するということね! >>598 >プログラマがコントロール“できない”からオブジェクトに処理は任せるという思想で 随意筋 不随意筋 ↖ ↗ チンポ
624 名前:デフォルトの名無しさん [2024/01/18(木) 18:29:06.41 ID:YnZ4cQvx.net] オブジェクト指向=人工知能 >>605 >なんでそういう「本来のオブジェクト指向」の実装が未だに現れないんだろうねえ不思議だねえって話 (第1章 はじめに 2頁) たとえば、CycはFredという名前の男が朝にひげをそるという話が理解できなかった。 Cycの推論エンジンは、この話の中に矛盾を見つけた。Cycは人間には電気の部品がないことは知っているが、 Fredが電気カミソリを持っていたので、エンティティ「Fredがひげそり中(FredWhileShaving)」 には電気の部品が含まれていると考えた。したがって、CycはFredがひげをそっている間、 Fredはそれでも人間なのかと尋ねた。 『深層学習』 著者: Ian Goodfellow, イアングッドフェロー, Yoshua Bengio, ヨシュアベンジオ, Aaron Courville, アーロンカービル
625 名前:デフォルトの名無しさん [2024/01/18(木) 18:36:42.71 ID:YnZ4cQvx.net] >>131 >つまりオワコンとなったのは「クラスとその継承」 これは継承を使うしか無いでしょ? >Fredが電気カミソリを持っていたので、 Fred ↑ 電気カミソリ+Fred
626 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 19:21:45.75 ID:p4+mv2Ay.net] なんかすげえ伸びてるな なんの議論してるのかだれか要約して
627 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 19:44:08.60 ID:318qGf4h.net] >>609 わいは >>571 が言ってる「本来のオブジェクト指向」ってのがおかしいと思ってるから、smalltalkが「本来のオブジェクト指向」に則って実装されてないのはなんでなんって話をしてるつもり
628 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 20:07:42.87 ID:p4+mv2Ay.net] …🥺 とりあえずOOSCの超要約でも読むわ https://seesaawiki.jp/supersummary/d/OOSC 第35章 SimulaからJavaへ、そしてその先へ:主なオブジェクト指向言語とその環境 https://seesaawiki.jp/supersummary/d/OOSC/35
629 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 20:15:07.55 ID:IdJKbIqV.net] >>607 昔はエージェント指向というのがあってなぁ。 AIの台頭で復権するかもね。 >>608 オブジェクト指向でも継承じゃなくて集約使う状況じゃない? 継承とか基本的にコンパイラの実装上の都合(性能とか)をプログラムの設計に押し付けているだけだから、安易に使うべきじゃないよ。
630 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 20:30:12.28 ID:hMwUZ6n+.net] 各種プログラミング言語の継承とかってコンパイル時には解決してるものなんだからコードの可読性が上がるのなら使っていくべきもの 安易に使うべきではないっていうのは、 ・コンパイラ任せのプログラムを書くなってこと? ・コンパイル後でボイラーコードが増えてアホコードになるってこと? ・コンパイラに継承とかの解決をさせることが時間の無駄ってこと?
631 名前:デフォルトの名無しさん [2024/01/18(木) 20:33:43.77 ID:YnZ4cQvx.net] 「装備品」ということなら集約かな? >Cycは人間には電気の部品がないことは知っているが、 >Fredが電気カミソリを持っていたので、 <オブジェクト指向の集約について> クラスが他のクラスの組み合わせで構成されている関係を集約(aggregation)と呼びます。 例えば、学校は生徒を含み注文商品は商品を持ちます。 集約では、含んでいる側が消滅しても、含まれている方はなくなりません。 例えば、生徒が変化しても学校は変わりませんし、注文商品が消滅しても商品は消滅しません。 wtar00.seesaa.net/article/438834930.html
632 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 20:36:36.73 ID:318qGf4h.net] >>613 Vectorを継承してStackを作るようなヤツが現れないようにするためもあるぞ
633 名前:デフォルトの名無しさん [2024/01/18(木) 20:39:00.79 ID:YnZ4cQvx.net] Pythonは多重継承だが? >>612 >継承とか基本的にコンパイラの実装上の都合(性能とか)をプログラムの設計に押し付けているだけだから オントロジーは、情報の親/子関係を表現できます。RDFドキュメントの例でも触れましたが、 オブジェクト指向の継承と同じ概念と理解いただいてもよいと思います。そして、 オントロジーの「継承」の特徴は、次のようにオブジェクト指向と近いものです。 子は親の情報(=設定値)を引き継ぐ 多重継承ができる。(継承した全てのクラスの定義を漏れなく引き継ぐ) 継承の関係は、「subClassOf」と表現します。「子 is a 親」という関係です。 https://qiita.com/mininobu/items/bce0e0ad97ed17e0aff2
634 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 20:53:38.83 ID:IdJKbIqV.net] >>613 設計の初期の段階でクラス継承関係みたいな変更しづらい仕様を固めなくてはならないのは「早すぎる最適化」だということ。 継承関係の変更はえてして根底からの設計変更が必要になるけど、設計が熟成する前にクラスの依存関係を確定するのは非常に難しい。 adaptorパターンとかで影響を減らすことはできるけど、それなら最初から継承関係用のadaptorを用意したほうがいい。 c++のコンセプトをそのまま変数の型に使用できればずいぶん楽になるんだけどな。
635 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 21:03:06.30 ID:bwFEBIOM.net] モダンなプログラミング言語 Go、Rust、Zig、Nim、Julia、Elixirは クラスおよびその継承を言語仕様から排除している クラス継承は悪手であるとプログラミング言語界では結論が出ている
636 名前:デフォルトの名無しさん [2024/01/18(木) 21:07:29.23 ID:YnZ4cQvx.net] クラス継承が大事だつーなら、必ず多重継承も含めなければならなくなるからなw 随意筋 不随意筋 ↖ ↗ チンポ 人工知能や自然言語処理なら、文脈によって語の意味が変化するから、多重継承必須ね! 618 デフォルトの名無しさん sage 2024/01/18(木) 21:03:06.30 ID:bwFEBIOM モダンなプログラミング言語 Go、Rust、Zig、Nim、Julia、Elixirは クラスおよびその継承を言語仕様から排除している クラス継承は悪手であるとプログラミング言語界では結論が出ている
637 名前:デフォルトの名無しさん [2024/01/18(木) 21:14:26.20 ID:YnZ4cQvx.net] Javaみたいな多重継承をサポートしていない言語なら、継承そのものを殆ど使わないほうがいいと思う 随意筋 不随意筋 ↖ ↗ チンポ 継承を使う場合は、必ず多重継承をもサポートしなければならないのだから!
638 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 21:26:58.92 ID:XBwDmihy.net] さまざまなユースケースの必要なUIまわりくらいでしか継承はもはや必須じゃないよね システムまわりでは継承使うとかえって将来的に保守をしにくくなる
639 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 21:37:43.88 ID:iZjcVJFY.net] >>618 Rustはメッセージングもないけどな Rustはオブジェクト指向じゃないという大きな根拠
640 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 21:47:34.26 ID:/z/OLNb0.net] rustは継承に変わる実装としてトレイトがある。継承はレガシーなゴミ技術だよ。 ''' オブジェクト指向言語の問題は、暗黙の環境を常に持ち歩いていることだ。 欲しかったのはバナナだけなのに、あなたが得たのはバナナを持っていたゴリラと、ジャングル全体だった。 Joe Armstrong https://medium.com/@cscalfani/goodbye-object-oriented-programming-a59cda4c0e53 https://qiita.com/baby-degu/items/ae5777dad23ee6624ce2 '''
641 名前:デフォルトの名無しさん [2024/01/18(木) 21:48:59.95 ID:YnZ4cQvx.net] 集約 独立して存在できる何かのコレクションがある場合 P.29 こちらは空港と飛行機で例えられています。 コンポジションのようなAとBの強い結びつきはありません。 https://qiita.com/gatapon/items/5e3292f897ab4f817001 ドラゴンクエストX 【主人公と職業】 ・戦士 ・僧侶 ・魔法使い ・武闘家 ・盗賊 ・旅芸人 一般的に「オブジェクトの継承」が使われるが、この場合は「集約」でも代用可能だ 空港でどの飛行機を先に飛ばすかは、主人公がどの職業を選択するかに置き換えられる プレイヤーの意思でコントロールできるからだ >Cycは人間には電気の部品がないことは知っているが、 >Fredが電気カミソリを持っていたので、 装備品もプレイヤーが自分で選択可能だから、「集約」でも代用可能だ class チンポ extends クリントン{ super.不適切な関係; } しかしながらクリントンが自分のチンポをコントロールすることは不可能 クリントンは同じクリントンでも、人格とチン格は違うからだ
642 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 21:50:12.81 ID:p4+mv2Ay.net] 継承は開発者の手腕によって神にも悪魔にもなる きっちりとした仕様書とノウハウがあれば保守性に長けたプログラムがちゃんと出来上がるよ
643 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 21:52:27.18 ID:bwFEBIOM.net] >>622 Rustも他の言語と同様にメソッド呼び出しがあり 内部構造の秘匿もできるため オブジェクト指向
644 名前:デフォルトの名無しさん [2024/01/18(木) 21:59:50.46 ID:YnZ4cQvx.net] >>611 継承が必須だということなら、多重継承をサポートしていないJavaは欠陥言語となる 多重継承をサポートしていないということは即ち、他のやり方で代用できると考えていい 継承を使いこなしたいのであれば、Pythonのような多重継承をサポートしている言語をマスターすべき
645 名前:デフォルトの名無しさん [2024/01/18(木) 22:22:16.51 ID:k9qVbfct.net] >>623 引用オナニー要らないよw 変態プレイは一人でやってください
646 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 22:31:39.02 ID:p4+mv2Ay.net] >>627 継承の継承を使えりゃ十分じゃね? Kotlinやってるけど多重継承できなくて困ったことはない あと改善版継承のようなsealed classは優秀
647 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 22:45:13.36 ID:OdzmVMko.net] javaのやってる継承は継承もどき 本物の継承はpythonにしかできない
648 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 23:16:36.55 ID:BMLfw7Fm.net] ほんとはみんな継承をやりたいんじゃなくて、ポリモーフィズムと情報の隠蔽をやりたいだけなんだよね
649 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 23:31:00.54
] [ここ壊れてます]
650 名前: ID:jl137W3w.net mailto: >>603-605 Erlangとかあるけどね でもUnixなプロセスモデルに適合させようすると 変数とおなじアドレス空間にオブジェクトを置く よくあるタイプになってしまう [] [ここ壊れてます]
651 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 23:51:38.17 ID:6/8H82z6.net] 情報隠蔽は情報不足と見分けがつかない スクリプトに不足している情報を明示したいだけなのがGo、Rust
652 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 01:05:45.75 ID:Bxqp/mLl.net] >>633 まずはこの議論における基礎知識としてRustのトレイト(trait)を学習することをおすすめする
653 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 01:09:24.73 ID:dQ/RTsAV.net] >>632 そのへんも自分らが本来のオブジェクト指向を実装してるんだぜなんてことを言ってないことから、 >>571 の主張が出鱈目なのが分かっていいよね
654 名前:デフォルトの名無しさん [2024/01/19(金) 01:19:07.65 ID:5qNxVIXw.net] 「本来のオブジェクト志向」、体験するのが無理という難点がある まさか令和の時代にSmalltalk触れってわけにもいかないし
655 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 01:24:17.77 ID:dQ/RTsAV.net] smalltalkのスレッドまわりはjavaとだいたい同じだった記憶があるし「本来のオブジェクト指向」とはきっと違うはず
656 名前:デフォルトの名無しさん [2024/01/19(金) 08:10:41.28 ID:iTaoyDeQ.net] >>636 Smalltalkは多重継承をサポートしていないぞ?
657 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 08:49:00.44 ID:MC8t1NGB.net] クラス継承ですらデメリットが大きいためモダンなプログラミング言語では採用されていないのに クラス多重継承なんてあまりにもダメすぎるため採用しているメジャーな言語はPython Perl C++のダメ言語御三家のみ クラス多重継承を採用していない言語が正しい
658 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 09:04:50.86 ID:oSBLpXih.net] 継承は凡人には使いこなせなかった なので、機能として存在する意味がないし、下手に使うと有害なので廃止された
659 名前:デフォルトの名無しさん [2024/01/19(金) 09:30:06.32 ID:iTaoyDeQ.net] 多重継承は曖昧だというが、自然言語処理はその曖昧さが大切になる。チンポは随意筋であり不随意筋である。 >>639 >クラス多重継承なんてあまりにもダメすぎるため 最終的に,クラス階層は最上位クラスを含めた 最大8 階層から構成され,「伝統的な日本の絵画」 に属する用語に対応する 55 クラスと解説文中か ら抽出した139 クラスが配置された。ただし,そ のうち 32 クラスが複数の上位クラスをもつとい う多重継承が示された。例えば,「ngyc:絵巻物」 は「ngyc:伝統的な日本の絵画」と,「ngyc:表具の 形式」の下位クラスである「ngyc:巻子」の 2 つの クラスを継承する(図 2)。こうした多重継承は, 本質属性をもつ基本概念と機能を表すロール概念 を分離することで,基本概念による属性継承に限 った階層関係に変更するという考え方もあり 10), 「ngyc:伝統的な日本の絵画」がロール概念で, 「ngyc:表具の形式」が基本概念と捉えることもで きる。しかし,本研究ではテキストからの情報抽 出に即して配置し,多重継承を許容した階層を導 き出した。 www.mslis.jp/am2019yoko/05_kobayashi.pdf 随意筋 不随意筋 ↖ ↗ チンポ
660 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 09:43:00.08 ID:sTJV5iPD.net] もう下品な比喩はいいからw
661 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 10:56:52.36 ID:HG/MrdYG.net] ガンダムで例えてくれ
662 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 11:09:31.72 ID:NQtmyzQy.net] 継承無くてもポリモーフィズムはできる それでいい
663 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 11:30:43.26 ID:HG/MrdYG.net] テンプレートおよびジェネリクスは禁止で それでいい
664 名前:デフォルトの名無しさん [2024/01/19(金) 11:37:19.74 ID:iTaoyDeQ.net] 「なぜPythonが人気なのか」を機能性・転職市場・将来性の3視点で調査 Python入門 2023年11月24日 https://www.sejuku.net/blog/108069 >>639 >クラス多重継承なんてあまりにもダメすぎるため採用しているメジャーな言語はPython Perl C++のダメ言語御三家のみ 流行とかパラダイムが全てでは無いにせよ、オブジェクト指向=人工知能ということなら、 自然言語処理における意味解釈は語のルーツを掘り下げるための「多重継承」がメインになる 随意筋 不随意筋 ↖ ↗ チンポ 文脈によって同一オブジェクトが真逆の振る舞いをするということね!
665 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 11:40:54.55 ID:arzVgFZ3.net] もう継承はゴミってことで結論出てるのになんでそんなに無くてはならないって拘るの?
666 名前:デフォルトの名無しさん [2024/01/19(金) 11:50:05.51 ID:iTaoyDeQ.net] >>647 最新調査でPythonが人気なのと、Pythonが多重継承をサポートしているのは、どう説明するのかな?
667 名前:デフォルトの名無しさん [2024/01/19(金) 12:04:44.60 ID:iTaoyDeQ.net] 集約と継承を使い分けることが大切ね! >>623 >欲しかったのはバナナだけなのに、あなたが得たのはバナナを持っていたゴリラと、ジャングル全体だった。 ジャングルーーーーーーーーーー ┃ ゴリラーーーー ┃ ┃ ┃ バナナ ┃ ┃ ┃ ーーーーーーー ┃ ┃ ┃ ーーーーーーーーーーーーーーー クリントンーーーーーーーーーー ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ーーーーーーーーーーーーーーー ┃チンポ┃  ̄ ̄ ̄ ̄
668 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:26:06.50 ID:SK8TlxrV.net] >>631 多態性・情報隠蔽ですら無くて、単にインスタンス間でやり取りするときのインターフェイスとプロトコルを確定しておきたいだけだよ。 継承みたいなコンパイラ都合のお作法はうざったいだけだし、インターフェイスとプロトコルを守っているなら多態かどうかもどうでもいい。結果的に多態になるけど、あくまで結果論。
669 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:31:42.38 ID:arzVgFZ3.net] >>648 pythonで複雑なシステムは普通の感性を持ってれば組まないし別にいいんじゃない? 継承がゴミだと言われる理由を考えてみて
670 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:38:25.66 ID:SK8TlxrV.net] オブジェクト指向がオワコンというのは正しくて、よりインスタンス間のルール管理に注力した契約プログラムとかに発展的解消してんじゃないのかね。
671 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:44:39.23 ID:arzVgFZ3.net] >>650 インスタンス間でやり取りするときのインターフェイスとプロトコルを確定(カプセル化)することがまさしく不要な情報の隠蔽なのでは? それでカプセル化したらポリモーフィズムに基づいてアクセスさせるか~みたいな感じでしょ?
672 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:45:36.30 ID:arzVgFZ3.net] そんでカプセル化したものを継承させるのはプログラムが煩雑になるからやめましょうよ、継承の実装を省くならクラスもいらないねってそういう話じゃん
673 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:52:25.37 ID:rg+QtK0B.net] >>646 多重継承の中でも型継承さえできれば十分ならインターフェースでよくね? それなら他の言語でもできるぞい✌
674 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:54:01.11 ID:SK8TlxrV.net] >>653 そう、そう。 実装の結果ついてきた結果論。 スタートはインターフェイスとプロトコル。
675 名前:デフォルトの名無しさん [2024/01/19(金) 12:54:57.24 ID:iTaoyDeQ.net] オンラインゲームのアップデートは「カプセル化したものを継承」では? >>654 >そんでカプセル化したものを継承させるのはプログラムが煩雑になるからやめましょうよ、 大型アップデート情報 バージョン6.5[後期] (2023/11/21 更新) https://hiroba.dqx.jp/sc/topics/detail/0e4f5cc9f4f3f7f1651a6b9f9214e5b1/ システムのアップデートは一般的に「継承」と自分は思うが、丸ごと作り直したほうが良いのかな?
676 名前:デフォルトの名無しさん [2024/01/19(金) 13:07:12.61 ID:iTaoyDeQ.net] 私見としてはオンラインゲームと言えども、大型バージョンアップ時は丸ごと作り直したほうがいいと思う ドラクエ10のバージョン7ということなら、すべてを再インストール化でもいい
677 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 13:15:20.79 ID:arzVgFZ3.net] >>657 オンラインゲームのアップデートってなに?もっと具体的に頼む バグ修正?新機能の追加?新キャラの追加? バグ修正や新機能はカプセル化の対応部分の丸ごと書き換え等いろいろあるだろうね 新キャラ追加はカプセル化したクラスモデルを継承して作り上げて、それをロードしてやれば、ポリモーフィズムに基づいて動いてくれるだろうね
678 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 13:17:20.00 ID:2+
] [ここ壊れてます]
679 名前:AapLKd.net mailto: さすがにアプデを継承と考えるのはややこしくなるからやめたほうがいい [] [ここ壊れてます]
680 名前:デフォルトの名無しさん [2024/01/19(金) 13:25:42.10 ID:iTaoyDeQ.net] >>659 >オンラインゲームのアップデートってなに?もっと具体的に頼む オンラインゲームというのは、リリース後も次々とアップデートを繰り返し、機能が増えていきます。 よって、一番最初の設計で、どれだけ未来の変化を予測して、準備しておけるかが大事になってきます。 後になって苦しまないために、最初は多少面倒でも、柔軟でわかりやすい、変化に耐えうる設計を心がけたいものです。 https://developer.aiming-inc.com/programming/design-battle-program/ オブジェクト指向を初めて勉強していたころ、クラスの継承は(個人的には)理解しやすかったですが、 インターフェースはいまいち利点が分かりづらい印象がありました。 そこで、デザインパターンのひとつ「Observerパターン」を取り上げて、 継承とインターフェースの使用法を見ていきます。Observerパターンは先ほどの一斉攻撃にも近いパターンになります。 https://qiita.com/kcpoipoi/items/e6c495e7a481e02847d8
681 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:00:28.63 ID:arzVgFZ3.net] >>661 うん、新キャラ新技はカプセル化の継承だね そんな表面層の部分を指して継承だ継承だ騒いでたの?
682 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:14:12.14 ID:arzVgFZ3.net] あ、継承をゴミと言ってるのであって、インターフェースやトレイトは存分に使うべきものだから 勘違いしてもらったら困るぞ
683 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:21:52.28 ID:arzVgFZ3.net] 新キャラ新技くらいならカプセル化の継承でもなくてインターフェースをただ実装するだけで済ませてるか>>661 自分の作品見てたら画面追加は継承を使ってたわ
684 名前:デフォルトの名無しさん [2024/01/19(金) 14:23:53.15 ID:2Txscu7W.net] >>663 継承自体はただの機能なので良いも悪いもない。 継承を理解していない人、不適切な使い方をしている人が存在するだけ。 どんな使い方をしても不具合が出ない機能なんて無い。
685 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:33:48.49 ID:arzVgFZ3.net] >>665 大いに同意 継承は基底クラスがよほど煩雑にならない程度なら使ってもよい ただ煩雑に組む輩等が多すぎたから継承を実装しないプログラム言語が生まれた それだけなんだ
686 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:51:07.26 ID:2+AapLKd.net] お勉強発表会はたのちいね
687 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:54:55.85 ID:arzVgFZ3.net] >>667 むちゃくちゃ楽しい
688 名前:デフォルトの名無しさん [2024/01/19(金) 14:59:58.61 ID:2Txscu7W.net] >>667 と暇人が申しております
689 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 17:41:08.81 ID:wxu2zgr7.net] >>665 継承は設計を初期の段階で固める「早すぎる最適化」だから避けるべき。 やるなら継承関係の実装だけ切り出したadapter用のholder templateを用意したほうがまだマシ。
690 名前:デフォルトの名無しさん [2024/01/19(金) 18:11:39.79 ID:Hi84WC+x.net] >>670 それは将来の変更可能性が低くない場合。 実際変更可能性が低いケースなんかいくらでもあり、その場合避ける理由にならない。
691 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 18:21:46.43 ID:9QtN1Vnk.net] >>670 つまりinterfaceで十分ってことだな
692 名前:デフォルトの名無しさん [2024/01/19(金) 19:20:32.13 ID:iTaoyDeQ.net] _w 、... ョ ┌┐ ィ ′  ̄+ ヘe、 j「. .¬气¬''..~''~ ,.ルw、.ーu、す ^^"~~l|~~^''' ォ′ .,. l| ┐ .√ j| _~+,.、. . .,/. ょ_/ 、j「 { `¬.. 〃 .、l| 、 .. ~^. ~ ` ~^ . ;. ョ __ . j| ~ラ¬¬+ |.  ̄.  ̄.. . オ |.. ォ ,、 k、 ,j〃. L_. _ェ ~'――'~. ^^^^^^ ̄´  ̄′  ̄ ̄
693 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 19:28:18.36 ID:r1TqRAYd.net] 一人で書き込みお疲れ様。
694 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 19:43:32.99 ID:SK8TlxrV.net] >>671 熟練の設計者が慣れた問題領域やるんでもなければ無理だろ。
695 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 19:52:40.51 ID:SK8TlxrV.net] >>672 だいたいインターフェイスで十分だわ。もっと機能強化したのが出てこないかね。 c++のコンセプトをインターフェイスに使いたいところ。
696 名前:デフォルトの名無しさん [2024/01/19(金) 20:09:04.02 ID:XrKZZkrv.net] >>675 超大型建築より普通の一軒家の方が数、つまりニーズが圧倒的に多い アプリは常にスケールする可能性がある、というのは理論的な話で実際スケールするアプリなんかほんの一握り。結局作ってそのままなんていくらでもある。変更が無いケースで熟練どうたらとか全く無関係。
697 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 20:34:16.00 ID:SK8TlxrV.net] >>677 普通の一軒家とか、問題領域の知識が無くて失敗する事例の宝庫だろ。あとになって大抵の人間は「コンセントが足りない」と言うしな。 変更しないままなのは「変更しなくていい」じゃなくて「変更は不可能に近いから不便・危険でも諦める」だからな。
698 名前:デフォルトの名無しさん [2024/01/19(金) 20:49:36.09 ID:XrKZZkrv.net] 結局継承で都合が悪いケースなんて極一部というのが現実。 ヤグニの原則に反して嬉しいのは客の金でただで勉強・実験したいエンジニアだけ。
699 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 21:05:02.67 ID:SK8TlxrV.net] >>679 まあ、いいんじゃない? 初期に設計したクソ仕様を客に「大したことはないから変更しない」と放置できるなら。
700 名前:デフォルトの名無しさん [2024/01/19(金) 21:27:25.19 ID:K5SD+kWD.net] >>672 インターフェースだけだとコピペ継承が乱立するんだよ そこでインターフェースのデフォルト実装等クラス継承と同じ実装継承を使うことになる でもクラス継承はとにかく悪だと思ってる人は実装継承のメリットとデメリットを正しく理解できてないから結局同じ問題を引き起こすだけ
701 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:05:02.77 ID:yy9dhl7c.net] >>681 インターフェイスと実装は永続性や影響範囲が違うんだから、密に関連づけるのは悪設計。 継承はさらに基底と派生の関係性もガチガチに固めるから、根元になる基底がクソ設計だとどうしようもない。
702 名前:デフォルトの名無しさん [2024/01/19(金) 22:20:13.70 ID:XrKZZkrv.net] >>680 5chで勝手にクソ仕様認定してるクソレスを気にする人はいないw
703 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:21:58.98 ID:sTJV5iPD.net] 顧客に設計なんか分からないから突き進むだろ
704 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:22:17.78 ID:EWU8L+d2.net] >>681 その点ではRustのtraitが最も良いね Rustのtraitでのデフォルト実装は各型のメンバーや固有メソッドを呼び出せないので実装継承の問題が起きない そのtrait(とそのtrait制約)のメソッドしか呼び出せないから移譲と合成の形になる
705 名前:デフォルトの名無しさん [2024/01/19(金) 22:54:39.62 ID:2Txscu7W.net] >>685 こういう感じで言語によって前提が違う場合があるから抽象的な議論の有効性はかなり微妙
706 名前:デフォルトの名無しさん [2024/01/19(金) 23:13:57.01 ID:k/iqMx14.net] >>685 はい残念 Traitのデフォルト実装も実装継承だからクラス継承のデメリットの大半を”継承”してる メリットとデメリットを理解して使い分けられるようにならないうちは結局のところ何使っても同じ
707 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 23:19:40.83 ID:EWU8L+d2.net] >>687 いいえ 説明したようにRustのtraitに実装継承はありません
708 名前:デフォルトの名無しさん [2024/01/19(金) 23:28:42.74 ID:2Txscu7W.net] 何で堂々と嘘つく? 嘘言った人謝ってください
709 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 23:32:10.71 ID:EWU8L+d2.net] >>687 はコードを書いたことがないのか あるいは意図的に嘘ついているのか
710 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 23:44:00.48 ID:jOoBVxG+.net] インターフェースは継承と違ってインターフェースもとのプロパティをオーバーロードして定義し直すから、継承のわけわからん隠蔽されてないプロパティでごっちゃごちゃにならないのがいい(java民)
711 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 02:15:01.44 ID:pJVjc8l1.net] オブシコくんどこいったん? インターフェイスは人間が理解しやすくするためのものだと力説しなよ
712 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 02:28:42.63 ID:9SMgv4xr.net] 疑似マルチスレッド君も反応ないんやけど、こないならQiita更新してくれよー
713 名前:デフォルトの名無しさん [2024/01/20(土) 03:07:14.53 ID:ppE6WkEJ.net] >>685 >>687 これはデフォルト実装が同じtrait内メソッドと結合することまで実装継承と言うか話なんじゃないかな 実装継承の定義をtraitに拡張する時に生じた無理が意味の拡散を産んで無意味な争いを招いただけというかなんというか
714 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 03:09:43.76 ID:ppE6WkEJ.net] 書き途中で「書き込む」ボタンを押しちゃった。てへ >>685 >>687 これはデフォルト実装が同じtrait内のメソッドと結合することまで実装継承と言うかという話なんじゃないか 実装継承の定義をtraitへ無理やり拡張する時に生じた意味の拡散ですれ違ってるだけに見える
715 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 05:41:23.80 ID:OqC8H1ED.net] >>694 そもそもはある具体型A(もしくはクラスA以下同様)の実装が別の具体型Bの実装として継承されることを指すよね 一方でRustのトレイトのデフォルト実装では具体型の実装は全く出て来なくて具体型とは切り離されているよね したがってある具体型の実装が別の具体型の実装として継承されることは起きないため明確かな
716 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 09:43:00.30 ID:tKcafxZR.net] 継承用の基底クラスを提供するのはライブラリやフレームワークで、フロント屋はその提供された基底クラスを継承して使う フロント屋は用意された基底クラスを使う以外はインターフェースやシールドクラスで継承もどきをやるだけで事足りてる
717 名前:デフォルトの名無しさん [2024/01/20(土) 10:27:27.05 ID:mMSNo4e1.net] staticおじさんが結局正しかったね。
718 名前:デフォルトの名無しさん [2024/01/20(土) 10:38:22.56 ID:WbtYcj4O.net] うん、知らんけど
719 名前:デフォルトの名無しさん [2024/01/20(土) 11:13:01.53 ID:ppE6WkEJ.net] >>696 いま思い出したことなんだけど。具体型の継承はできないと思うけど、traitをtraitに実装するということが出来る traitAにデフォルト実装を書いて、traitBに実装すると、traitBを実装した型はtraitAのデフォルト実装を引き継ぐ
720 名前:デフォルトの名無しさん [2024/01/20(土) 11:29:56.55 ID:ppE6WkEJ.net] trait TraitA { fn method_a(&self); } trait TraitB { fn method_b(&self) { println!("Method B called"); } } // TraitBをTraitAを実装するすべての型に対して実装する impl<T: TraitA> TraitB for T {} struct MyStruct; // MyStructにTraitAを実装する impl TraitA for MyStruct { fn method_a(&self) { println!("Method A called"); } } fn main() { let my_struct = MyStruct; my_struct.method_a(); // TraitAのメソッド my_struct.method_b(); // TraitBのメソッド(TraitAを実装するため自動的に利用可能) }
721 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 11:37:18.66 ID:ppE6WkEJ.net] Rustに多重継承は存在しないという場合、意味的にはフィールドを継承しないことと、 スーパートレイトを使用すれば、トレイトのデフォルト実装を別のトレイトに暗黙では引き継がないことを指すんじゃないかな かな、というのは、まあここら辺は人によって受け取り方が違うから議論しても仕方のないことなんだけど
722 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:00:42.41 ID:+uoYRouQ.net] >>700 >>701 それは実装継承ではないよ なぜならtraitは具体型ではなく、さらにRustの場合はデフォルト実装から具体型の固有フィールド(メンバ変数)や固有メソッドに一切アクセスができない つまり実装継承における問題が発生しない
723 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:26:39.60 ID:pJVjc8l1.net] 実装継承ではないのか、実装継承における問題が発生しないだけなのか、どっちなんだい?
724 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:38:21.50 ID:+uoYRouQ.net] >>704 両方 まず実装継承とは具体型の実装が別の具体型に継承されることだから該当しない 次に>>701 が例示している件に対して >// TraitBをTraitAを実装するすべての型に対して実装する >impl<T: TraitA> TraitB for T {} これは実装継承ではないだけでなく、類似しているように見えても、実装継承の問題と同じことは発生しない
725 名前:デフォルトの名無しさん [2024/01/20(土) 12:39:32.26 ID:BTn7foKi.net] 実装継承ができないと不便じゃない? リソース管理を一元化したくなったりとかしないの?
726 名前:デフォルトの名無しさん [2024/01/20(土) 12:40:39.50 ID:BTn7foKi.net] Rustにも実装継承はあるんじゃないかな
727 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:53:48.29 ID:UT8XEnd7.net] >>706 Rustでは異なる型の間でコードを共有一元化するためにトレイト制約を使ってジェネリックにコードを書ける そのコードは特定の型に対して一切書かれていないため実装継承とならないだけでなく実装継承と類似の問題も発生しない >>707 Rustに実装継承はない
728 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:58:32.97 ID:S3QqAIL4.net] ジェネリックで書いてコンパイラに整合性を取らせる うむ、完璧だ
729 名前:デフォルトの名無しさん [2024/01/20(土) 13:04:04.37 ID:BTn7foKi.net] Structの合成があるじゃないか 実装継承の問題が発生しないのはわかったけど 実装継承の便利さが失われてたら元も子もないじゃん リソース管理を一元化したくなったりとかしないの?
730 名前:デフォルトの名無しさん [2024/01/20(土) 13:08:56.68 ID:BTn7foKi.net] オブシコは機能とデータを一緒に管理することだけど それができないRustは不便なのでRustは滅びます
731 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:16:14.55 ID:UT8XEnd7.net] >>709 Rustはそのためにトレイト制約がありコンパイラは整合性を必ず確認できる >>710 Rustではトレイト制約を伴うジェネリックコードにより異なる型間でも安全にコードを共有化できる >>711 Rustでも型(データ)に対してメソッド(機能)を実装できる
732 名前:デフォルトの名無しさん [2024/01/20(土) 13:18:48.25 ID:BTn7foKi.net] >>712 データにメソッドを生やして継承もできるん?
733 名前:デフォルトの名無しさん [2024/01/20(土) 13:20:04.95 ID:BTn7foKi.net] オブシコにおいて実装の継承は正義です Rustに正義はあるのかを問うています
734 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:34:19.14 ID:UT8XEnd7.net] >>713 やりたいことの本質は異なる型の間でのコードの共有一元化でしょう Rustではトレイト制約を用いて特定の型に依存しない形でコードの共有一元化ができます >>714 オブジェクト指向に実装の継承は必要ありません
735 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:35:44.30 ID:JKkFvgES.net] 誰かさ、適当な文法で単一のC言語ソースファイルを出力するトランスレータ作ってくんない? 仮想関数テーブルとかRTTIとかそれならなんとかなるだろ?
736 名前:デフォルトの名無しさん [2024/01/20(土) 13:36:27.03 ID:BTn7foKi.net] じゃあオブシコはオワコンかも知れませんね
737 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:44:22.78 ID:tKcafxZR.net] さすがRust有識者だ😳 トレイトへの理解度が高い
738 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 14:51:20.08 ID:pJVjc8l1.net] 継承はすべてのオブジェクトに共通のデータと手続きを強制するからな 途中で一部しか共通してないオブジェクトの存在が判明したら、 クラスツリーをがっつり再設計しないといけなくなる こんなものをオブシコに入れちゃったやつの罪は深い
739 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 15:05:28.23 ID:UvH2GUkc.net] >機能とデータを一緒に カリー化された関数を部分適用すればいい じゃあ何故カリー化と部分適用はオワコンではないのか 無意味だからだ 意味を見出せないから終わったという判断もできない
740 名前:デフォルトの名無しさん [2024/01/20(土) 15:06:09.94 ID:ppE6WkEJ.net] 能力の高いプログラマーしかプロジェクトに参加しないこと前提ならば継承の副作用は目立たないけど Javaのような大規模開発向けの言語に継承を入れたのは間違ってたなあ Javaの仕様を考えた時は、親クラスは能力の高いエンジニアが書くという前提だったんだろうね
741 名前:デフォルトの名無しさん [2024/01/20(土) 15:25:38.27 ID:WbtYcj4O.net] >>719 再設計は不要 はい光速の論破
742 名前:デフォルトの名無しさん [2024/01/20(土) 15:56:26.55 ID:BTn7foKi.net] 大規模開発向けにはRustを採用すべきだ
743 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 16:02:56.24 ID:JKkFvgES.net] アスペクト指向との統一解ってことなのかな ろくに勉強してないんだけど
744 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 16:28:12.97 ID:JKkFvgES.net] もともとアスペクト指向の提唱者たちが言い始めたことだからね どんなに上手くクラスツリーを設計しても何らかのコードを横断的に埋め込みたくなるニーズがなくならないって
745 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 17:05:53.11 ID:pJVjc8l1.net] >>722 つまんねーのに無理すんな
746 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 23:20:19.94 ID:ppE6WkEJ.net] Rustは学習コストが重すぎるからねえ スタックフレームとか、ライフタイムとか、そこら辺の知識は普通のPGには余計だろう Rustのスクリプト言語版が出たら流行るかなー
747 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 00:07:59.00 ID:bASnz3O7.net] RustじゃなくてもGoくらいでちょうどいい
748 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 08:12:46.78 ID:yW5L0zfB.net] >>723 お前Rustのことわかってない上にプログラムできないじゃん つかとっとと埋めてしまえよこんなスレタイだけでキチガイがわくスレ 真面目に語りたい人ならマ板でやる
749 名前:デフォルトの名無しさん [2024/01/21(日) 11:29:38.85 ID:oaoSrz7+.net] >>729 俺のことは関係ない、俺は世の中のことを言ってる そんなことも読み取れない認知能力チンパンジーの分際で 俺様に文句言うなんて100年早えわ お前はRustだけ頑張ってろアホンダラ 俺は日本の未来を考えとく
750 名前:デフォルトの名無しさん [2024/01/21(日) 11:31:12.83 ID:oaoSrz7+.net] Rustの未来も俺が決める Rustはもっとオブシコ頑張ったが良い Rustは学習コストが高すぎると言われている これはオブシコで解決できるはずだ
751 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 13:06:59.82 ID:JVSLhHIM.net] Rustってそんなに学習コストが高いか? C++11以降のがトチ狂ってると思うんだけど
752 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 13:40:55.67 ID:FqjwRk5K.net] スマポより生ポのが気持ちいい だからわたしは生ポインタ
753 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 15:09:59.21 ID:LGH4j5ie.net] >>705 >まず実装継承とは具体型の実装が別の具体型に継承されることだから該当しない これは間違い 実装継承とは文字通り「実装」が「継承」されること <== この意味を理解できるかどうかが重要 実装継承における問題というのはこれも文字通り「実装」が「継承」されることによって起きる 継承元が具体型扱いかどうかは関係ない >>704 >実装継承ではないのか、実装継承における問題が発生しないだけなのか、どっちなんだい? Rustのトレイトデフォルト実装は実装継承の一種でもあるし、実装継承ににおける問題も発生する C++等一部の言語で発生する実装継承における問題の一つが発生しにくいようになってるだけ
754 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 21:44:12.50 ID:r/H1GIpX.net] >>734 Rustに実装継承はない Rustのトレイトのデフォルト実装では、いわゆるメンバ変数やメンバ関数にアクセスできない したがってRustでは実装継承と同様の問題は発生しない
755 名前:デフォルトの名無しさん mailto:sage [2024/01/22(月) 00:42:25.64 ID:CM1Sn+EA.net] トレイトはインターフェースとも継承とも違う新しい考え そこを誤解してはならない
756 名前:デフォルトの名無しさん mailto:sage [2024/01/22(月) 02:11:51.31 ID:d/h6/f8z.net] >>735 実装は継承してるけれども実装継承ではない? 「募ってはいるが募集はしていない」より酷くね?
757 名前:デフォルトの名無しさん mailto:sage [2024/01/22(月) 02:24:04.21 ID:WDLNMI9J.net] >>737 Rustに実装継承はない Rustのトレイトのデフォルト実装からは、いわゆるメンバ変数やメンバ関数にアクセスできない メンバ変数やメンバ関数にアクセスできる部分はトレイトのデフォルト実装から分離されている その部分はトレイトを実装するときに各型で個別に実装する したがってRustでは実装継承はなく問題も発生しない
758 名前:デフォルトの名無しさん mailto:sage [2024/01/22(月) 12:41:11.25 ID:SpT9Xs4x.net] 実装継承は派生側に開放する部分と基底側で閉鎖する部分の管理が難しいから、やはり「早すぎる最適化」になりがち。 開放/閉鎖の原則を守るためには基底側と派生側のインターフェイスとプロトコルを厳密に管理する必要があるけど、そこまでサポートしているオブジェクト指向言語てあったっけ?
759 名前:デフォルトの名無しさん mailto:sage [2024/01/22(月) 12:43:36.23 ID:SpT9Xs4x.net] >>736 トレイトてこのこと? まずは認識合わせをしないとな。 ja.m.wikipedia.org/wiki/%E3%83%88%E3%83%AC%E3%82%A4%E3%83%88
760 名前:デフォルトの名無しさん [2024/01/22(月) 15:21:25.58 ID:eIK4O4RB.net] 最新鋭のRust言語と同等の最小コンパイル単位でよければもっとクリーンなオブジェクト指向言語があり得たって話で、 残念なことに30年前のハードウェアでやんなきゃいけなかった 仮想関数の方がデフォであるようなC++ 文字列じゃなくて関数ポインタの配列のインデックスであるようなObjective-C ガベコレの無いJava こだわる人は今からでも作ればいい ソースを一気に引数に取って単一のC言語のソースファイルを出力するトランスレータを作ればいい
761 名前:デフォルトの名無しさん [2024/01/23(火) 22:17:38.84 ID:3AfREKFo.net] オブシコプログラムの難しいところってオブジェクト同士の連携が オブジェクトに書かれるところだと思うんだよ 全体のフローがよくわからなくなる オブジェクトには自律的に他のオブジェクトと連携することをやらなくさせて コーディネートする処理を関数型や手続き型で書くのがいんじゃないかね 昔はオブジェクトが知性を持ってるかのように書くのが良いオブシコだと言われてたけど スパゲティ製造工場にしかならんかった
762 名前:デフォルトの名無しさん mailto:sage [2024/01/23(火) 22:19:52.82 ID:lLzKFCPg.net] ObjectiveCの[]←こんな奴でメッセージ送ると幸せになれるよ
763 名前:デフォルトの名無しさん [2024/01/23(火) 22:19:59.28 ID:3AfREKFo.net] フロー制御をオブシコでやりだしたら危険信号、これがぼくの経験から導き出された結論
764 名前:デフォルトの名無しさん [2024/01/23(火) 22:23:03.86 ID:PPNQFWhj.net] おしりがおまんこになっちゃうのがオブジェクト指向
765 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 00:11:12.99 ID:X/KtyNlm.net] >>738 基本的な実装継承の問題を理解してないから話噛み合わないね メンバ変数・メンバ関数の話はFragile Base Class Problem(FBCP)について言及してるつもりなんだろうけど メンバ変数やメンバ関数にアクセスできるかどうかはFBCPの根本的な発生条件とは関係ないよ 継承元のメソッド実装がオーバーライドされた継承先のメソッドを呼び出せるならFBCPは発生する 当たり前だけどFBCPは実装継承の問題のうちの一つであってすべてではないからね ちなみにトレイトのデフォルト実装も別のトレイトのメソッド経由でメンバ変数やメンバ関数にアクセスできる クラス継承でベースクラスのメソッドがオーバーライドされたメソッド経由でメンバ変数やメンバ関数にアクセスするのと同じ
766 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 00:14:41.63 ID:1XOdKji/.net] >>744 イベントループをブラックボックス化したのは 「次のイベント」の種類ごとに分岐する際にifならbool値、switchなら整数のようなものしか 使えない言語の問題をライブラリでなんとかしようとした結果
767 名前:セ [] [ここ壊れてます]
768 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 00:16:21.62 ID:X/KtyNlm.net] ついでに言っておくとRustのDeref/DerefMutも実装継承の一種なんだけどこっちはFBCPは発生しない
769 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 02:14:43.30 ID:fgSFyL+S.net] >>746 Rustには基底クラスが存在しないため FBCPも含めて実装継承に関する問題は発生しないよ
770 名前:デフォルトの名無しさん [2024/01/24(水) 12:30:29.92 ID:JqKAHMdE.net] 影響力ゼロの人がどれだけオワコンオワコン繰り返しても全く影響無い。
771 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 13:30:09.74 ID:1XOdKji/.net] それなら人の力ではなく天変地異の影響を主に想定したほうがいい
772 名前:デフォルトの名無しさん mailto:sage [2024/01/24(水) 16:22:26.10 ID:XaeHtqc/.net] 妻がダイエットのために乗馬を始めたんだけど一ヶ月で10キロ痩せたよ 馬がね
773 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 12:58:37.96 ID:mbfTQf92.net] has a関係は被害者と加害者が別人で、責任の連鎖がある 鎖を切って悪い影響を0にする変更はしやすい is aは影響力を不変にする 責任の連鎖をなくして自分自身の責任とする
774 名前:デフォルトの名無しさん [2024/01/27(土) 19:38:08.87 ID:w8m8MtP7.net] 241 伝説の名無しさん sage 2020/10/13(火) 15:00:15.08 「胸がドキドキする」というのはいわば生理現象であり、抑えることはほぼ不可能だ。 月末のクレジットカードの支払額に、想像以上に可愛かったデリヘル嬢のおマンコにと胸を 突かれるのは悪いことではない。 翻って「チンポがシコシコする」というのは能動的な衝動であり、極めて不埒な責任転嫁である。 シコシコはチンポが勝手にやったことであり、決してチンポの持ち主の意向ではないという、どこぞの 政治家の「秘書が勝手にやったこと」のような言い逃れがしばしば聞かれ、あまつさえそれがまかり 通ってきたことは周知の事実である。 チンポからシコシコを奪取し、各人の掌に戻る日は果たしてやってくるのだろうか……。
775 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 22:55:15.08 ID:QdyqwSfC.net] 責任という概念自体に違和感を表明する者がよくいるが 馬クラスと動物クラスには責任の擦り合いや利害対立がなさそうなところが共感されるんじゃないか
776 名前:デフォルトの名無しさん [2024/01/27(土) 22:55:50.75 ID:BuZgAgXz.net] 令和になっても継承批判は聞きたくないね 手垢ついてるとかいうレベルじゃないぞ OOPには価値がない OOPのメリットとやらは無意味だ というふうな大きい批判が聞きたい
777 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 22:56:54.43 ID:BuZgAgXz.net] あ、>>756 は別に特定のレスにむけたレスじゃなくて ざっくりとした意見ね
778 名前:デフォルトの名無しさん mailto:sage [2024/01/27(土) 23:08:28.46 ID:9xE1RMNT.net] オブジェクト指向は継承という一つの要素が終わっただけだしなあ 未だ現役すぎる
779 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 00:58:58.58 ID:stV8Z8Wq.net] 何らかの違和感の解消がオブジェクト指向のメリットだとするなら 元から違和感などなかった奴にとって無価値である
780 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 03:30:55.01 ID:z8UBzo+x.net] 5chになにを期待してんだかな
781 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 14:48:42.54 ID:EVWA08mD.net] >>756 概念的にはインターフェイスとコンポジションに発展的解消したから、オブジェクト指向はオワコンだろ。
782 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 14:56:56.93 ID:z8UBzo+x.net] インターフェイスもコンポジションも人間が簡易に理解するためのものだろ なめてんのか
783 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 15:18:10.03 ID:gBYyPSdU.net] >>761 それオブジェクトの継承が別の概念に変わっただけでカプセル化とポリモーフィズムは健在じゃん… もっとおもしろいこと言ってくれ…
784 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 16:44:30.08 ID:nAHL+G+L.net] オブジェクト指向プログラミングのコアコンセプトは「データと操作をまとめて一つの型として扱うこと」これだけ オブジェクト指向プログラミングではなくオブジェクト指向言語といった場合は ブーチの定義が普及したせいでカプセル化、ポリモーフィズム(基本はサブタイプポリモーフィズム)、継承の3点セットを基準にすることが多いが 言語機能としての継承はオブジェクト指向プログラミングに必須のものではないし ポリモーフィズムもオブジェクト指向言語特有のものではないので両方ともコアコンセプトではない
785 名前:デフォルトの名無しさん mailto:sage [2024/01/28(日) 17:24:51.96 ID:EVWA08mD.net] >>763 オブジェクトのカプセル化はインターフェイスとデータを密結合するけど、インターフェイスによるカプセル化はデータと密結合しない。 オブジェクトのポリモーフィズムはオブジェクト同士が(継承関係とかで)密結合するけど、インターフェイスは継承関係とかの密接な関係を結ぶこと無しに(理想的には)ダックタイピングで多態できる。 まあ、そこまでのダックタイピングをサポートするインターフェイスとか知らんけど。 c++のコンセプトがそのまま型になったらいいんだけどなぁ。
786 名前:デフォルトの名無しさん [2024/01/28(日) 17:54:19.13 ID:uVCrPT47.net] オブジェクトという言葉と同じでカプセル化という言葉は人によって意味が違うので困る
787 名前:デフォルトの名無しさん [2024/01/28(日) 19:52:00.86 ID:cMZBK/kO.net] 70 名無しヒーリング 2021/04/26(月) 09:45:57.57 ID:jZDy/LpM 先生、実際にシコシコするのは
788 名前:`ンポでなく俺の右手だと思います。 ✖チンポがシコシコする ○ 俺の右手がチンポをシコシコする 71 名無しヒーリング 2021/04/26(月) 09:56:38.18 ID:jZDy/LpM あと、「胸がドキドキする」と「チンポをシコシコする」は比較対象になりません。 「胸がドキドキする」は「チンポがヒリヒリする」のように状態・感覚を擬音語で現しているのであって、 「チンポをシコシコする」は「胸をモミモミする」の様に人間や動物が対象に対して何かを行う行為の表現だと思います。 [] [ここ壊れてます]
789 名前:デフォルトの名無しさん mailto:sage [2024/01/29(月) 09:05:57.54 ID:MhZcn14S.net] くだらない比喩でいつまやってんだ?
790 名前:デフォルトの名無しさん [2024/01/29(月) 15:05:39.33 ID:oNy2vKqL.net] >>767 だからシコシコは男性器を擦る擬音で勃起のことではない 君は女性かな? それともシコシコが勃起を表す地方が日本のどこかにあるのか どっちにしろいくらがんばってもメジャーなコピペになれないのは大多数の人に表現がピンとこないのが原因だと思うよ
791 名前:デフォルトの名無しさん [2024/02/01(木) 21:11:10.96 ID:RS6y7MOu.net] PHPでアブストラクトやりまくってる これやってればいい ここまで来るのに2年かかったわ
792 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 19:38:06.66 ID:/UMw8Y/Y.net] 再利用しようにもパーツに分解できない大きなプログラムのスパゲッティ化を防ぐために ひと塊のルーチンを“関数”として入り口出口を決めましょうがカリー化まで続く一方の流れで その塊をどうやって集団として機能に固めたり制御するのかを考えるのがオブジェクト指向 そういう上位レベルでの制御やメンテナンスの汎用的な考えから出てきた概念を 小さいレベルでのプログラムAの脚を車輪に付け替えるにはとか プログラムAの塊を継承してプログラムBにするのが“オブジェクト指向”なんだよ!って 鬼子でしかないC++最初に来ちゃったせいで現代に至るまで あれがオブジェクト指向だと思い込んでるおじいちゃんがですね…
793 名前:デフォルトの名無しさん [2024/02/04(日) 20:30:59.20 ID:owhn6I10.net] おじいちゃん構文丸出しでおじいちゃん批判ww しかも中身が間違いだらけとかwww
794 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 21:58:45.40 ID:nqsMiwRK.net] インターフェース楽しいな~ 継承無しでコーディングできる~
795 名前:デフォルトの名無しさん mailto:sage [2024/02/04(日) 23:05:40.25 ID:iyTJzl7x.net] 塊って言いたいだけ
796 名前:デフォルトの名無しさん [2024/02/04(日) 23:11:46.13 ID:SuDI4pWX.net] >ひと塊のルーチンを“関数”として入り口出口を決めましょう これ現役引退してるような世代の方ですよね?
797 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 10:19:20.77 ID:z455Qu8w.net] 役割で固めるってのを忘れてる
798 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 11:38:56.86 ID:iuJxPrpx.net] 横断的関心事の意味が分からんと常々思っていたけど 役割で固めるのをやめるという意味なのかね 固めようと思ったことがない奴にとっては無意味なことだ
799 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 12:31:22.93 ID:29NJAnme.net] 横断的にシコシコする役割の塊がオブシコである
800 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 17:30:42.79 ID:UM+1T8m6.net] オブジェクト指向はモジュラリティを高めるために考え出されたものだが「どの抽象化階層のモジュラリティを高めるものなのか」という大前提を理解していないと何を見てもオブジェクト指向だと感じるようになる
801 名前:デフォルトの名無しさん mailto:sage [2024/02/05(月) 23:45:04.18 ID:29NJAnme.net] そりゃオブシコするぐらいだからモジャラリティは高いだろ
802 名前:デフォルトの名無しさん [2024/02/07(水) 14:59:43.29 ID:LJRNIYaK.net] 1. 簡単な言葉を使う 頭が良い人は、複雑なことや専門知識も「簡単な言葉」で説明することができます。 この能力は、深い理解があるからできること。相手が理解しやすいように情報を整理して伝えることは思いやりでもあります。 https://news.yahoo.co.jp/expert/articles/9bb7a62121796847a941127e3d5040008fedd464 クリントン大統領にどんな強大な権限が有っても、自らのチンポがしこしこしてしまうのは止められない! class チンポ extends クリントン{ super.不適切な関係; } クリントンの再定義、クリントンの拡張された人格ということだ!
803 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 12:31:45.94 ID:1UgkqCq+.net] 世界一オブジェクト指向に忠実なメインクラスできたで class Main(): def do(): pass m=Main() m.do()
804 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 15:11:48.80 ID:g/oXQBQp.net] オブジェクト指向はオワコン 継承はよくない文化
805 名前:デフォルトの名無しさん [2024/02/13(火) 17:38:57.37 ID:TeIoV+iR.net] Template Methodパターン便利ですよ
806 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 18:33:53.66 ID:vbRTXFPD.net] has a関係は抽象度の低いクラスを参照することはマナー違反ではない is a関係は自分よりも抽象度低いクラスを継承したらマナー違反だよな
807 名前:デフォルトの名無しさん [2024/02/13(火) 19:00:08.50 ID:mLNp/E4P.net] 継承を理解してれば問題無い 理解していないけどら問題無く使える道具は存在しない つまり須く低レベルということ
808 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 19:17:02.49 ID:022XTqy3.net] >>786 俺は使えるから問題ないんだが部下や上司に無能がいると困る 全ての言語で機能ごと消去するべき
809 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 19:19:14.84 ID:cHpLMfgk.net] C/C++でいいところを無能のためにRustでわざわざメモリ管理を強制的に縛るのと一緒やね
810 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 19:54:20.90 ID:XGO25OBO.net] オブジェクト指向って>>1 みたいな頭の悪い人でもプログラミングできるようにするためにあるんだよ 難しいのは>>1 みたいな馬鹿が>>1 みたいな馬鹿のためにオブジェクト指向に則ってプログラミングする行為であり、>>1 みたいな馬鹿がオブジェクト指向で設計されたコードを扱うのは難しくない オブジェクト指向がオワコンな訳が無い
811 名前:デフォルトの名無しさん [2024/02/13(火) 20:27:17.94 ID:mLNp/E4P.net] >>787 無能がいる限り何の解決にもなってない リスクが下がったと勘違いしてるだけ
812 名前:デフォルトの名無しさん mailto:sage [2024/02/13(火) 20:32:56.11 ID:VRA/nuAd.net] >>788 Rustを使えない無能がC/C++を使って穴を生み出し続けている現実を見ようぜ
813 名前:デフォルトの名無しさん [2024/02/13(火) 21:20:27.36 ID:mLNp/E4P.net] >>791 その無能がrust使ったところでろくなものは生み出せない 包丁で怪我する人がいるから包丁は悪、と言ってるのと同じ。 別に主張するのは自由だがそれで包丁が消滅することはない
814 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 03:16:18.02 ID:7f34VUqx.net] 頭の悪い人がプログラミングできるためってたまに見るけど疑わしいわ 頭の悪い人がちゃんと設計して、多態性を活用してるのを見たことがない ただメモリの自動解放とかライブラリに頼ってるだけで、 そういう利便性はオブジェクト指向とあんまり関係なくね?
815 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 06:53:24.91 ID:1rro2+lE.net] 知らないのか?今は転職ブームのせいで文系出身の頭悪いプログラマが大量発生してる そいつらのせいで言語が変わらなくては生けない時代になった
816 名前:デフォルトの名無しさん [2024/02/14(水) 08:07:28.98 ID:M2AyybwD.net] 言語が変わっても頭悪かったらどうにもならないよw
817 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 08:40:34.28 ID:y6T/tEC4.net] >>795 多少はマシになるやろ
818 名前:デフォルトの名無しさん [2024/02/14(水) 10:07:41.88 ID:M2AyybwD.net] >>796 無能じゃコンパイル通せないから動かせない つまり逆に悪くなってる
819 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 10:15:13.33 ID:Z6/Yikm0.net] >>797 無能が進捗管理で炙り出されるから全然マシ
820 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 10:46:51.26 ID:4THDuETy.net] >>797 本番段階でバグが出るよりマシ
821 名前:デフォルトの名無しさん [2024/02/14(水) 11:08:35.63 ID:t8DY/Tt9.net] コンパイル通すのが難しいと無能はコンパイル通ったからOKという感覚になるので一長一短 何事も良い面悪い面があるのに無能は片面だけしか見ない
822 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 11:22:35.02 ID:1xW2DpZI.net] >>800 最低限コンパイラの通れば多少見れるコードになってるので、有能がコードをレビューしやすい
823 名前:デフォルトの名無しさん [2024/02/14(水) 12:27:44.94 ID:M2AyybwD.net] >>798 それは言語の役割じゃない 全然マシでもなんでもなくて草
824 名前:デフォルトの名無しさん [2024/02/14(水) 12:31:09.06 ID:M2AyybwD.net] >>799 どっちでも一緒 納品できないのに「本番でバグが出るよりは良い」と言い張るのはアタオカ
825 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 13:02:59.82 ID:qQWVhIbb.net] 現実は納期というものがあるから効率重視でCC++使って適当に作れたほうがありがたいんだよなあ バグなんてある程度は知らんぷりしていい わざわざRustを使って完璧を求めるのは無駄
826 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 13:03:09.87 ID:OE64F1T2.net] 長所も短所も両方知っている知識人を理想とするのは 商売とはあまり関係ない理想だ 商売を重視しないのであれば長所も短所もわりとどうでもいい
827 名前:デフォルトの名無しさん [2024/02/14(水) 13:18:52.38 ID:U1pcKTg+.net] >>801 コンパイルを通しやすいかどうかとコードが見やすくなるかどうかに正の相関関係は無い 加えてコンパイルを通しにくくなればなるほどコンパイルを通すための手助けが当然必要になる 「身の丈に合った言語を」 by 萩豚
828 名前:デフォルトの名無しさん [2024/02/14(水) 13:20:42.45 ID:eD+V22zq.net] Rust習得できない馬鹿が書いたC++コードの保守、やりたくなさすぎる
829 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 13:57:57.05 ID:Z6/Yikm0.net] >>803 本番でバグとか酷い炎上案件。 クライアントにとっては悪夢ですなぁ。 納期遅れのほうがまだ見える分マシ。
830 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 13:59:03.81 ID:AmCG1+WQ.net] >>806 コンパイルできる人材を確保できるかどうかは中途採用ガチャしまくればいける コンパイルできねえやつは捨てる、それだけだ
831 名前:デフォルトの名無しさん [2024/02/14(水) 14:56:27.36 ID:8lIAACZZ.net] >>807 だれがあなたを頼るの?
832 名前:デフォルトの名無しさん [2024/02/14(水) 15:03:18.56 ID:8lIAACZZ.net] >>808 都合良く「納品はできる」妄想を前提として話を進められるならどうとでもなる 結局無能でもどうにかなるなんて全く現実的ではない、rust信者の詐欺的妄言なのでどっちでも一緒
833 名前:デフォルトの名無しさん [2024/02/14(水) 16:53:53.91 ID:ry67cZRi.net] >>809 技術者をまともに育成する術も評価する術も持たずガチャするしか脳の無い無能企業には有能なやつほど寄り付かない そうなると渋いと評判の某ガチャUR排出確率並み(0.3%)になるから100回回しても有能1人雇える確率は3割にも満たない 運良く雇えてたとしても数年以内に転職して抜ける確率は逆に8割以上 身の丈に合わない選択は破滅への近道
834 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 17:49:37.27 ID:kwXXlBt4.net] どこまでオブジェクト設計するべきかが良くわからん 例えばトランプゲームを作ろ
835 名前:うとした時のカードについて 数字込みの絵柄と表示用の画像くらいしか必要ないと思うけど わざわざCardクラスCardDeckクラスとかを用意する必要があるの?とか [] [ここ壊れてます]
836 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 18:11:12.61 ID:J37aOx7P.net] Deckが内包するデータはCardの配列のみだとしても シャッフルやドローなんかの操作を配列として外から行うより Deckとして備えてる方がシンプルに保てそう
837 名前:デフォルトの名無しさん [2024/02/14(水) 18:32:43.17 ID:xYPMwtK4.net] >>813 クラス以外のユーザー定義型がないならオブジェクト指向よりの作り方でなくてもCardクラスやCardDeckクラスくらいは作るんじゃない? それらにメソッドを生やしてゲームルールを実装していくのか それともそれらをデータとして扱う関数を別のところに書くことでゲームルールを実装していくのか それぞれ良い点悪い点があるので一度両方で作ってみるといいと思う
838 名前:デフォルトの名無しさん [2024/02/14(水) 18:36:07.49 ID:xYPMwtK4.net] >>814 DeckモジュールとかGameモジュールにドローやシャッフルなどのDeckを操作する処理をまとめておくってのでも別に不都合ないよね?
839 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 18:44:53.20 ID:OE64F1T2.net] enumがオブジェクトではない言語では迷うが すべてがオブジェクトだったらenum Cardでいいのでは
840 名前:デフォルトの名無しさん mailto:sage [2024/02/14(水) 19:19:39.63 ID:g/tbjQoZ.net] スートが切り札(トランプ)に変わるようなゲームでは 判定で「こいつはいまトランプだから」で例外処理するのか カード側で「いまトランプです」したらいいのかの設計の話だわな
841 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 12:39:33.69 ID:q4O0G3u8.net] >>793 >ライブラリに頼ってるだけで そのライブラリに頼ってるだけを実現できるのがオブジェクト指向の功績だと思ってる 昔のWin32APIみたいなライブラリとインスタンス生成してからインスタンス.メソッド形式で利用するライブラリと比較したらライブラリの扱いに対するお手軽&簡単度合いがぜんぜん違う
842 名前:デフォルトの名無しさん mailto:sage [2024/02/15(木) 19:49:13.54 ID:b088ZsVf.net] いやwin32apiだろうがapiそのものがすでに「オブジェクト指向」だから 手軽とか簡単とかはオブジェクト指向とっくに通り越してそのように改良された結果ってだけ このスレ見てると「オブジェクト指向」が特別なナニカだと思ってる人も多くてアランケイも困惑するよw
843 名前:デフォルトの名無しさん [2024/02/15(木) 20:05:57.93 ID:Zy70aZMD.net] 「オブジェクト指向」が特別なナニカじゃないのであれば、「オブジェクト指向プログラミング言語」は「プログラミング言語」でよくなってしまう これまで「オブジェクト指向プログラミング言語」という言葉を使った人間はとんでもないガイジということになる
844 名前:デフォルトの名無しさん [2024/02/15(木) 23:20:24.51 ID:ibzEiIzs.net] 20年前のあれは何だった?どいつもこいつもオブジェクトだーと喚いてたくせに。屑どもが
845 名前:デフォルトの名無しさん [2024/02/16(金) 00:12:23.56 ID:L7DYjGhm.net] ここまでくると糖質っぽいな オブジェクト指向はオワコンと言い続けて何年経過してんだよw
846 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 06:40:28.27 ID:HTdB8AjD.net] オワコンにオワコンと言ってなにが悪い
847 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 08:47:18.11 ID:hfFr1EkU.net] オブシコオhル けど、脳汁が出るのは、なんでもアリなC++なんだよなあ
848 名前:デフォルトの名無しさん [2024/02/16(金) 08:49:55.02 ID:TCjahJiL.net] これこれ オウムみたいな感じ はなから議論をする気が無い オワコンオワコン繰り返して気持ちよくなるだけ
849 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 17:46:12.70 ID:/xV361+6.net] 非論理的=気持ちよくなる 専門用語を回避する現象?
850 名前:デフォルトの名無しさん mailto:sage [2024/02/16(金) 23:46:53.13 ID:7B7dg9RO.net] 自分がオブジェクト指向で挫折したから あんなの一時の流行りでしかない!って喚いて溜飲を下げようとしてるけど そもそも理解しないで挫折してるから「あんなの」が永久に 90年代のC++の時の“自動車の車輪を付け替える”からアップデートしない
851 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 01:14:52.71 ID:sBa/KHO/.net] アップデートという目標は分かったが現時点では違う目標を持つ者にとって ふつうに考えると目標を達成するためには目標を変更しないのが合理的 問題は、どうすれば永久に合理的であり続けるのをやめられるか
852 名前:デフォルトの名無しさん [2024/02/17(土) 11:49:08.21 ID:f/G7Vx68.net] オブシコで挫折してない人なんていません!!
853 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 12:25:59.71 ID:hmS5aeTe.net] 俺がいる 中途半端ってぶっちゃけ怖いよね >>826 議論っていうか、使えと言われた言語・ライブラリ(SDK)使うんだからね結局 好き・嫌い、とかって雑談してりゃいいんだよ 俺は、継承を使いこなせるいい漢になりたいぜ
854 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 13:09:34.49 ID:SNH81JMI.net] オブジェクト指向だろうがオブジェクト指向言語だろうが語りたいのならマ板でやれ 雑談どころかここで議論とか正気かよ。議論してもプログラム技術の役に立たないくらいわかるよな
855 名前:デフォルトの名無しさん [2024/02/17(土) 13:51:00.19 ID:f/G7Vx68.net] >>831 はっきり言う、お前はオブシコのことを何もわかってない >>832 お前もだ オブシコは挫折してからが始まりだ
856 名前:デフォルトの名無しさん [2024/02/17(土) 13:53:44.82 ID:f/G7Vx68.net] intではなくてMoneyだ Moneyを継承してYenを作れ stringではなくてAddressだ Addressを継承してPrefectureを作れ 本物のオブジェクト指向を経験しろ ぜったい挫折するから
857 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 14:31:27.57 ID:JQbQK4DF.net] >intではなくてMoneyだ 当たり前 >Moneyを継承してYenを作れ 意味不明 オブジェクト指向で作るならYenはMoneyの一属性 >stringではなくてAddressだ 当たり前 >Addressを継承してPrefectureを作れ 意味不明 オブジェクト指向だから挫折したのではなく間違ったオブジェクト指向を学ぼうとしたから挫折したんだな
858 名前:デフォルトの名無しさん [2024/02/17(土) 16:18:56.35 ID:f/G7Vx68.net] ↑ オブシコ厨ってこんなシロートばかりなんですよ
859 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 17:52:41.44 ID:chUgujl0.net] >>832 ムに置いときゃ、ムに資するネタがまじるけどね 俺は後から来たけど
860 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 17:56:31.13 ID:oJgej1EK.net] >>835 MoneyにbaseCurrency問い合わせると“Yen”って返すように作るよなぁオブジェクトなんだから
861 名前:デフォルトの名無しさん mailto:sage [2024/02/17(土) 19:30:44.83 ID:2JOYf9WZ.net] >>832 迷惑だからマに技術ネタ誘導すんな。
862 名前:デフォルトの名無しさん [2024/02/17(土) 23:59:55.91 ID:RsjvkJW8.net] >>824 本当にオワコン化したものは話題にすらならんよ 今どきポケベルはオワコンなんてスレ建てる奴なんていないだろ? つまり、そういうこと
863 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 02:06:18.29 ID:jMiNlzvA.net] ポケベルを話題にした自分自身を否定するより オブジェクト指向にファイティングポーズする方がよっぽどポジティブじゃないか
864 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 06:52:31.86 ID:AGcN1oEW.net] APIやライブラリを一切使わず、自分自身で「処理をしてオブジェクトを返す部分」も作らずにどんなプログラムが作れるんだよ 現代でプログラム書いてるやつは意識しなくても使うしか無い手法じゃないか 使わずにHelloWorldすら書くのは超難しい
865 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 07:05:06.57 ID:BTJ6Zkap.net] システムコールだけでHello Worldやるの無茶大変だった思い出
866 名前:デフォルトの名無しさん [2024/02/18(日) 10:14:36.02 ID:5IBLHZNo.net] API使ってればオブジェクト指向とか頭になんか湧いてるだろ
867 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 10:16:24.04 ID:BTJ6Zkap.net] >>844 そんなこと言われてなくね?
868 名前:デフォルトの名無しさん [2024/02/18(日) 11:06:51.79 ID:18G3CSzu.net] 「APIそのものがオブジェクト指向」だと主張してるやつはいるね>>820
869 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 12:13:41.03 ID:RIbrKfRB.net] とりあえず1000行くらいベタ打ちでプログラム書いて 書いたのをリファクタリングついでにクラス分けして またダーッと書いてって繰り返せばいいよね?
870 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 12:17:44.83 ID:NoFg1fuK.net] >>847 今世紀に出てきた様々なプログラミング言語はほとんどがクラスをサポートしていない クラスは役に立たず害が大きいとの共通認識があるため
871 名前:デフォルトの名無しさん [2024/02/18(日) 13:06:18.47 ID:2M17hFnk.net] >>848 バカの一つ覚え
872 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 14:18:51.57 ID:jMiNlzvA.net] APIは今でも関数とグローバル変数 stdinとかstdoutとか グローバル変数が一番最初にオワコン化し、オブジェクト指向は二番目以降と想定された
873 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 16:50:37.61 ID:g+lvGDPK.net] オブシコで書かれたAPIとかライブラリってのならある。ってなら書いた COMとかね 原理的には、ラッパがあれば、避けることはできる
874 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 19:30:26.46 ID:K/iFT05J.net] これで動くOSあるなら分からんでもない OS.boot()
875 名前:デフォルトの名無しさん mailto:sage [2024/02/18(日) 20:19:38.98 ID:FiBYienL.net] 低レベルはまた違うでしょ ってだけではなんなので、ちょっとだけ手を動かしたよ https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Library/UefiBootManagerLib
876 名前:デフォルトの名無しさん [2024/02/19(月) 01:20:09.81 ID:nPOSkLxV.net] >>848 事実認識ができてない JavaScript、C#、Python、Ruby、C++、Java、Kotlin クラス扱える言語はいくらでもあるし、そもそもクラスや継承を使えない=オブジェクト指向じゃないって訳では無い クラスはお前みたいな馬鹿には使いこなせないからクラス以外でオブジェクト指向な書ける方法が模索されたんだよw
877 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 01:36:14.67 ID:1O4I6mF/.net] どの言語かに関係なく クラス継承でプログラミングするやつはバカしかいない
878 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 02:23:23.32 ID:T5tehfX7.net] 特定のルートクラスに縛られる継承はだいぶむかしにオブジェクト指向のあまり良くない実装として 仕様を残しながら使わない方がベターになってるわな 使うクラスをオブジェクトとして別個にクラスに組み込むコンポジションの方が主流 「継承というのがオブジェクト指向!」とかいつの時代のおじいちゃんだよ
879 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 02:37:07.20 ID:TafNbO5j.net] ↑2000年代で止まってるオッサン
880 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 07:21:21.34 ID:94Ygw4Cz.net] あの当時の人なら一度は、オレオレプロジェクトで継承を使いすぎた経験ってあると思うのね
881 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 08:07:57.52 ID:GOMVHdKw.net] 継承しまくって訳わからん事になるなら新しいクラスにした方がいいと思うけどなあ File -◯◯FileBase --◯◯FileStructure ---◯◯FileModel ----◯◯FileInstance みたいなのよりFile2を定義し直した方が遥かにマシ
882 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 08:13:47.31 ID:Y0uHI/e6.net] ファイル名なんかもそうだが File_20240219 のようなユニークIDつけておくといくら被っても困らない
883 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 09:09:06.20 ID:94Ygw4Cz.net] 重複(安易なコピペ)コードはちょっとでもいけませんってきつく言われて、 それを避けるように継承をテキトーに使いすぎた記憶はあるんだよね is-a 原則を守って、責任者が正しく設計しましょう
884 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 09:20:08.17 ID:94Ygw4Cz.net] 似たようなコードが出るなら、サブルーチンにすりゃよかったんだけどね あの頃は名前空間をあんまり使いこなせてなくて、なんでもクラスに押し込みゃいいと思ってた
885 名前:デフォルトの名無しさん [2024/02/19(月) 09:26:15.27 ID:5htgrxhu.net] >>855 と、継承すら理解できない素人が申しております
886 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 10:20:44.59 ID:stH4FHBR.net] Rustが重複コードは二度と書かないってポリシーだっけ 最初の一歩踏み出すのにとんでもなく時間かかりそう
887 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 10:25:51.91 ID:Xye0EN8a.net] 何をもって重複コードとみなすのかなぁ たまたま別の機能で同じコードになったとかは まとめると後で痛い目に遭うよな?
888 名前:デフォルトの名無しさん [2024/02/19(月) 10:35:06.92 ID:62DfF/9H.net] >>864 Rustは書かなきゃいけないボイラープレートが多いから重複コードも多い コピペ継承とマクロ継承がよく使われてる
889 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 10:54:32.58 ID:VWZKMKLS.net] c++ コンセプトをそのまま変数のインターフェイスに使えればなぁ、と思う事はある。
890 名前:デフォルトの名無しさん mailto:sage [2024/02/19(月) 11:18:30.32 ID:W0+AhDGC.net] >>864 Rustも他の言語と同様に重複コードがあれば関数として切り出すだけだよ その時に異なる型に対してもトレイト境界により安全にジェネリック化がしやすく多用されてるね >>866 Rustは継承ではなく合成と移譲をするためその宣言は増えるけどそれらを重複コードとみなすのはありえないよ
891 名前:デフォルトの名無しさん [2024/02/19(月) 18:18:36.14 ID:NzCkUvZW.net] >>868 どういう構造で作られているかは重複コードとみなすかどうかには一切関係ない 変更をロックステップで適用しなければいけないのならどういうものであれそれらは重複コード
892 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 00:04:11.84 ID:LUfJNkJd.net] スマポみたいな機能の重複回避には昔は継承を使った 今はジェネリクスを使う 昔の方法ではスタックのint型とヒープのInt型を統一できない
893 名前:デフォルトの名無しさん [2024/02/20(火) 02:06:05.00 ID:u4Uobn3a.net] すべての型に対して全て同じ実装でよければジェネリクスで良いが一部の型でカスタマイズが必要になるといろんな障害が出てくる
894 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 05:49:02.76 ID:/gOXQNrB.net] >>871 それは普通によく起こることだが全く問題ない その型ごとの差異の機能を合成するだけで対応できる もちろんジェネリクスのままでよい
895 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 06:10:00.38 ID:jusHGvnd.net] インタプリタならそれでいいんだけどね。。(個人の感想です
896 名前:デフォルトの名無しさん [2024/02/20(火) 10:28:59.91 ID:EDso4HRp.net] 一部の型でカスタマイズが必要な場合にジェネリクスを使おうとすると将来を見通したカスタマイズポイントを最初に確定しておく必要があって多くの場合現実的ではない 要はOCPを満たせないので変更に対して弱く保守性の低いプログラムになる 加えてRustではcoherenceの制限だったりspecializationやHKTが未サポートだったりで使える状況がかなり限定されている
897 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 10:53:42.40 ID:C9p4KSn1.net] >>873 Rustでも>>872 の「その型ごとの差異の機能を合成するだけでジェネリクスのまま対応」できるよ Rustは必要な機能のトレイト境界を指定することでコンパイル時点で静的にジェネリクスでも安全に呼び出すことが保証されるよ 呼び出し方法は静的ディスパッチによる単相化またはvtable利用の動的ディスパッチどちらも選択できるよ
898 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 10:57:44.32 ID:cggt5bnJ.net] そもそもRustが大規模開発にゃ向いて無い件
899 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 11:08:20.16 ID:C9p4KSn1.net] >>876 大規模開発もできるように作られたRustについて真逆のウソはよくないよ 既に大規模開発で採用しているGoogle Microsoft Amazonといった大手IT企業たちが 共同でRust Foundationを設立して資金を出して安定した環境でさらなる開発が進められているよ
900 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 11:10:21.09 ID:z4RtXIEV.net] それってまだ到達して無いって事じゃね?
901 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 12:20:44.40 ID:ShtLDmLT.net] 既にクラウドやCDNなどネットインフラは次々とRust製へ変わった ソース >【クラウド世界トップシェアAWS】 >https://japan.zdnet.com/article/35183866/ >Rustで構築されたAWSサービスの例としては、 >コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、 >「Amazоn Simple Storage Service(S3)」、 >「Аmazоn Elastic Compute Cloud(EC2)」、 >コンテンツ配信ネットワーク「Аmazоn CloudFront」、 >LinuxベースのコンテナーOS「Bottlerocket」などがある。 >【CDN世界トップシェアClоudflare】 >https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html >CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、 >同社自身がRust製のHTTPプロキシである「Pingora」を開発し利 用していることを明らかにしました。
902 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 13:22:34.01 ID:LUfJNkJd.net] 大規模開発以外はオワコンゆえに構造化プログラミングはオワコン というのがオブジェクト指向の原点なのでオワコン論法を今更やめられない
903 名前:デフォルトの名無しさん [2024/02/20(火) 13:26:48.23 ID:oBR9eIxF.net] >>877 そのどれもが大規模開発じゃ無いぞ 使われてるがチームは数名だぞ
904 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 13:36:25.43 ID:AU1Zrlfs.net] 数名で各ネットインフラをRustで開発できるなら今後はRustでいいな
905 名前:デフォルトの名無しさん [2024/02/20(火) 16:28:18.46 ID:ZAWp74Ua.net] 「うちは大規模開発でやってる」という発言が出ないで、他人の情報に反応してそういう結論に切り替えるってことは つまり自分らでは使ってないってことかいな
906 名前:デフォルトの名無しさん [2024/02/20(火) 16:45:43.34 ID:rm//dl54.net] できるできる詐欺が横行してるな
907 名前:デフォルトの名無しさん [2024/02/20(火) 18:35:02.11 ID:pzacWR0B.net] 大規模開発は人数揃えるのが何より大切だからな COBOLかJava以外ありえない
908 名前:デフォルトの名無しさん mailto:sage [2024/02/20(火) 20:51:51.45 ID:lRk+yPyb.net] 全部できるよ
909 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 14:43:22.45 ID:Z35fBDP9.net] MVCで入力処理ってどこにおくべき? AIとかに聞くとCに置けって言ってくるけど 移植(ライブラリ変更等)時に描画系入力系を まとめてVに置いておくと楽だと思うんだけど
910 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 14:46:34.08 ID:QZ7TjEE8.net] いまだにMVCとかやってるから海外のアプリに勝てないんだよな
911 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 15:34:28.90 ID:C622TR9G.net] M: 変数 V: public関数 C: private関数
912 名前:デフォルトの名無しさん [2024/02/21(水) 16:02:41.28 ID:IVa7P8gb.net] >>887 MVCといってもクライアントサイドのMVCとサーバーサイドのMVCで考え方が違う また入力処理と言っても人によって指すものが違うので具体的にどういう処理を入力処理とみなしているか書かないとわからない さらに移植とライブラリ変更は一般的に違うものなので想定状況が伝わらない
913 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 17:11:10.76 ID:RdIBo6ag.net] M: member V: virtual C: constexpr // 空目
914 名前:デフォルトの名無しさん [2024/02/21(水) 18:43:28.52 ID:1mshJDzd.net] Mutable Virtual C++
915 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 20:19:29.17 ID:ryHNx0AS.net] 用語や形にこだわるより先に仕様通り動くもの作れ。くだらないこだわりで何も始められないのはただのアホ
916 名前:デフォルトの名無しさん [2024/02/21(水) 21:53:18.35 ID:gKvdV+n9.net] 唐突なストローマン論法で草 雑魚味が濃すぎる
917 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 21:58:52.64 ID:1UKYnLzP.net] >>887 元々は移植性のためにモデルはそのまんま環境と切り離した処理そのものを ヴューは人間の目に触れる画面レイアウト周り、そしてコントローラーは それらを繋ぐインターフェイスとして実装という考え方なので ゲームをPC、コンシュマー、モバイルと移植します画面周りはVです 操作されるゲームの中身はMです、つなぐ部分はCです …ん?マウスと十字キーとタッチパネル対応はどこまでがCだ?ってなるけど AIに聞けばテンプレどおりそら「Cに分けなさい」言われるわな
918 名前:デフォルトの名無しさん mailto:sage [2024/02/21(水) 22:04:57.80 ID:Ufq19E/Q.net] ゲームとビジネスアプリとでは違って来るよな ゲームなら🎮や⌨はCだが、ビジネスアプリでは単にVの付属物だったりする
919 名前:デフォルトの名無しさん [2024/02/21(水) 22:11:27.33 ID:UHHgkSfj.net] うそやん マウス対応やタッチパネル対応はViewやぞ AIに聞いてもそう答えるぞ
920 名前:デフォルトの名無しさん [2024/02/21(水) 23:59:03.36 ID:anjrCapC.net] 「入力」の抽象度の違い ビューに依存した入力とそこから一段階抽象度が上がったビューに依存しない入力がある それを認識できてればどこに含めるか迷わない
921 名前:デフォルトの名無しさん [2024/02/23(金) 11:08:19.40 ID:SaGFiexu.net] https://twitter.com/mayappy0627/status/1725074809883898273 M a y a ♡🏳⚧ヽ(๑╹◡╹)v🏳🌈 @mayappy0627 「シスヘテロ男性が女湯に入りたい目的で嘘をついて診断書を取得し性別適合手術を受ける可能性がある」 という言説がいまだに流れている様だが 女湯入ってオカズ目に焼き付けてもチン◯ないからシコれませんのでね。つまり男性的快楽は得られないという結末の一つさえ想定できないんでしょうかね? 午後5:54 · 2023年11月16日 · (deleted an unsolicited ad)
922 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 11:14:17.40 ID:GPv4EW4D.net] きんたま切り落とした時点で男性ホルモンは著しく減衰して性欲は無くなるよ🥲
923 名前:デフォルトの名無しさん mailto:sage [2024/02/23(金) 11:34:54.51 ID:QK/ZoJ33.net] class Man(Human): ... def do_chinko(): if (chinko is None): return None return finish() ...
924 名前:デフォルトの名無しさん [2024/02/28(水) 21:12:31.15 ID:igsDoIyP.net] >女湯入ってオカズ目に焼き付けてもチン◯ないからシコれませんのでね 人間に独立した人格が有るように、チンポにも独立したチン格が有る これは親クラスと子クラスの継承関係である チン格とはつまり「愚息」であり、自分にも他人にも成り得る これがオブジェクトの多態性と表現される オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋 このように時と場合によって真逆の性質を併せ持つことができる 随意筋 不随意筋 ↖ ↗ チンポ 自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
925 名前:デフォルトの名無しさん mailto:sage [2024/02/28(水) 21:59:59.89 ID:N6In+Wna.net] 機能するかどうかだけが問題で、欲求があるかどうかはあんまり関係無いよな
926 名前:デフォルトの名無しさん [2024/02/29(木) 17:11:51.40 ID:lYDtPhZw.net] オブジェクト指向では、オブジェクトの「機能」を意識することが大切ね! >>903 >機能するかどうかだけが問題で オブジェクト指向(OOP) は、データとそれに関連するメソッドを 「クラス」という単位でまとめて管理する開発手法です。 このアプローチにより、開発者は複雑な機能も再利用可能なモジュールとして効率的に構築できます。例えば、 新しい機能を開発する際、既存のクラスから必要なデータを取得し、必要に応じて新しい機能を追加することが可能です。 https://zenn.dev/cloud_ace/articles/29748ac0537c7f
927 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 17:34:03.72 ID:l9BYiy+8.net] モダンなプログラミング言語 Go、Rust、Zig、Nim、Julia、Elixirなどは クラスおよびその継承を言語仕様から排除しておりクラスは存在しない 各々の言語は全く異なる方針を採っている言語だがクラス排除だけは全てが同じ方針である クラスとその継承は悪手であるとプログラミング言語界では結論が出ている
928 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 18:33:41.13 ID:j2QgmuXb.net] むしろ、何段も継承されてわけわからん事になるのが嫌われてるだけなので swiftなんかはfinalつけてサブサブクラス禁止できるようにしてるな
929 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 18:44:02.92 ID:SAazNRBP.net] こんなスレで御託長文書くのはプログラム作れない人
930 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 18:55:21.40 ID:8i6X/khC.net] 悪手と言われると、極めたくなるんだよなあ
931 名前:デフォルトの名無しさん [2024/02/29(木) 21:12:27.90 ID:zvBPwraZ.net] >>905 クラスと呼ばれるものがないだけで メソッドを生やせる構造体も継承も Elixir以外のすべての言語に存在する 君が無知なだけ
932 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 21:41:50.06 ID:PlWfF7KT.net] クラスが存在しないことが最重要だからクラスを採用しない言語が増えてるんだよ クラスは間違った手法『具象型から具象型への継承』となる禁忌のクラス継承を伴うからね オブジェクト指向に必要なカプセル化は構造体などでもちろん可能だから オブジェクト指向にはクラスは不要だよ そしてインターフェイスや型クラスなどによる正しい手法『抽象型から具象型への継承』が代わりにあればよい モダンな各プログラミング言語はそれらの方針をとっている だからクラスが採用されてないんだよ クラスは悪
933 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 22:35:54.39 ID:8i6X/khC.net] 継承に親兄弟を殺された人がいるようだが 世界は残酷なのだ
934 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 22:42:52.64 ID:PlWfF7KT.net] 悪い→『具象型から具象型への継承』←クラス 良い→『抽象型から具象型への継承』←インターフェース・型クラスなど
935 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 22:58:22.40 ID:eayaXhXN.net] 要は個人開発レベル小規模webサイトレベルなら継承の類不要?つうかDIだけでは駄目なん?
936 名前:デフォルトの名無しさん mailto:sage [2024/02/29(木) 23:10:15.09 ID:M4AFeBSO.net] 規模にかかわらず同じ 抽象型からの継承は問題ない クラス継承はダメ
937 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 08:38:11.92 ID:FDcCyCi3.net] >>914 「抽象型の仕様が安定している限り」な。 抽象型の改変が入ったらインパクトが大きい。
938 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 08:59:14.79 ID:PeOPXftI.net] そこでダックタイピング(の併用)だな うん、継承一本ってのは、人類には早かった
939 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 09:08:35.51 ID:JrOItvM9.net] クラス継承は具象型からの継承なので多重継承の問題が発生する悪い方法だが 抽象型からの継承は多数あっても合成となり良い方法 >>915 抽象型は各機能毎に細かく多数用意されて合成して使うためそのような問題が起きない 抽象型の改変とは機能を変えることになるため別の抽象型として並行して扱える
940 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 10:31:31.13 ID:Lv7uqw7J.net] >>917 なら設計の初期に細かく多数の抽象型を決めなきゃいけない、ということになるわな。 未来を予測できる天才でもなければ厳しいな。
941 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 10:32
] [ここ壊れてます]
942 名前::36.36 ID:YMlxHHtw.net mailto: まあ、たいていのクラス設計は 製造終盤になると跡形も無いんだがな [] [ここ壊れてます]
943 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 10:56:06.21 ID:67BTULI7.net] >>918 クラスはピラミッド型の階層構造となり改変で他へ影響が大きく出る問題があり クラスは具象型なのでそれ自体がメンバ変数(フィールド変数)を持ち途中階層のクラスも持つため改変が非常に大変もしくは崩壊となりがち 抽象型でメンバ変数(フィールド変数)を持たないインタフェイスや型クラスではその問題が起きない それら抽象型による各機能の合成をとるため改変する場合も他機能への影響が限定的となり問題を分離することができる
944 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 12:34:53.51 ID:JFzuIw6k.net] 人間が理解しやすくなればなんでもいいシコ
945 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 12:45:52.70 ID:FDcCyCi3.net] >>920 メンバ変数の無い抽象型であっても、分離できるのは実装部分でしかなくて、「機能ではなく型の種類&名前で縛られる」という設計の初期の困難さは回避できていないよ。 まぁ、インターフェイスとかトレイル(Rustの偽物は論外)とかでもモジュール境界とモジュール間連携の問題は解決できていないからなぁ。何かいいアイディア無い?
946 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 12:51:44.04 ID:9l2p08EB.net] IDEのリファクタリング機能があれば何でもいいよ
947 名前:デフォルトの名無しさん [2024/03/01(金) 16:38:06.02 ID:gwVYOw6C.net] >>905 バカの一つ覚え
948 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 17:27:04.12 ID:PeOPXftI.net] それが>>911 の人、何人かいるっぽい
949 名前:デフォルトの名無しさん [2024/03/01(金) 20:56:33.23 ID:KQ1HmSrc.net] 継承には感謝しかないです
950 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 21:29:01.44 ID:NM6ffmiH.net] クラス継承さえ使わなければ 継承は便利だからね
951 名前:デフォルトの名無しさん mailto:sage [2024/03/01(金) 22:31:08.80 ID:qr8UCngy.net] メソッドだけ継承できればいいよ
952 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 07:16:17.19 ID:7IvxOyHp.net] クラスとかメソッド集合としての機能だけあればいい。 その代わりに外延性と集合演算をサポートしてくれ。そうすりゃ継承みたいなクソツールは要らなくなる。
953 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 11:56:05.36 ID:0RQhliLl.net] クラスとか継承とかに不満持つのは不思議なんだが、他人の作ったコードやライブラリをうまく流用出来ずに文句言ってるのか? 自分で作る分には言語の機能にあっても使わなきゃいいだけだろうに 他の人が理解できないからだ、ってのならその「他の人」に言え
954 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 12:17:52.47 ID:+4BUdsxu.net] 人間が理解しやすくしなよ
955 名前:デフォルトの名無しさん [2024/03/02(土) 13:55:18.96 ID:ILWRlrIw.net] >>930 他の人になんて言えば良い?
956 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 13:56:06.21 ID:pYjRDwip.net] >>930 クラス継承については全員が問題視している Javaの生みの親ですらJavaを作り直せるならクラスを除外すると明言している そして現実にモダンなプログラミング言語 Go、Rust、Zig、Nim、Julia、Elixirなど全てがクラスを除外している >Javaのユーザグループミーティングに出席した際、 >James Gosling(Javaの生みの親)がメインの講演者として招かれていました。 >すばらしいQ&Aセッションの途中に、こんな質問が出ました。 >「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」 >答えは「クラスを除外するでしょうね」というものでした。 >彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。 >インターフェースによる継承(implementsの関係)のほうが望ましいのです。 >できる限り実装継承は避けたほうがよいでしょう。
957 名前:デフォルトの名無しさん [2024/03/02(土) 13:58:52.73 ID:ILWRlrIw.net] ねえ!他の人になんて言えばいいの!?
958 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 14:38:32.67 ID:an2Rf2WF.net] 「俺は継承に親を殺された。絶対赦さない。絶対にだ
959 名前:」 [] [ここ壊れてます]
960 名前:デフォルトの名無しさん [2024/03/02(土) 14:43:33.20 ID:ILWRlrIw.net] 。°(´∩ω∩`)°。
961 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 14:47:09.39 ID:iW0xTm2n.net] >>933 どこからの引用なのかちゃんと書こうよ https://postd.cc/is-go-object-oriented/
962 名前:デフォルトの名無しさん [2024/03/02(土) 15:01:00.73 ID:OiLnCmP5.net] >>933 バカの一つ覚え乙
963 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 15:26:08.25 ID:5qddeDE5.net] >>937 丁寧な説明あって助かったありがとう 実装継承は問題があるためクラス継承を使うのは辞めた方がよさそうね そうするとクラス自体が不要なので今どきの言語にはクラスが無いわけなのね
964 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 17:53:44.47 ID:JmA8+V/x.net] 継承すると結合度が高くなり、基底クラスがいじりにくくなるから implements で名前だけ基底クラスで宣言した方がよい という経験則なわけね
965 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 18:23:50.25 ID:C5B9iefL.net] >>940 違うよ 基底クラスは一切使わずにインターフェース等を使う インターフェース等を備えていない言語ではやむをえないため抽象クラスで代替する
966 名前:デフォルトの名無しさん mailto:sage [2024/03/02(土) 21:21:19.79 ID:6JiP4UcJ.net] 15年ぐらい前はstaticおじさんが馬鹿にされてたけど今じゃオブジェクト指向がオワコン呼ばわりかぁ Lisp使おう()
967 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 00:19:19.60 ID:Ic67hcFY.net] 処理系も書かずに使おう(笑)
968 名前:デフォルトの名無しさん [2024/03/03(日) 12:51:43.47 ID:s0HRTEoD.net] オブジェクト指向に毒されてるpowershwll,python,ruby等も終わりかな F#に興味出てきたな
969 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 13:22:58.46 ID:4PUy8wCJ.net] あたりまえにオブジェクト指向使ってる現代でオブジェクト指向がオワコンって言うのはプログラム作らない人 ここの板のローカルルールくらい見ましょうね
970 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 13:49:21.97 ID:HJzrw6yi.net] やたらとオブシコしてたのからの回帰ってならわかる そういう意味なんだろうなと思う
971 名前:デフォルトの名無しさん [2024/03/03(日) 14:11:44.50 ID:0VvwZNDM.net] >>940 何でそんなこと言うん?
972 名前:デフォルトの名無しさん [2024/03/03(日) 17:32:00.15 ID:7AiWdEnV.net] https://twitter.com/i/status/1763848620204544172 オブジェクト指向にも同じことが言えます (deleted an unsolicited ad)
973 名前:デフォルトの名無しさん [2024/03/03(日) 17:33:19.72 ID:7AiWdEnV.net] オブジェクト指向を実践してない人ほど継承はダメだといっておられる 現実をまったく見ていない理論でしかないわけです
974 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 17:33:33.79 ID:m+AYakYE.net] 40年前に構造化プログラミング(いまあたりまえのプログラムをブロックモジュールに分ける概念)についてけなかった人とかも 理解しないまま「構造化プログラミングはオワコン!これからはオブジェクト指向!」ってそもそも構造化プログラミングの 発展系がオブジェクト指向だってわからずこのアホウみたいにウキャウキャしてたのかしら
975 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 18:10:26.26 ID:nBM3NOHP.net] >>949 正しく理解しようよ ダメなのはクラス継承 抽象型の継承はOK オブジェクト指向もOK
976 名前:デフォルトの名無しさん [2024/03/03(日) 18:26:34.56 ID:zJ/qFUNe.net] >>951 Pythonは文脈によって意味が変わる多重継承ね! 随意筋 不随意筋 ↖ ↗ チンポ
977 名前:デフォルトの名無しさん [2024/03/03(日) 20:11:50.76 ID:InukkrXD.net] ついていけない人間がたくさん出てしまうパラダイムは多くの人間が使えないので自明にオワコン
978 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 21:12:52.05 ID:vlko3Vgi.net] >>950 ありそうな話だなあ
979 名前:デフォルトの名無しさん [2024/03/03(日) 21:35:56.29 ID:9XAeTkis.net] >>933 Cの生みの親が作ったGoはともかく、Rustにクラスがなかったのはマジびびった。 Haskell覚えたときに、オブジェクト指向プログラミングの再利用性に疑問持って、 (実際にはしないけど)C++でクラス使わずテンプレートだけ使った方が再利用しやすいんじゃ…?とか思った。 そして最近、「スッキリわかるC言語」立ち読みしたら、C言語に(テンプレートとは違ってマクロっぽいが)ジェネリックっぽい機能が取り入れられてるみたい。 (使えないコンパイラがまだ多いのでLinuxのカーネル開発では禁止されてるみたいだけど) あと、デザインパターンも、関数型言語で普通にしてる事がいくつか書いてて、オブジェクト指向言語だと意識しないと出来ないんだと気づいた。 (例:イテレータ、テンプレート・メソッド、シングルトン、アブストラクト・ファクトリ、ストラテジなど)
980 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 22:06:17.23 ID:mVaeStz7.net] 広い意味のオブジェクト指向は今でも有用であって クラスを使ったオブジェクト指向が間違っていただけなので GoやRustなど新しい言語にはクラスが無いけど(クラスを使わない)オブジェクト指向ですよ
981 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 22:11:46.53 ID:JkCR2ZDo.net] >>953 おまえがオワコンなだけ。お前自身がついていけなくても、ついていけない人がたくさんいると思っていても 実際には多くの人がすでに実行してる。今やその辺の小学生でも https://www.nhk.or.jp/school/sougou/programming/
982 名前:デフォルトの名無しさん [2024/03/03(日) 22:27:37.47 ID:9RvqtVLq.net] >>957 俺は「ついていけない人間がたくさん出てしまうパラダイム」の話をしているのに、お前は勝手に「俺がついていけない人がたくさんいると思っているパラダイム」の話を始めたな 俺の話を理解できていないのか、理解した上で関係なくお前のしたい話を始めたのか知らんが、それで俺にレスをつけておいて俺にオワコンと言ってくるなんて、なんてガイジなんだ 回線切って首吊って死んでくれよな
983 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 22:50:31.38 ID:uAsMCupP.net] お前らさあ。。 次スレどうする?
984 名前:デフォルトの名無しさん mailto:sage [2024/03/03(日) 23:01:06.99 ID:A1Y/Mibd.net] つまりプロトタイプベースオブジェクト指向のJSは一歩も二歩も先に行ってたってこと?
985 名前:デフォルトの名無しさん [2024/03/03(日) 23:05:08.39 ID:slB98rWU.net] >>958 おまえ生まれてから今までずっと 何言うてんねん
986 名前:デフォルトの名無しさん [2024/03/03(日) 23:24:09.12 ID:9XAeTkis.net] >>960 まあ、JSは手続き型言語の皮をかぶったLispと言われる事もあるので、 そうとも言える。 ただLLだったので大規模開発に向かなかったのかと。 関数型言語と論理型言語は大きなカテゴリーでは宣言型言語になるんだけど、 オブジェクト指向も宣言的なプログラミングは目指してるんだよね。 メソッドチェーンと関数合成は向きが逆なだけで、やってることは同じだし。 Rust初めて見たときはC系統の文法のだけど、だいぶ関数型言語に寄ったなと思った。 しかも組み込み系の雑誌「interface」でだいぶ推してるし…。(お題を解く連載が続いてる) 何事かと。
987 名前:デフォルトの名無しさん mailto:sage [2024/03/04(月) 00:00:46.80 ID:ndPj2VnY.net] >>962 >メソッドチェーンと関数合成は向きが逆なだけで、やってることは同じだし。 関数型のやり方によっては見た目は似せることができてもやってることは全然違う 関数型とオブジェクト指向で根本的に異なる部分
988 名前:デフォルトの名無しさん [2024/03/04(月) 00:42:55.59 ID:vyClhVzf.net] 言われてみれば。 同じは言い過ぎだったね。 print関数と関数合成なんて、オブジェクト指向な人から見たらイミフだろうし。 高階関数に関数合成した関数渡すのも、オブジェクト指向じゃ関数オブジェクト(?)にメソッドチェーン渡すなんて、見たことない。(できるかは知らない) 割とよく使うのに。 あと、オブジェクト指向型言語で関数型プログラミング取り入れました!って言って ラムダ式を強制するのがウザい。 関数型言語はセクションやら、それこそ関数合成使って、なるべくラムダ式を使わない様に進化してるっちゅーねん。
989 名前:デフォルトの名無しさん [2024/03/04(月) 20:55:11.38 ID:OBoWisFX.net] 「継承」についてだが、多重継承をサポートしていない言語ならなるべく使わないほうがよい
990 名前:デフォルトの名無しさん mailto:sage [2024/03/05(火) 14:40:45.25 ID:8Aciq0Ni.net] >>930 不満を解消するために行動しているというのは誤解 ある行動をしなかった理由を考えている なぜ継承しなかったのか
991 名前:デフォルトの名無しさん [2024/03/06(水) 15:26:14.40 ID:7MRZ6H51.net] >>965 逆だね あえて逆のこと言ったんだね
992 名前:デフォルトの名無しさん [2024/03/06(水) 16:32:28.41 ID:QczblYLZ.net] >>967 Pythonは多重継承だが?
993 名前:デフォルトの名無しさん mailto:sage [2024/03/06(水) 17:05:29.94 ID:0Fz1GTqO.net] 銀の弾丸はなく適材適所なだけなのに なるべく使わないって判断放棄してへん?
994 名前:デフォルトの名無しさん [2024/03/06(水) 17:58:25.40 ID:RxG6QCQE.net] >>968 Pythonの話ちゃうやん
995 名前:デフォルトの名無しさん mailto:sage [2024/03/06(水) 18:04:07.44 ID:OsGV2nia.net] >>968 おまえそのPythonでどんなアプリ作ったの? >>937 のリンク先から引用 >多重継承の問題の1つは、同一のメソッドが1つ以上の親クラスに存在しているときに、言語がどのメソッドを用いているのかが自明ではなく、あいまいだという点です。 これが絶対悪だというのはありえないにせよ、プログラム保守する上でこの問題はよく理解できるはず
996 名前:デフォルトの名無しさん [2024/03/06(水) 18:42:32.08 ID:T1kDuEf9.net] 人間に独立した人格が有るように、チンポにも独立したチン格が有る これは親クラスと子クラスの継承関係である チン格とはつまり「愚息」であり、自分にも他人にも成り得る これがオブジェクトの多態性と表現される オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋 このように時と場合によって真逆の性質を併せ持つことができる 随意筋 不随意筋 ↖ ↗ チンポ 自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
997 名前:デフォルトの名無しさん [2024/03/06(水) 20:32:09.54 ID:RxG6QCQE.net] >>972 継承関係無いやん
998 名前:デフォルトの名無しさん [2024/03/10(日) 16:41:48.65 ID:VoY5srQP.net] https://twitter.com/frozensholder/status/1766678736836149638 四十肩 @frozensholder 男はチンボで物を考え女は子宮でモノを考える。それが世界の理。 (deleted an unsolicited ad)
999 名前:デフォルトの名無しさん [2024/06/12(水) 21:54:40.54 ID:2UzQR7Po.net] オブジェクト指向を学ばなかった話 https://qiita.com/adaiimps/items/e04ae03371435aeffe87
1000 名前:デフォルトの名無しさん [2024/06/13(木) 11:22:06.13 ID:fHN6F3J2.net] >>970 の理屈だと Rust の trait もアウトだな
1001 名前:デフォルトの名無しさん [2024/06/13(木) 11:22:46.95 ID:fHN6F3J2.net] アンカ間違えた >>971 です
1002 名前:デフォルトの名無しさん mailto:sage [2024/06/13(木) 14:45:53.11 ID:gxf+efas.net] メソッドの名前はまあ許せるが変数名の重複がアウトなんだよ どっちもアウトという極端なネガティブ思考はもう聞き飽きた
1003 名前:デフォルトの名無しさん mailto:sage [2024/06/13(木) 14:47:27.54 ID:lNMgjwmg.net] >>976 RustやGoなどモダンな言語にはクラスはありませんから クラス継承の問題もありません
1004 名前:デフォルトの名無しさん mailto:sage [2024/06/13(木) 22:17:03.25 ID:RzblDdiK.net] https://i.imgur.com/oWLfqqZ.jpg もうすぐ終了です
1005 名前:デフォルトの名無しさん mailto:sage [2024/06/14(金) 09:40:27.76 ID:5ngAi6Ey.net] もうすぐ終了です https://i.imgur.com/QiiT0Fx.jpg
1006 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 11:12:01.01 ID:EEfTRUen.net] 家族・友人に紹介で更に×5000円 https://i.imgur.com/iBtMtnJ.jpg
1007 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 12:58:11.00 ID:lECmuUtZ.net] 5000円ゲットに加えて家族・友人に紹介で更に×5000円! https://i.imgur.com/OVgPyJY.jpg
1008 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 15:08:08.53 ID:GQubfVD8.net] 即時3000円+2500円貰えます https://i.imgur.com/zIUDvjy.jpg
1009 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 15:45:17.28 ID:5YPEUVSI.net] スパムが梅に来てやがる ちょっと違うけどちょっと似たスレ探した 次ここ埋めよう オブジェクト指向は愚かな考え。この世は計算式 ★3©2ch.net mevius.5ch.net/test/read.cgi/tech/1451927425/
1010 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 16:37:40.69 ID:vKjwZw7A.net] 振り返ればCOMが一番成功してた事実 やはりこれからもコンポーネント指向だな
1011 名前:デフォルトの名無しさん mailto:sage [2024/06/15(土) 23:46:33.68 ID:cxiEzNVX.net] IUnknownは偉大 いまでも傑作のひとつだと思う
1012 名前:デフォルトの名無しさん [2024/06/17(月) 16:32:57.38 ID:prlYSpwu.net] うんこナウ
1013 名前:デフォルトの名無しさん [2024/06/17(月) 17:48:17.60 ID:Hy1KBFGr.net] 関数自体を関数に引数としてどう渡すかって話だよ。
1014 名前:デフォルトの名無しさん mailto:sage [2024/06/23(日) 13:05:53.08 ID:T9hZbeKo.net] 今だけです https://i.imgur.com/fJ2Q9aF.jpg
1015 名前:デフォルトの名無しさん mailto:sage [2024/06/23(日) 18:55:40.89 ID:HhVSQR1B.net] 終了までお早めに https://i.imgur.com/aIqXmDB.jpg
1016 名前:デフォルトの名無しさん [2024/06/25(火) 13:43:55.89 ID:ZtCD4zFU.net] ランサムωωω
1017 名前:デフォルトの名無しさん [2024/06/28(金) 16:44:13.15 ID:/Ex5ZKSC.net] うめますか?
1018 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 17:46:32.19 ID:DfHx9zhO.net] 次スレまだ?
1019 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 18:06:50.53 ID:tE6002zU.net] 次スレできなかったら >>985
1020 名前:デフォルトの名無しさん [2024/06/28(金) 19:59:08.35 ID:TzaR5aOj.net] 糸冬
1021 名前:デフォルトの名無しさん mailto:sage [2024/06/28(金) 22:00:12.74 ID:7Ebl2CLD.net] 板違いの雑談したがるアホの気持ちが理解できない プログラム能力が小学生未満なのにム板で語りたがるアホども
1022 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 11:12:00.17 ID:yISeF17a.net] 板違いの雑談したがるアホの気持ちが理解できない 自治能力が小学生未満なのにム板で語りたがるアホども
1023 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 13:56:06.77 ID:44tg2Mvq.net] 999
1024 名前:デフォルトの名無しさん mailto:sage [2024/06/29(土) 17:14:14.15 ID:n5ixZO2u.net] 終了しました
1025 名前:1001 [Over 1000 Thread ID:Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 307日 19時間 13分 21秒
1026 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています