オブジェクト指向はオワコン
1 :デフォルトの名無しさん :2023/08/26(土) 22:00:53.85 ID:H4l7y46b.net 最近の言語には採用されないことが増えている
2 :デフォルトの名無しさん :2023/08/26(土) 23:53:44.68 ID:gfADRkkl.net オブジェクト指向言語で書きさえすれば勝手にオブジェクト指向になると 勘違いしてるやつが多かったな
3 :デフォルトの名無しさん :2023/08/27(日) 00:05:48.88 ID:2ftdtUtN.net また複おじか
4 :デフォルトの名無しさん :2023/08/27(日) 01:02:23.53 ID:Kon47qvU.net そうなの?もう標準になっちゃってるだけじゃないの?
5 :デフォルトの名無しさん :2023/08/27(日) 10:56:24.10 ID:mybkYCXq.net そもそもライブラリがオブジェクト指向だし オブジェクト指向を回避したくても出来ない
6 :デフォルトの名無しさん :2023/08/27(日) 11:25:38.22 ID:6sPGKOVF.net みんな一時的に反発して違うパラダイムに行くけど結局帰ってくるのさ
7 :デフォルトの名無しさん :2023/08/27(日) 12:35:22.13 ID:53CZdhI9.net コンストラクタに独自のクラスいくつも要求してくるタイプの設計マジで嫌い
8 :デフォルトの名無しさん :2023/08/27(日) 14:38:41.20 ID:2Rmcg3Nl.net この処理は一箇所に集約できるんじゃないかっていう人間の感覚と 型による論理的な整合性がズレてることがあって 継承を使ったオブジェクト指向は思ってるより難しいのよね 作り始めたときはよかったけど修正が入るうちにどうしようもなくなった なんてことも起こりがち
9 :デフォルトの名無しさん :2023/08/27(日) 14:43:49.76 ID:EmRb2yD4.net プログラム作れない奴注目してほしくてクソスレ立てるムーブ リアルで犯罪やらかす前に病院行った方がいいぞマジで
10 :デフォルトの名無しさん :2023/08/27(日) 15:01:39.11 ID:Pba1j/J0.net オブジェクト指向じゃなくて継承が諸悪の根源なだけだろ
11 :デフォルトの名無しさん :2023/08/27(日) 15:08:02.74 ID:1X2LepYJ.net gofデザインパターンもいらん
12 :デフォルトの名無しさん :2023/08/27(日) 20:07:36.84 ID:9PHjLu48.net またC言語が勝ったか 敗北を知りたい
13 :デフォルトの名無しさん :2023/08/27(日) 23:59:58.82 ID:xzJBfiva.net オブジェクト指向を不適切に使っている人が多いだけ。オブジェクト指向で本当に書くべき所だけ書けばよい。
14 :デフォルトの名無しさん :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
15 :デフォルトの名無しさん :2023/08/28(月) 15:03:35.30 ID:FqjmR9MT.net 継承w 継承なんかフレームワーク構築で使うもの。 アプリでは、委譲、集約を使う。
16 :デフォルトの名無しさん :2023/08/28(月) 15:19:41.36 ID:V9/6DHRS.net アプリは底辺土方の作業なのでどうでも良いじゃん プログラマはライブラリやフレームワークを作ります
17 :デフォルトの名無しさん :2023/08/29(火) 11:18:21.31 ID:+HxwobiY.net >>16 と底辺土方が申しております
18 :デフォルトの名無しさん :2023/08/29(火) 11:52:41.99 ID:uTnQ7OpV.net そうです、私が底辺土方です
19 :デフォルトの名無しさん :2023/08/29(火) 11:59:48.44 ID:uTnQ7OpV.net 土方的にはオブシコは時代遅れっていうかー オブシコでは複雑さに対処できないことが多くの人の経験から明らかになってるのでー 昔はstaticおじさんとかドメイン貧血症と言われてバカにされていたものが 実は正しかった可能性が高いっていうのがいまの状況でー データと振る舞いを分離することでシステムがしなやかになると認識してますねー 以上、土方の現場はそんな感じですねー
20 :デフォルトの名無しさん :2023/08/29(火) 12:14:34.24 ID:uTnQ7OpV.net オブジェクト指向最強説が巷間に流布していたのは~2007年くらいまでですね 2007年前後にオブジェクト指向ってなんかおかしくない?と聡明な人たちが気付き始めて より良い方向を探り出して関数型やデータ指向が再発見されて その考えが一般の人にまで広がりだしたのが現代ですね 聡明な人はさらにその先まで見えてるのかもしれないですが 俺のような一般土方的にはデータと振る舞いは分けて設計するのがいまの現場のベストプラクティスです
21 :デフォルトの名無しさん :2023/08/29(火) 12:47:45.08 ID:YzXqUdha.net 勉強になります
22 :デフォルトの名無しさん :2023/08/29(火) 15:17:11.07 ID:GZdflYYk.net これ会議が負けて、現場が勝ったみたいな話よね 現実は机上で考えるより複雑だったと
23 :デフォルトの名無しさん :2023/08/29(火) 16:11:58.85 ID:bwHJoeEc.net オブシコキモい
24 :デフォルトの名無しさん :2023/08/29(火) 16:14:13.67 ID:bwHJoeEc.net 正確に言えばオブシコがキモいんじゃなくて オブシコおじがキモい
25 :デフォルトの名無しさん :2023/08/31(木) 19:47:10.22 ID:Wp8e5yX6.net ちょっと論点ずれるかもだけど、 結局何が良いのだろう。 最近、Goが気になってるのですが、頭いい人教えてください。 下記見て混乱してるところにオブジェクト指向オワコンと来るとどういう時に使い分ける(関数型?)か混乱します。 Goはオブジェクト思考? https://postd.cc/is-go-object-oriented/ GoとJavaの違い https://inside.dmm.com/articles/ex-java-engineer-thoughts-about-go/
26 :デフォルトの名無しさん :2023/08/31(木) 20:57:44.89 ID:xuZfOSNk.net 混乱するなら関わるな 無理に理解しようとすると頭がおかしくなって死ぬぞ
27 :デフォルトの名無しさん :2023/09/01(金) 10:17:00.62 ID:8Q6o7DlX.net goがオワコン
28 :デフォルトの名無しさん :2023/09/01(金) 10:54:12.28 ID:z0kX04PW.net トップオブトップのPythonさんがオブジェクト指向なんだから安心してついていこうぜ
29 :デフォルトの名無しさん :2023/09/01(金) 12:32:14.48 ID:YK6A/+tP.net コピペするなっていうけどコピペしてクラスメソッドとして実装した方が何かと都合いいよな
30 :デフォルトの名無しさん :2023/09/02(土) 01:55:07.77 ID:SWd5fs2f.net WindowsにしろMacにしろUNIXにしろGUIがオブジェクト指向を根本原理として作られているから フルスクラッチで刷新されない限り、オブジェクト指向の呪縛からは逃れられない
31 :デフォルトの名無しさん :2023/09/02(土) 12:26:53.46 ID:TvfRP8L0.net フルスクラッチとは言ってもライブラリ使う時点でもうオブジェクト指向なので
32 :デフォルトの名無しさん :2023/09/02(土) 15:29:32.20 ID:mCX3wjBN.net オワコンなのに人気絶大のスレ七不思議
33 :デフォルトの名無しさん :2023/09/02(土) 16:04:40.99 ID:22jxpZyL.net >>32 クソスレで雑談したがるお前みたいなカスがいるからだよ 当たり前のように使うものをオワコンって言うのが異常
34 :デフォルトの名無しさん :2023/09/02(土) 20:23:00.00 ID:F+VUcEjl.net オブジェクト指向は部分的には成功してるんだと思う よくあるコンテナ類のクラスライブラリとか使いやすいでしょ? 別になんにも文句ないでしょ? OOPを定義するお題目、カプセル化がどうのとかも、 非常によくマッチして効果を発揮してくれてると思う。 だけどそっから先が盲点。 OOPのコンセプト自体はいいのかもしれん。 OOPで作ったクラスライブラリも、良いのがあるのかもしれん。 でも、クラス設計が難しい。 クラスライブラリの設計が難しい。 OOPを使ってさあ自前の何かを作ろうとしたら難しい。 間違う。間違いをさらなる間違いで補う。 糞の山を糞でラッピングする。 自分でクラスや、関連する一連のクラス群をつくるとき、 そこに最大の困難があり、さらにそれは自覚されない。 プログラマの共通認識とすらされていない。 OOPやOOPLについては語れど、クラス設計の困難さには意識が行かない。 またはその困難さを解決する認識も知識も文化もなにもかもが不足している。 クラス設計の難しさに対して誰もが、とたんに無力に、無自覚になる。 ここにOOPの恐ろしさがある。
35 :デフォルトの名無しさん :2023/09/02(土) 21:16:52.73 ID:Tv71xRLL.net Javaでないならムリに自分でクラスを作らなくても良くない? とりあえず構造体と関数で書いてみて、必要だと思ったらクラスに移行するとか。スクリプト言語とかでもそんな感じだし。 組み込みのクラスライブラリを使うだけでも十分にOOLの恩恵はあると思うけど。
36 :デフォルトの名無しさん :2023/09/02(土) 21:28:19.20 ID:F+VUcEjl.net 正解 クラスを書かないほうが正解 標準のクラスライブラリだけを使って済むならそれが正解 ただ、そうもいかないときに徐々にホラーになっていく
37 :デフォルトの名無しさん :2023/09/03(日) 02:11:19.15 ID:7SLOG4Oq.net クラス使わないなら構造体のない言語でデータはどうやって定義すんの 全部辞書型か? クラス自体が動作を振る舞う必要はないっていうデザインパターン論ならわかるが それすら人間が歩いたり物を持ったりするという機能から考えると直感に反するけどな
38 :デフォルトの名無しさん :2023/09/03(日) 02:58:29.28 ID:k3BC+VzT.net ここで人間とか動物の話はやめてくれんか 少なくともオブジェクト指向のアプローチは失敗した その直感とやらは錯覚かもしれん
39 :デフォルトの名無しさん :2023/09/03(日) 10:25:05.88 ID:bR7Kkxs2.net メソッドは成功してると思う 継承と過度なカプセル化は失敗だと思う
40 :デフォルトの名無しさん :2023/09/03(日) 13:05:50.27 ID:vJMnDf/i.net 動物の例😩
41 :デフォルトの名無しさん :2023/09/03(日) 13:10:54.52 ID:jFAGdbdC.net >>34 MFC ω のことですねωω判りますωωω
42 :デフォルトの名無しさん :2023/09/03(日) 13:12:09.26 ID:jFAGdbdC.net >>37 Rustは? Nimは? 知ってて言ってるのか?
43 :デフォルトの名無しさん :2023/09/03(日) 13:25:41.46 ID:TVj/CYl9.net 動物の例も批判されがちだけど あれもねえ 例えは例えなんだから そのあとは自力で応用しようよ? コツだけうまく受け取ろうよ? って思うわ 実装に対するインタフェースだとか 継承時のポリモーフィズムだとか そこだけ例から読み取って あとはうまく応用しろよって思うわ 具体例からエッセンスだけを取り出して うまいこと抽象化してくのは必須よね
44 :デフォルトの名無しさん :2023/09/03(日) 16:55:38.75 ID:tRta3c8j.net >>42 Nimは知らんがRustは構造体あるだろ。 俺はRustはオブジェクト指向で書けると思ってるよ。 俺の考えるオブジェクト指向の中では継承は必須でも何でもないので。
45 :デフォルトの名無しさん :2023/09/04(月) 04:29:08.08 ID:xgTXgyct.net アプリレイヤを記述する際、継承は確かに百害あって一利くらいしかなかったけど オブジェクト指向の本質的な問題点にちゃんと気が付いている人は とても少ない
46 :デフォルトの名無しさん :2023/09/04(月) 06:10:55.97 ID:xHCSfiKY.net ワンワン にゃ~
47 :デフォルトの名無しさん :2023/09/04(月) 06:56:31.16 ID:CodZWLif.net 向き不向きがあると思う GUIとかゲーム開発には向いているからスマホアプリ開発やwindowsアプリ開発には向いている サーバサイドには全く向いていない GUI、ゲーム開発は動物、犬に当てはめやすいから向いてるけど、サーバサイドは向いてないのよね
48 :デフォルトの名無しさん :2023/09/04(月) 14:21:39.02 ID:pTWW8n2s.net >>45 そもそも問題は無い はい論破です
49 :デフォルトの名無しさん :2023/09/04(月) 17:33:01.25 ID:/cuaDPpR.net >>37 > 全部辞書型か? そうなる 型の安全性と引き換えに柔軟性を得るっていうのがデータ指向の考え方 オブジェクトに状態をもたせるオブジェクト指向も使い所によってはあり 人間の場合はたとえば明日人間の機能が変わりますなんてことないし機能が安定しているのよね オブジェクト指向はスタックやリストといったデータ構造とも相性が良い 一方で仕様がころころ変わる業務要件とはあまり相性が良くない
50 :デフォルトの名無しさん :2023/09/04(月) 18:33:09.57 ID:UIsGravq.net JSONω最強ですねωω判りますωωω
51 :デフォルトの名無しさん :2023/09/04(月) 19:55:21.97 ID:rfWjSjrk.net > オブジェクト指向の本質的な問題点 それは一体なに?
52 :デフォルトの名無しさん :2023/09/04(月) 20:10:24.18 ID:dI7wGXXb.net オワコン
53 :デフォルトの名無しさん :2023/09/05(火) 07:02:20.12 ID:/8UA8cLZ.net オブシコはむしろ来年あたりから再注目されるよ
54 :デフォルトの名無しさん :2023/09/05(火) 08:43:02.70 ID:ATQD7eXq.net モダンオブジェクト指向入門
55 :デフォルトの名無しさん :2023/09/05(火) 09:59:39.00 ID:bvW9yjd2.net 関数型言語最強 やっててよかったC言語
56 :デフォルトの名無しさん :2023/09/05(火) 12:42:39.14 ID:cCymHTD2.net オワリ際に遅刻して処理されるコンストラクタ
57 :デフォルトの名無しさん :2023/09/05(火) 19:24:17.95 ID:sZBFZ5KB.net 帯び文 やっぱりみんなオブジェクト指向に帰ってくる
58 :デフォルトの名無しさん :2023/09/05(火) 19:45:31.82 ID:vQrCTIpk.net そもそもオブジェクト指向にとって代われると思うこと自体勘違い甚だしい
59 :デフォルトの名無しさん :2023/09/05(火) 20:09:35.92 ID:HAOsJdAK.net >>58 方法の一つでしか無いものにとって代わるって何言ってんの コピペでしかプログラムできないバカ消えろ
60 :デフォルトの名無しさん :2023/09/05(火) 20:58:49.75 ID:MTbz99Up.net >>55 まさかCが関数型言語とか言わんよね?
61 :デフォルトの名無しさん :2023/09/06(水) 00:09:58.68 ID:H9m3TOIp.net >>59 オブジェクト指向こそが至高
62 :デフォルトの名無しさん :2023/09/06(水) 14:31:43.33 ID:y4HhiiDL.net static関数をすこれ
63 :デフォルトの名無しさん :2023/09/06(水) 22:40:02.86 ID:HGpQ4Jna.net なんや、それ
64 :デフォルトの名無しさん :2023/09/07(木) 01:21:20.89 ID:gnShnq85.net デザパタ用語ではシングルトンパターン(笑)
65 :デフォルトの名無しさん :2023/09/07(木) 02:39:23.32 ID:ASBmJNcr.net 全然違うぞw
66 :デフォルトの名無しさん :2023/09/07(木) 23:31:22.59 ID:mdRVL8hl.net 関数型言語ではライブラリどう扱うん?
67 :デフォルトの名無しさん :2023/09/08(金) 00:27:59.13 ID:+kl4ffGL.net こういうつまんねぇ話は2003年頃に済ませておけよ
68 :デフォルトの名無しさん :2023/09/08(金) 01:09:06.66 ID:pIxFIjjS.net >>48 http://asahi.5ch.net/test/read.cgi/newsplus/1694055825/
69 :デフォルトの名無しさん :2023/09/08(金) 03:00:17.98 ID:Wdg5/Ojr.net OOP信者の方はC#の拡張メソッドのことどう思ってるんですかw
70 :デフォルトの名無しさん :2023/09/08(金) 09:05:25.14 ID:5xCGhqQr.net >>69 あって当然の仕組み
71 :デフォルトの名無しさん :2023/09/08(金) 09:56:43.98 ID:U3VyfYkU.net >>67 おじいちゃん、ここは若者のスレッドなの老害はでしゃばらないでね
72 :デフォルトの名無しさん :2023/09/08(金) 13:33:28.64 ID:xvdxrsKm.net 既存フレームワークはオブジェクト指向かもしれんけど 俺はその書き方では使ってない これが答えだ
73 :デフォルトの名無しさん :2023/09/08(金) 14:16:55.80 ID:9xaMduSN.net 何の答えだよw
74 :デフォルトの名無しさん :2023/09/08(金) 17:25:44.02 ID:LnB50oKq.net >>71 5chで若者とか笑わせなくていいからハロワ行けよ
75 :デフォルトの名無しさん :2023/09/08(金) 17:39:09.54 ID:xhNNQs6H.net オブジェクト指向こそ至高だろ? オブジェクト指向のコード読めなくて負い目感じてるよね?
76 :デフォルトの名無しさん :2023/09/09(土) 00:20:38.75 ID:57t0AUvC.net >>75 お前の書くコードはくちゃくちゃで眺めると目がつぶれそうだよ
77 :デフォルトの名無しさん :2023/09/09(土) 06:42:18.63 ID:L8RTgt6O.net >>75 オブジェクト指向の最大の長所は可読性の高さだが、お前はオブジェクト指向の基本からまるで分ってないな
78 :デフォルトの名無しさん :2023/09/09(土) 08:47:48.10 ID:qG0K3jtD.net オブジェクト指向の最大の長所が可読性って、そんなに言われているかな? うまいことブラックボックス化ができたたきにゴチャっとしたコードをクラス内部に閉じ込められる効果はあるけれども、オブジェクト同士の相互関係は、基本的にはオブジェクトの海と言われるスパゲティじゃない?
79 :デフォルトの名無しさん :2023/09/09(土) 09:31:35.89 ID:5dSlQ8VJ.net >>78 スパゲッティの定義次第だからその定義を共有しないと話が噛み合わない。 同じコードをオブジェクト指向以外で書いたらスパゲッティじゃなくなるのか、と。 「私が読みにくいと感じるからスパゲッティ」ならどうとでもなる。
80 :デフォルトの名無しさん :2023/09/09(土) 09:33:25.46 ID:Cz8dAb+H.net OOPのメリットが何なのか未だに分からん Smalltalkみたいに実行環境からオブジェクトをいろいろいじれるやつのときは オブジェクトってもんがもっと動的に、マウスで触れるような存在で なんかそういういじくりやすさ含めて親しみ持ってるんだろうけど
81 :デフォルトの名無しさん :2023/09/09(土) 09:34:20.74 ID:e7UzJXmD.net 書き込むのは好きにしたらいいが板違いのスレだからsageてくれよ
82 :デフォルトの名無しさん :2023/09/09(土) 09:45:59.55 ID:N/e+EbWm.net >>81 自治アスペ😂
83 :デフォルトの名無しさん :2023/09/09(土) 12:37:22.79 ID:+xOF5xX7.net >>80 メリットもなにもコード書いてたら普通にオブジェクト指向型になるものじゃね 「Hello World」をわざわざオブジェクト指向にするようなバカならともかく クラスや継承を作れとか強制するような宗教でもない
84 :デフォルトの名無しさん :2023/09/09(土) 13:35:46.45 ID:maTjrzau.net >>80 オブジェクト指向のメリットはプログラムを管理しやすいことだと思う たとえば ・DBからデータを取得する ・データを元にExcelファイルを作成する ・Excelファイルをメールで送信する ・作業完了のメッセージをSlackにPOSTする という一連の処理がある場合に ・DBにアクセスするオブジェクト ・Excelファイルを作成するオブジェクト ・メールを送信するオブジェクト ・Slackにアクセスオブジェクト があればそれらを組み合わせることでプログラムを作れるじゃん そして世の中にはすでにたくさんのオブジェクトがライブラリという形で用意されている プログラマはそれを利用することでさまざまなことが行えるようになるんだ 既存のライブラリで要件をみたせなければ自分で作ることもできる 便利だよね
85 :デフォルトの名無しさん :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 そして世の中には簡単なの処理なのにオブジェクトがたくさんあって きれいに設計されてるわけでもなくプログラマがそのときの思いつきだけで 作ったんじゃないかと思われるような正気を疑うようなオブジェクトがたくさんあるんだ どうだい楽しいだろう
86 :デフォルトの名無しさん :2023/09/09(土) 13:54:42.10 ID:DPFW/FPV.net Rustは面倒
87 :デフォルトの名無しさん :2023/09/09(土) 14:25:39.31 ID:maTjrzau.net DBやExcelなどのようにドメインがはっきりとわかれている場合には これはDBにしか関与しないデータだからDBオブジェクトの中に閉じ込めるみたいに 考えてオブジェクトを作ればいんだろうけどね 業務のドメインは流動的だからね ・この概念とこの概念は違っていてこのようにわけられる ・でもやっぱりこういう橋渡しは認めておいたがいいからこれは例外 ・ユーザからこれができなくて困ってるといわれたからなんとかしてもらいたい ・あの概念とあの概念はじつはこういう切り口でみたときには繋がりがあってそれを計算してほしい みたいなことが業務ドメインの日常だからね どこが変わるかを予測して多少流動しても設計を変えなくてすむように作り込んだら あっというまにHello World Enterprise Editionのできあがり オブジェクトは固体だけれども業務は液体みたいなところがある オブジェクトの前段階いわばスライムみたいな状態にあえてとどめておくことで 適応力を高められるんじゃないかと思う 計算によって人間の認知能力が生まれ 人間の認知能力によってオブジェクトが生まれるとするならば 関数はオブジェクトよりも次元の高い抽象化のように思われる 関数はスライムの可能性がある
88 :デフォルトの名無しさん :2023/09/09(土) 14:57:10.51 ID:xoF7Cm8V.net オブジェクト指向もモジュール化の1つの(かなり優秀な)手法だと思うよ。オブジェクトの内部はブラックボックス化され、外部からはオブジェクトのインターフェイスだけを相手にすればよいので、同時に考えなければいけないことが減り、プログラムの見通しが良くなる。 問題は、モジュールとしてのオブジェクトを機能させるためには、「これをオブジェクトとして扱う」というモジュール境界の決定が必要になるところ、オブジェクトの粒度が大きくなると、コードを書いた人の恣意的な決定の要素が増えるために、コードを読む人の理解・把握が難しくなっていくことかな。文字列オブジェクの方がcsv_readerオブジェクトよりできることを把握・イメージするのは簡単だし、より抽象度の高いオブジェクトになると、さらに理解は難しくなる。 オブジェクト指向によって得られる見通しの良さは、ゴチャっとしたコードをブラックボックスの中に閉じ込めることによって得られるものなので、オブジェクトの中に取り込まれないコード(オブジェクト同士の相互関係)の複雑性はそのまま残る。これがオブジェクトの海と呼ばれる問題。 オブジェクト指向は重要な進歩だし、今さらそのメリットを捨てることは難しいと思うけど、オブジェクトの「外」の問題については別の手法による対処が必要になる。
89 :デフォルトの名無しさん :2023/09/09(土) 15:55:43.01 ID:8RnWRRq5.net コード書けない奴が抽象的な御託つらつら並べるのはどこのスレでも出てくるんだよな バカをさらして何が楽しいのやら
90 :デフォルトの名無しさん :2023/09/09(土) 16:36:21.41 ID:MNKqZUR3.net 俺は抽象化自体はどうでもよくてifを減らすために使ってるわ いくらわかりやすい名前をつけても結局全部読むなら大差ないからな
91 :デフォルトの名無しさん :2023/09/09(土) 18:04:29.66 ID:LlED4Hp3.net > Hello World Enterprise Edition 全部は読んでないけどニヤニヤしながら読んだわ ただし > if(code.getStatusCode() != 0){ は > if(code.getStatusCode() != IStatusCode.OK) { とかしてインタフェース側に定義された定数使うほうがオツやと思ったわ
92 :デフォルトの名無しさん :2023/09/09(土) 18:21:08.83 ID:LlED4Hp3.net OOPのメリットとして感じてるのは結局は モジュール化のメリットなんよね これはOOPのメリットを矮小化させるものじゃないけど 適度に分割して整理して それらを適度に組み合わせて使うってことは まぁそこにOOPLならではのことに焦点を当てるなら 継承っていう軸が発生することにより クラスライブラリや自前のクラス群を説明するとき 継承関係っていうものでもって説明できる場面が出てくる
93 :デフォルトの名無しさん :2023/09/09(土) 18:40:22.54 ID:GTFNmrLV.net OOPでは演算子を型と関数の間の関係として自然に定義できるけど、Cみたいな手続き型とか関数型ではどうやってるんですか?
94 :デフォルトの名無しさん :2023/09/09(土) 21:58:47.70 ID:2wCSKfyD.net おうおうPの良いところだけを継承したモダンな仕組みを作ればいいんじゃないかな
95 :デフォルトの名無しさん :2023/09/09(土) 22:52:32.96 ID:XsT3u1d6.net >>92 >OOPのメリットとして感じてるのは結局はモジュール化のメリットなんよね 8割方同意する >>84 に列挙されてる「〜するオブジェクト」も「〜するモジュール」にすべて置き換えてもなんら支障がないから >まぁそこにOOPLならではのことに焦点を当てるなら継承っていう軸が発生する これには同意しない オブジェクト指向の根幹は継承じゃなくて データと振る舞いをオブジェクトという基本構成単位にまとめることにある 関数型のモジュールでは代替できない また継承のうちインターフェース定義とその実装のような関係は Haskellのtypeclassをはじめ関数型言語でも広く存在するものなのでOOPLならではのことではない つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによるメリットというのがOOPLならではのメリットということになる じゃそれは何なのか?
96 :デフォルトの名無しさん :2023/09/09(土) 22:55:57.73 ID:EGvOTcBg.net ずばりオワコン
97 :デフォルトの名無しさん :2023/09/09(土) 23:03:34.74 ID:LlED4Hp3.net >>95 > オブジェクト指向の根幹は継承じゃなくて 根幹とまでは言ってないし思ってもないよw > また継承のうちインターフェース定義とその実装のような関係は インタフェースと実装の関係を継承とは言ってないつもり あくまで インタフェース間の継承であったり もっと広義には単に型の継承 ごめんね今相当酒飲んでるから取りこぼしてたり誤解してたりするかもだけど > つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによる > メリットというのがOOPLならではのメリットということになる このへんについてはなんとなく同意 カプセル化だの継承だのお題目色々あるけども 結局はオブジェクトって単位だよね ってとこに着目すんのはわりと同意できる 要点を外してるレスになっちゃってたらすまぬ
98 :デフォルトの名無しさん :2023/09/09(土) 23:19:27.60 ID:maTjrzau.net >>95 > つまりデータと振る舞いをオブジェクトという基本構成単位にまとめられていることによるメリットというのがOOPLならではのメリットということになる じゃそれは何なのか? 状態だと思う
99 :デフォルトの名無しさん :2023/09/09(土) 23:31:29.55 ID:LlED4Hp3.net ほどよいフィット感だと思う データと関数まとめる? まとめたい? まとめましたけどどうですか? ↓ ええやんええやん の感
100 :デフォルトの名無しさん :2023/09/09(土) 23:46:40.67 ID:maTjrzau.net ミュータブルなオブジェクトを簡単に作れるっていうのがオブジェクト指向言語の利点な気がする Haskellだとモナドを使わないといけないからね
101 :デフォルトの名無しさん :2023/09/10(日) 08:52:36.11 ID:tviBJXty.net オブジェクト指向は何かってのはWikipediaでも見ればいい。読んで理解してもプログラム技術は変わらないが オブジェクト指向のメリットは何かって言うのは「どの部分もオブジェクト指向とは言えない」形に自分のコード書きなおしてみればわかる。逆にすべての部分をオブジェクト指向の形にするのはアホな上にキチガイだが これだけのことを技術板でグダグダ語ってるのはアホ
102 :デフォルトの名無しさん :2023/09/10(日) 09:38:36.81 ID:yM7j2B0I.net >逆にすべての部分をオブジェクト指向の形にするのはアホな上にキチガイ Rustですね判ります
103 :デフォルトの名無しさん :2023/09/10(日) 13:05:53.86 ID:rXl4Y+bN.net よく知らないが、Smalltalkとか? 「アホな上にキチガイ」かどうかは意見が分かれそうだが。
104 :デフォルトの名無しさん :2023/09/10(日) 15:45:22.64 ID:lSoYWiHB.net 1バイトのデータを1バイトのオブジェクトとして表現でない スタック上に確保できない そんな言語は全部ゴミ
105 :デフォルトの名無しさん :2023/09/12(火) 19:43:42.93 ID:oyXayNX+.net クリントン大統領にどんな強大な権限が有っても、自らのチンポがしこしこしてしまうのは止められない! class チンポ extends クリントン{ super.不適切な関係; } クリントンの再定義、クリントンの拡張された人格ということだ!
106 :デフォルトの名無しさん :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
107 :デフォルトの名無しさん :2023/09/14(木) 22:02:34.97 ID:vfXwhook.net 関数型より遥かに便利だわ
108 :デフォルトの名無しさん :2023/09/14(木) 23:23:53.05 ID:Md4RDTr0.net オワコン
109 :デフォルトの名無しさん :2023/09/15(金) 03:29:59.91 ID:rTOM1AgR.net >>107 あれは知性が要るからな… つまりこの仕事向いていないってことだよ
110 :デフォルトの名無しさん :2023/09/15(金) 08:47:47.02 ID:L1OUTakd.net >>107 パイプライン演算子は取り入れてほしいかな setXXXX系メソッドをそのままつなげられたらと思う
111 :デフォルトの名無しさん :2023/09/15(金) 09:35:06.90 ID:PpQe4ASW.net そりゃAPI設計が悪い
112 :デフォルトの名無しさん :2023/09/15(金) 10:30:38.51 ID:EIF5vDwi.net >>109 それはただのエンジニアの自己満オナニーだよしょうもないw
113 :デフォルトの名無しさん :2023/09/15(金) 11:40:09.91 ID:Cosi/Xnz.net そりゃ君の頭が悪い
114 :デフォルトの名無しさん :2023/09/15(金) 12:15:45.69 ID:EIF5vDwi.net いくら頭良くても5chでくだまいてたら意味無いですよね 目糞鼻糞ですよね
115 :デフォルトの名無しさん :2023/09/15(金) 22:35:34.78 ID:h2Dum8zW.net 本物の糞が何えらそうに
116 :デフォルトの名無しさん :2023/09/16(土) 08:57:00.62 ID:lvjlkleA.net T,o,k(迷惑という方は←をあぼーんしてください。) 更に家族友人にも紹介して、加えて¥4000をゲットできます! https://i.imgur.com/g7fQwmH.jpg
117 :デフォルトの名無しさん :2023/09/16(土) 09:57:06.22 ID:ZJLR+eYH.net >>115 とクソが申しております
118 :デフォルトの名無しさん :2023/09/16(土) 10:28:53.10 ID:FZJflFW6.net >>116 もう1.5万入手してる
119 :デフォルトの名無しさん :2023/09/16(土) 12:06:46.11 ID:ohMs/cws.net >>114 こんなところで自己紹介してる暇があったらハロワ行けばいいのに
120 :デフォルトの名無しさん :2023/09/16(土) 12:13:33.72 ID:ZJLR+eYH.net >>119 とハロワおじさんが申しております
121 :デフォルトの名無しさん :2023/09/16(土) 12:20:55.48 ID:RATZO/gi.net おじ同士チンポを舐め合うスレ
122 :デフォルトの名無しさん :2023/09/16(土) 12:28:42.66 ID:ZJLR+eYH.net >>121 毎日5chでチンポ舐め書き込み続けるゴミ人生でした オブジェクト指向興味無いやつ来んなよ 暇かよ
123 :デフォルトの名無しさん :2023/09/16(土) 14:55:49.89 ID:LU1R8AA0.net >>116 これ他のタスクだけで1000円くらい簡単に稼げるよな。
124 :デフォルトの名無しさん :2023/09/16(土) 15:59:01.04 ID:LYX0tJpe.net 決定的にオワコン
125 :デフォルトの名無しさん :2023/09/16(土) 15:59:49.73 ID:mWv9MPGX.net でも便利
126 :デフォルトの名無しさん :2023/09/16(土) 23:51:17.00 ID:0ao3waxq.net そしてあちこち依存が絡んだスパゲティーコードを量産 他人が解読するは難しく 時間がたつと自分でもメンテできない
127 :デフォルトの名無しさん :2023/09/16(土) 23:52:08.95 ID:0ao3waxq.net ID:ZJLR+eYH 顔真っ赤w
128 :デフォルトの名無しさん :2023/09/17(日) 06:56:06.28 ID:gR/F5lVJ.net >>127 と顔真っ赤おじさんが申しております
129 :デフォルトの名無しさん :2023/09/17(日) 07:02:54.80 ID:5YRchEc3.net 必死にスレ何度も上げてるけどそんな構ってほしいのかよ
130 :デフォルトの名無しさん :2023/09/17(日) 07:04:57.07 ID:gR/F5lVJ.net 関数型ならスパゲッティコードにならないというのはどういう理屈?
131 :デフォルトの名無しさん :2023/09/17(日) 09:36:51.67 ID:oKDM309U.net ここまでのまとめ オワコンとなったのは「クラス」 オワコンとなった理由は「クラスは継承に基づくため」 オワコンとなった証拠は「最近のプログラミング言語Go、Rust、Nimなどは全てクラスを持たない」 以上 つまりオワコンとなったのは「クラスとその継承」 もっと広い意味の「オブジェクト指向」は有効
132 :デフォルトの名無しさん :2023/09/17(日) 10:48:22.09 ID:Z711Flgk.net 新手のクソが現れた
133 :デフォルトの名無しさん :2023/09/17(日) 11:27:29.99 ID:gR/F5lVJ.net >>131 いや、クラスもオワコンじゃない 以上
134 :デフォルトの名無しさん :2023/09/17(日) 11:48:42.16 ID:otEgQUqp.net GoにしろRustにしろNimにしろ継承が不要になったわけじゃない 言語機能として直接サポートされないためにより面倒でより暗黙的な方法で継承が行われている 上辺だけ見てる人にはそれがわからない
135 :デフォルトの名無しさん :2023/09/17(日) 11:56:48.45 ID:JheNutwI.net >>131 概ね同意
136 :デフォルトの名無しさん :2023/09/17(日) 12:10:38.80 ID:A/afT8Dp.net クラスや継承は高水準な機能だから 低水準を目的とする言語には向いてない
137 :デフォルトの名無しさん :2023/09/17(日) 12:19:05.22 ID:cSUabsmI.net >>133 クラスの本質は継承にあり クラスは不要 クラスを必要だと思い込んでいる人はクラスと関係ない部分を必要としている 例えばクラスのメンバー変数はGo、Rust、Nimなどでは構造体のメンバー変数 クラスのメソッドはGo、Rust、Nimなどでは構造体のメソッド つまりそれらはクラスとは関係なくクラスより小さい概念である構造体でも持っている 一方でクラスの本質は継承である >>134 継承は害悪であり不要 継承しか知らない人だけが継承に固執している
138 :デフォルトの名無しさん :2023/09/17(日) 12:28:37.74 ID:gR/F5lVJ.net >>137 クラスを使ってもいい。 以上 害悪ではない 以上
139 :デフォルトの名無しさん :2023/09/17(日) 12:32:35.53 ID:YoGswVKv.net ID:gR/F5lVJ プログラム書けない上にどこに行っても相手してもらえないから板違いのスレで吠えるしかないんだな
140 :デフォルトの名無しさん :2023/09/17(日) 13:01:40.88 ID:gR/F5lVJ.net 何故自分は相手してもらえると思うんや おまえの相手して誰が得するんや オブジェクト指向興味無いなら来んなよ暇人
141 :デフォルトの名無しさん :2023/09/17(日) 13:05:43.12 ID:cSUabsmI.net オブジェクト指向は非常に重要 しかしクラスは不要 これはプログラミング言語界で結論が出ている だから最近のプログラミング言語Go、Rust、Nimなどはいずれもクラスを持たない
142 :デフォルトの名無しさん :2023/09/17(日) 13:21:52.64 ID:Tq9Zm9TM.net これまでオブジェクト指向分析に触れているコメント0
143 :デフォルトの名無しさん :2023/09/17(日) 13:30:45.41 ID:gR/F5lVJ.net オブジェクト指向は非常に重要 クラスも重要 これはプログラミング言語界で結論が出ている だから最近のプログラミング言語Swift、kotlinなどはいずれもクラスを持っている
144 :デフォルトの名無しさん :2023/09/17(日) 13:47:21.55 ID:ySEZfztt.net JavaScriptのclass構文はよく使われてる印象だな オブジェクト指向言語でもないのにわざわざclass名乗るって、よほど需要ありと見えるが
145 :デフォルトの名無しさん :2023/09/17(日) 13:48:32.84 ID:I/olJ+Ch.net javascript ω の object で class less 設計に目覚めた
146 :デフォルトの名無しさん :2023/09/17(日) 13:48:58.94 ID:oXWqcq3J.net SwiftはObjC、KotlinはJavaの代替だから外れるわけないわな
147 :デフォルトの名無しさん :2023/09/17(日) 13:49:35.71 ID:I/olJ+Ch.net >>144 あれは prototype が理解出来なかった人が多かったから class が後付けされたんだろ
148 :デフォルトの名無しさん :2023/09/17(日) 13:50:12.29 ID:Tq9Zm9TM.net 俺は継承よりもカプセル化が重要だと思う だがカプセル化はクラスの専売特許ではない
149 :デフォルトの名無しさん :2023/09/17(日) 13:57:14.58 ID:fKvD0+k2.net >>143 自ら敗北を認めたようだな SwiftはAppleがObjective-Cの後継と位置付けた訳ありでクラスを採用 KotlinもJavaの後継と位置付けた訳ありでクラスを採用 つまり二つとも例として出してないけない過去のしがらみのある訳あり言語 一方で過去のしがらみのないGoやRustやNimなどの新たな言語では当然クラスは採用されなかった いずれも全く異なる方向性の言語であるがクラスは不要なものであるという共通認識がプログラミング言語界にあるためだ
150 :デフォルトの名無しさん :2023/09/17(日) 14:24:30.92 ID:I/olJ+Ch.net まあ構造体も継承出来るんですけどね
151 :デフォルトの名無しさん :2023/09/17(日) 14:54:07.42 ID:gR/F5lVJ.net >>149 そんな共通認識は無い おまえが勝手に言ってるだけ 新しい、なんてのは何の根拠にもなってない 残念、論破、さよなら
152 :デフォルトの名無しさん :2023/09/17(日) 15:11:21.73 ID:ENG0J7cr.net 元々「クラス」という言葉は義務教育の頃から皆馴染みがあり下位層で育った奴には嫌な思い出しかないだろう クラスという言葉に忌避感を持つ人間は日本だけでなく恐らく世界中にいると推測できる だからクラスは不要だとかオワコンとか言ってクラスの概念自体を排除した新しい物を模索しようとする 一方、過去にトラウマの無い上位層は特にクラスに忌避感を持たずに有力な1手段として使い続けるだろう これが悲しい真相ではないかと仮説を立ててみる
153 :デフォルトの名無しさん :2023/09/17(日) 15:42:41.52 ID:AYgIc0ea.net >>150 いわゆるクラス継承は害悪という共通認識が広まり Go, Nim, Rustなどの新しい言語では排除されている
154 :デフォルトの名無しさん :2023/09/17(日) 16:13:46.24 ID:PxvF4kv6.net 複オジこんなところでも自演してまで珍説唱えてんのかよw >>137 ,149,153はRustスレ出禁扱いになってる珍説を強弁するだけの複製オジさんなる人物なので相手にするだけ時間の無駄
155 :デフォルトの名無しさん :2023/09/17(日) 16:39:47.21 ID:L4HC8a7E.net >>138 http://asahi.5ch.net/test/read.cgi/newsplus/1694055825/
156 :デフォルトの名無しさん :2023/09/17(日) 16:42:40.76 ID:L4HC8a7E.net ID:gR/F5lVJ はちょっと煽って からかえばポンポン反応してワロスw 沸点低すぎ
157 :デフォルトの名無しさん :2023/09/17(日) 17:05:40.99 ID:L4HC8a7E.net 今頃また顔真っ赤にして怒り狂ってそう ( *´艸`)クスクス
158 :デフォルトの名無しさん :2023/09/17(日) 17:17:54.06 ID:gR/F5lVJ.net まあ顔真っ赤おじさんとかどうでもいいんすけど、どう考えてもオブジェクト指向の優勝、圧勝なんすよ、もー話になんないす
159 :デフォルトの名無しさん :2023/09/17(日) 17:24:05.04 ID:L4HC8a7E.net また釣れたw
160 :デフォルトの名無しさん :2023/09/17(日) 17:25:30.93 ID:EVA53Rjw.net オブジェクト指向はプログラム方法の一つの「説明」でしかないのに勝ち負けって頭悪すぎる
161 :デフォルトの名無しさん :2023/09/17(日) 17:50:31.52 ID:gR/F5lVJ.net >>159 と、また釣れたおじさんが申しておりますw
162 :デフォルトの名無しさん :2023/09/17(日) 18:28:12.30 ID:YZPhsijr.net ポンポン ダボハゼみたいにすぐ釣れて釣りとしては面白くないな。 入門で目にしたオブジェクト志向以外知らない頭の悪い初心者だということはよくわかった
163 :デフォルトの名無しさん :2023/09/17(日) 19:25:51.35 ID:gR/F5lVJ.net >>162 と素人が申しております
164 :デフォルトの名無しさん :2023/09/17(日) 19:48:48.58 ID:YZPhsijr.net はい論破とオウム返しばっか、池沼かよ ┐(´д`)┌ヤレヤレダワ
165 :デフォルトの名無しさん :2023/09/17(日) 20:37:36.54 ID:gR/F5lVJ.net >>164 と池沼が申しております おまえには十分だろw
166 :デフォルトの名無しさん :2023/09/18(月) 04:03:20.68 ID:ALFf6KVm.net いまだオブジェクト指向、継承とか言っているのはこんなやつ
167 :デフォルトの名無しさん :2023/09/18(月) 07:00:18.19 ID:8fhm6wiI.net 朝の4時にそのレスできて良かったじゃん
168 :デフォルトの名無しさん :2023/09/18(月) 07:55:33.59 ID:xwdOkQ7Z.net 書き込み下’時間でマウントw
169 :デフォルトの名無しさん :2023/09/18(月) 09:12:53.00 ID:vG0yZxdJ.net マ板でやれやバカども
170 :デフォルトの名無しさん :2023/09/18(月) 09:43:43.01 ID:Y1JfaYii.net 非表示にしとけよ拘りつよつよアスペくん😅 >>169
171 :デフォルトの名無しさん :2023/09/20(水) 23:29:17.31 ID:VBDgfudD.net モジュール化の手法として関数がまず考えられた。 共通するまとまったルーチンを実行するにあたって関数は便利であったが、 呼び出しをしてメモリ上に展開されても処理が完了するとメモリ上から消滅してしまう (それまでの履歴がパァ)という性質のものだった。 simulaの開発者の一人であるダールは、そのせっかくメモリ上に展開したデータであるのに、呼び出しが完了してしまうと制御もメモリ展開ももとに戻ってしまう関数(正確にはブロック)に代わるものとして、 呼び出したとしても制御もメモリ展開も消滅しない、つまり状態をもつ関数(局所変数を持つ関数)を「オブジェクト(object)」と呼んだ。 アラン・ケイは、その関数とは性質が異なる「オブジェクト」を多用するプログラミングを安直にオブジェクト指向と呼んだ(ようだ)。 歴史的に整理すると 構造化プログラミングは、関数を多用するプログラミング(基本3構造は前提)。 オブジェクト指向プログラミングは、ダールのオブジェクトを多用するプログラミング。 と言える。嘘だと思うならダールの論文を読んで見ればいい(と言いつつ本当に読んだら細かい重要なところをバッサリと切り落としているのがバレる)。
172 :デフォルトの名無しさん :2023/09/20(水) 23:35:39.69 ID:VBDgfudD.net オブジェクト指向がわかりにくいのは ダールの論文がいろんな画期的なアイディアてんこ盛りなせいだ。 オブジェクト(object)という概念が画期的なのに、オブジェクトを生成するクラスやオブジェクトの型概念にも触れていて、何がポイントかわかりにくい。 でも何回か読んでるとダールのいうオブジェクト(object)という概念が画期的なのだと分かる。 要するに関数に代わるモジュール化の手法が(ダールの)オブジェクト。
173 :デフォルトの名無しさん :2023/09/21(木) 00:10:08.07 ID:H7YqoNcR.net 今年から流行りだした生成AIはオブジェクト指向と関係ない 数式のように誰にとっても明解でないところが終わってるオブジェクト指向は愚かな人間どもの間違ったアプローチ その先には何も無さそうな事だけは誰の目にも明解
174 :デフォルトの名無しさん :2023/09/21(木) 00:20:33.81 ID:0U/PD5XH.net 状態が可変のオブジェクトはデバッグが難しい どこで状態が変わるのかわからんようになるわ 業務要件とは独立したデータ構造でさえ多少複雑なことするとそういうことおこる ミュータブルは最小にしたが良い、マジで
175 :デフォルトの名無しさん :2023/09/21(木) 00:22:34.55 ID:MHm+UEXg.net >>102 あれはオブジェクト指向ではなくて抽象データ型。 インスタンスが状態持たないでしょ?
176 :デフォルトの名無しさん :2023/09/21(木) 00:25:05.90 ID:MHm+UEXg.net オブジェクトは状態持ってるからオブジェクトなんだよ!と強く言いたい。 持ってないならそれはそれは単なる抽象データ型のインスタンス。
177 :デフォルトの名無しさん :2023/09/21(木) 00:28:54.33 ID:tdxL4aJO.net >>172 それはクロージャ オブジェクト指向に限らず関数型でも使える つまりオブジェクト指向の本質ではない
178 :デフォルトの名無しさん :2023/09/21(木) 00:30:07.90 ID:Zhn9cjmN.net >>175 Rustでももちろんインスタンスが状態を持つよ
179 :デフォルトの名無しさん :2023/09/21(木) 00:31:45.48 ID:Zhn9cjmN.net Cで書いた抽象データ型のインスタンスでも状態持つものはいくらでもある
180 :デフォルトの名無しさん :2023/09/21(木) 00:37:01.04 ID:MHm+UEXg.net >>177 クロージャからオブジェクトを生成する事もできるから似ていることは認めるが、オブジェクトを生成できるのは関数型でも破壊的変更ができるcommon lispとかschemeだけ。sicpにも書いてある。 純粋関数型のhaskellはクロージャからオブジェクトを生成するのは無理。破壊的変更ができないから。 schemeをもとにしたというjavascriptは実際クラスを使わない場合、クロージャでオブジェクトを生成する。真似するとオブジェクト指向でクラスは本質ではない。
181 :デフォルトの名無しさん :2023/09/21(木) 00:39:36.94 ID:MHm+UEXg.net >>178 ,179 そら状態じゃなくて値 多分そういうのrustだとlet mutと宣言してるだろ?
182 :デフォルトの名無しさん :2023/09/21(木) 02:13:11.73 ID:5L348Pt1.net 【根拠あり】フリーランスエンジニアは年収862万円取れて普通という話【高収入】 【こんな僕が】フリーランスエンジニアで月収100万円を達成した5つの方法 ITフリーランスエンジニアの年収|会社員との違いや独立後の案件の取り方 月収90万のITフリーランスプログラマー・SEが選んでる在宅案件はこんな案件です フリーランスの年収は平均いくら?年収1000万円以上の割合とは 2021年最新版 エンジニアの平均年収はいくら?全体平均と比べて○○円も高い!
183 :デフォルトの名無しさん :2023/09/21(木) 10:11:19.31 ID:gdQGfC6C.net インスタンスとか面倒くさい 全部グローバルなstaticクラスで良くね?
184 :デフォルトの名無しさん :2023/09/21(木) 10:12:39.58 ID:eeeUNNfX.net ただの置物となった今ではオブジェ指向でいい
185 :デフォルトの名無しさん :2023/09/21(木) 12:25:41.73 ID:bQKF4ZJD.net みんなオブジェクト指向で作ってんだし合わせようよガキじゃないんだからさぁ!
186 :デフォルトの名無しさん :2023/09/21(木) 13:32:02.03 ID:kBQIqVu1.net 悪いことは少しでも改善しないと進歩がない。
187 :デフォルトの名無しさん :2023/09/21(木) 13:38:45.02 ID:6kzUrMUc.net ガキじゃないんだからさぁ!
188 :デフォルトの名無しさん :2023/09/21(木) 14:04:48.18 ID:KxLc2ofK.net >>181 君だけに通じるご都合主義的な定義で話されても誰も分からんよ let mutで宣言されたら状態じゃなくて値になるて何のこっちゃ
189 :デフォルトの名無しさん :2023/09/21(木) 14:59:44.19 ID:kBQIqVu1.net オブジェクト指向はイメージが広がる(といえば聞こえはいいが妄想を掻き立てられる) 人がいるからオレオレ定義があちこちで膨らんだり独善が独り歩きして おかしな慣わしみたいになり弊害が出てきた
190 :デフォルトの名無しさん :2023/09/21(木) 23:48:33.39 ID:UfkHHyEe.net それはおまえの意見、何の根拠もない 残念、はい論破 オブジェクト指向は非常に重要 これはプログラミング言語界で結論が出ている オブジェクト指向の大勝利
191 :デフォルトの名無しさん :2023/09/22(金) 00:01:25.05 ID:J2JYhUeP.net aiもだいたいオブジェクト指向でかくしなぁ
192 :デフォルトの名無しさん :2023/09/22(金) 00:14:03.42 ID:2pjQfvCi.net >>189 わかる
193 :デフォルトの名無しさん :2023/09/22(金) 00:24:21.80 ID:nZQCXJJN.net >>188 ご都合主義はお互いじゃね? 俺が言ってるのは値でもlet mutで宣言したら状態持ってるように見えるから、抽象データ型が状態持ってると言ってんじゃねっと言ってる 極端なこと言うと let mut x:usize = 0; x += 1; こう書いたらxは状態持ってるように見えるけど 単なるデータ型が状態持ってると考えるのはおかしいからこれは単なる可変の変数に入った値と考えるべきじゃないか? と言っているんだよ。
194 :デフォルトの名無しさん :2023/09/22(金) 00:29:47.98 ID:nZQCXJJN.net 単純に状態を持った局所変数環境のオブジェクトって概念が新しいんだよ。 言ってしまうとそれを使えば全部オブジェクト指向と言える。
195 :デフォルトの名無しさん :2023/09/22(金) 00:59:30.50 ID:pJdskUNF.net >>189 ソフトウエアを開発できないくせに薀蓄だけは立派な 宣教師みたいなやついるよな。 あれもマウントの一種、というか飯のタネなんだろう。 悲惨なのは今だに新たな入門者が宣教師の餌食になって 犠牲者が増えつづけていること
196 :デフォルトの名無しさん :2023/09/22(金) 01:48:01.87 ID:PcXfPQTh.net 指向という言葉がダサイ
197 :デフォルトの名無しさん :2023/09/22(金) 03:06:05.54 ID:UufRKzh2.net 宣教師が最近布教してるのは、アジャイル開発やドメイン駆動だから オブジェクト指向はオワコンなのかもな
198 :デフォルトの名無しさん :2023/09/22(金) 08:48:16.06 ID:ghnEkhiW.net オブジェクトを信じなさい オブジェクトこそが唯一無二の真理
199 :デフォルトの名無しさん :2023/09/22(金) 09:10:31.15 ID:dkRHHNCe.net >>196 原語が Object Oriented Programing だから日本語で指向って言ってるだけ あいつらoops!のノリで付けたんであって Orientedに不快意味は無い
200 :デフォルトの名無しさん :2023/09/23(土) 05:00:06.68 ID:AGrNs2HH.net >>197 そもそもアジャイル開発やドメイン駆動はオブジェクト指向と直交する概念では無い。というかレイヤーが違う むしろオブジェクト指向はアジャイル開発やドメイン駆動を実現する根幹手法の一つと言って良い
201 :デフォルトの名無しさん :2023/09/23(土) 10:10:00.44 ID:i9fpyxKg.net いやいや
202 :デフォルトの名無しさん :2023/09/23(土) 12:51:50.80 ID:tQpIWXxa.net パトラッシュ、疲れただろう? ボクもマジメに突っ込むのはもう疲れたよ。
203 :デフォルトの名無しさん :2023/09/23(土) 18:54:47.60 ID:IJ8IqG3m.net *'``・* 。 | `*。 , 。∩∧ ∧ * これで元気にな〜れ + (´・ω・`) *。+゚ `*。 ヽ、 つ *゚* `・+。*・' ゚⊃ +゚ ☆ ∪~ 。*゚ `・+。*・ ゚ っ https://i.imgur.com/RFbLlK2.gif
204 :デフォルトの名無しさん :2023/09/23(土) 21:15:19.84 ID:ChB9aNsl.net 元気があればオブジェクト指向もわかる ありがとー!!
205 :デフォルトの名無しさん :2023/09/24(日) 09:15:37.08 ID:AyCWE2s/.net ・クラス型オブジェクト指向はオワコン ・プロトタイプ型オブジェクト指向は有用 って考えでいいの?
206 :デフォルトの名無しさん :2023/09/24(日) 11:08:15.86 ID:jYY1d0Rr.net プログラム構造と、開発技法を比較されましても…
207 :デフォルトの名無しさん :2023/09/24(日) 11:23:16.51 ID:gTj5LbbT.net >>205 違う オブジェクト指向自体は有効 ダメなのはクラスとその本質である継承 プロトタイプ方式によるクラス実装も継承なので当然同じくダメ
208 :デフォルトの名無しさん :2023/09/24(日) 11:25:26.13 ID:Cw9+et/n.net javascriptのカオス具合からして失敗だろうプロトタイプは
209 :デフォルトの名無しさん :2023/09/24(日) 16:23:52.68 ID:3YxY27wg.net jsのエコシステムはoopどころじゃない邪悪じゃろ
210 :デフォルトの名無しさん :2023/09/24(日) 23:57:23.50 ID:oGK434I1.net 継承は規模が大きければ使いどころがある 無理に使うと害悪なので、必要に迫られるまで使うな
211 :デフォルトの名無しさん :2023/09/25(月) 00:33:21.23 ID:OWge9pjh.net 継承の良いところと悪いところを両方把握して使い所を見極めればいいんだよ 何でもかんでも継承するのがよくないというだけ クラスベースの継承、プロトタイプ継承、委譲の3つを比較してそれぞれの良いところ悪いところをきちんとおさえること
212 :デフォルトの名無しさん :2023/09/25(月) 00:35:49.52 ID:HQWAHROu.net 継承が悪いとかもう何十年も前から言われてるから それについてはもう語らずに置くけど クラス化が難しい クラス化の難しさが悪い クラス化の難しさの自覚しにくさ語りにくさが悪い と言いたい 継承関係のないクラスを数個つくる その時点で難しい 分担、切り分け、依存関係がもう難しい 再利用性のある単位でくくりだすのが難しい スッキリしたインタフェースを提供するのが難しい これもっと一般化して言うなら 単に抽象化の難しさってことでもあるけど
213 :デフォルトの名無しさん :2023/09/25(月) 00:57:40.87 ID:aQ9tHgH2.net >>212 なんでそれが抽象化なんだよ クラスベースオブジェクト指向ごときが何を抽象化したとw
214 :デフォルトの名無しさん :2023/09/25(月) 01:08:01.38 ID:aQ9tHgH2.net >>210 大規模アプリケーションで広範囲・多階層に渡る継承を多用してソフトを構築したら地獄やでー 初期CDするときはいいんよ。 やっちゃえやっちゃえって感じでソースベースのメソッドなどの単位で差分プログラミングできるところ どんどん継承活用して、流用性を高めたとか言って俯瞰せずコード書き進めちゃえばなんとかCDが進む がしかし、ふと立ち止まり、あるいは時間がたち別の者が全体を見渡しなおすと もうクロスファイルでソースベースマクロ展開みたいな継承がクチャンクチャンの依存のジャングルを成していて gotoの嵐とはまた違った混沌に手がつけられなくなるぜ
215 :デフォルトの名無しさん :2023/09/25(月) 01:10:18.53 ID:aQ9tHgH2.net 入門書のサンプルコードレベルで一見便利そうに見えても 継承が有用なケースというものはあるにはあるが、 実践では実はあまり多くない
216 :デフォルトの名無しさん :2023/09/25(月) 01:17:35.87 ID:aQ9tHgH2.net >>212 それは抽象化が難しいのではなく、 ソフトウエアプログラムの構造(アーキテクチャー)を いわゆる迷信のように流布するクラスベースオブジェクト型にはめて現そうとしたけど うまく現せないことに気が付いたってことだよ いつまでも気が付かないよりはるかにまし
217 :デフォルトの名無しさん :2023/09/25(月) 10:14:44.94 ID:fq2bVCra.net >>214 それはクラス使わなくても変わらない。 混沌に見えるのは大規模になったことが原因であって継承が原因ではない。 クラスにも継承にも欠点は無い。 理解できない人がアホみたいに欠点欠点言ってるだけ。
218 :デフォルトの名無しさん :2023/09/25(月) 10:18:35.43 ID:8PlaAgAt.net 継承があるメソッドは必ずoverrideするって決めたら ベースクラスの事も思い出されて良いのでは? まあ、無駄な処理挟むけど、忘れてしまうよりは良いのでは?
219 :デフォルトの名無しさん :2023/09/25(月) 10:37:24.49 ID:2mEvB720.net 書けてしまうのが問題 継承使うのはライブラリやフレームワークで留めて 応用では使わんことやね
220 :デフォルトの名無しさん :2023/09/25(月) 10:42:26.44 ID:PH+ByLf2.net 継承使うかクラスコードコピペしまくるかの違いなら 継承の方が何万倍マシだろうに
221 :デフォルトの名無しさん :2023/09/25(月) 11:40:39.55 ID:KK/E8/oR.net オブジェクト指向は コードの再利用のためという建前で余計な文法を追加すること
222 :デフォルトの名無しさん :2023/09/25(月) 12:33:16.07 ID:2IrvX93h.net 顕わに目に見えないところでコード展開&マージが起きているのと同じなので 小さくて浅い階層なら把握できるが広範で深い階層に渡る依存のジャングルは 何かどうなっているのかわからなくなってしまう
223 :デフォルトの名無しさん :2023/09/25(月) 12:33:41.40 ID:2IrvX93h.net >>220 委譲使いなよ
224 :デフォルトの名無しさん :2023/09/25(月) 12:34:57.59 ID:IRZWO8eC.net >>220 それはもう既に発想がおかしいんだよ そのままだとコピペになる(同じコードになる)ところはプログラムに当然発生して多くはコピペを回避すべきなんだけど それを継承という間違ったやり方で解決するのは間違っているという話だよ その時に継承しか知らないと継承するしかないと思いこんじゃう だから継承禁止もしくは原則として継承を使わないというプロジェクトや会社があったり指導が入ったりするわけだよ 最近のプログラミング言語は継承自体を無くしたものが増えてるのもその流れだね
225 :デフォルトの名無しさん :2023/09/25(月) 12:36:18.97 ID:2IrvX93h.net >>217 カプセル化と継承と多態 オブジェクト指向を乱用して構築した大規模アプリソフトウエアの目を覆いたくなるような分かりにくさは 単に大規模だからというだけのものではない厄介さがあるぞ
226 :デフォルトの名無しさん :2023/09/25(月) 12:58:59.41 ID:8PlaAgAt.net まあ、フレームワークで継承使わないとかどんだけ縛りだよって話だ罠
227 :デフォルトの名無しさん :2023/09/25(月) 13:04:11.51 ID:2IrvX93h.net >>226 GUIのフレームワークではクラスベースオブジェクト指向の継承が有効な典型だよな。 まぁ、仕様・IFが長年練り上げられてきたことの結実ともいえるが
228 :デフォルトの名無しさん :2023/09/25(月) 13:09:20.84 ID:zA4g5CbZ.net >>225 その大規模アプリをオブジェクト指向じゃなくて何を使えばましになるの?
229 :デフォルトの名無しさん :2023/09/25(月) 13:24:45.11 ID:2IrvX93h.net 言語や開発ツールが規模の大きいソフトウエアの構築を支援するために提供しているモジュラリティ―のための パッケージなどを利用した機能階層・分割設計の方がましだろ
230 :デフォルトの名無しさん :2023/09/25(月) 13:27:11.83 ID:+N84ygWf.net クラスは物とその動作の設計図なんだろうけど 動作だけをうまく整理してまとめて設計図にして、物はその動作によって加工されるだけでよくて、別に物自体が何かしてくれなくていい発想の方が自然なことは多いと思う だからクラスベースだと頭の中と噛み合わなくて残念な気持ちになる
231 :デフォルトの名無しさん :2023/09/25(月) 13:56:58.76 ID:8PlaAgAt.net 動作とか考えるからおかしくなる 役割と考えれば分かりやすい
232 :デフォルトの名無しさん :2023/09/25(月) 14:00:54.45 ID:dKK05iVY.net >>224 継承が不適切な場合もあれば適切な場合もある それを見極めろよという話 盲目的にあらゆる継承がダメだと思ってんなら それは盲目的に継承使うやつと同じレベルだぞ
233 :デフォルトの名無しさん :2023/09/25(月) 14:01:29.91 ID:cH5L00do.net 右に動かすメソッドが WindowでもRectでもウンコでもなんでも動かせるのが自然で良いということかな?
234 :デフォルトの名無しさん :2023/09/25(月) 14:10:00.64 ID:8PlaAgAt.net オブジェクト指向より エージェント指向
235 :デフォルトの名無しさん :2023/09/25(月) 15:41:32.02 ID:bPtriFyH.net >>232 盲目的に継承は必要ないとしても支障はないと思うよ 今時の継承を持たないプログラミング言語も使うようになったけど継承がないことで支障が出たことがない 『継承は不要』の結論でよいと思う
236 :デフォルトの名無しさん :2023/09/25(月) 15:45:33.94 ID:8PlaAgAt.net 他言語待ち出してオブジェクト指向言語の作法説いても意味が無いだろw そんな事言った何でも不用で最後はアセンブラに回帰するわw
237 :デフォルトの名無しさん :2023/09/25(月) 15:54:54.23 ID:bPtriFyH.net >>236 継承を持たない各言語でもオブジェクト指向のプログラミングが自然に行える 継承だけが不要だとはっきりわかった
238 :デフォルトの名無しさん :2023/09/25(月) 16:02:29.40 ID:1Oz14nin.net つまりライブラリ前提で作るくらい設計がしっかりしてるモノ以外、独自クラスを継承させまくるようなコードは難あり?
239 :デフォルトの名無しさん :2023/09/25(月) 16:13:29.29 ID:zA4g5CbZ.net >>235 あなたがどう思うのもあなたの問題なのでそれでよいと思う
240 :デフォルトの名無しさん :2023/09/25(月) 16:17:53.44 ID:8PlaAgAt.net >>237 オブジェクト指向なんて、C言語ですらそれなりに書けるんだが なんで言語仕様有意義に使おうとしない?
241 :デフォルトの名無しさん :2023/09/25(月) 16:19:38.57 ID:8PlaAgAt.net まあ、ここでマイポリシー語るのもいいが、決めつけたり他人に強要するなよってな
242 :デフォルトの名無しさん :2023/09/25(月) 16:28:37.60 ID:s0yAomY2.net 客観的な根拠が一番強い 過去のしがらみのない最近の各プログラミング言語GoやNimやRustなどはいずれも継承を持たない 継承がないという以外の点では全く方向性の異なる各プログラミング言語が継承は不要という同じ結論に辿り着いている
243 :デフォルトの名無しさん :2023/09/25(月) 16:31:16.00 ID:E8ARCJfk.net 継承に限ったことではないが Pros/Cons両面理解した上で状況に応じた使い分けがてきないうちはいつまで経っても素人のまま
244 :デフォルトの名無しさん :2023/09/25(月) 16:34:24.96 ID:8PlaAgAt.net else不用論者みたいな奴だなぁ
245 :デフォルトの名無しさん :2023/09/25(月) 16:50:14.80 ID:zA4g5CbZ.net しがらみとか考え方次第でどうとでもなるからそれは客観的じゃないよw
246 :デフォルトの名無しさん :2023/09/25(月) 16:52:29.42 ID:8PlaAgAt.net とある言語仕様に無いから全言語に渡って不用って 極端なw
247 :デフォルトの名無しさん :2023/09/25(月) 17:09:03.89 ID:F0mcF4FZ.net Rustはトレイトのデフォルト実装で継承の一部をまかなってる それ以上の部分はマクロでコピペコードを生成するかそのままコピペすることで継承相当を実現している
248 :デフォルトの名無しさん :2023/09/25(月) 17:11:03.38 ID:0g73jH4i.net 必要と不要ではなく静的と動的で分けるのが、商業的でない中立な見方 継承は不要だから採用されないのではなく 動的ディスパッチだから動的言語に近い言語でしか採用されない
249 :デフォルトの名無しさん :2023/09/25(月) 17:11:12.20 ID:s0yAomY2.net 最近のプログラミング言語 【継承がない】Elixir、Go、Julia、Nim、Rust、Zig 【継承がある】Kotlin(Javaの後継)、Swift(Objective-Cの後継) つまり過去のしがらみで継承を含めざるを得なかったKotlinとSwiftを除いて全ての言語に継承はない
250 :デフォルトの名無しさん :2023/09/25(月) 17:12:48.35 ID:moYp0tPu.net >>247 Derefが継承の代替として使われることもあるよ
251 :デフォルトの名無しさん :2023/09/25(月) 17:15:24.44 ID:hRr4oOqW.net >>249 広く使われてるGUIライブラリのある言語とそうでない言語の分類そのものですね
252 :デフォルトの名無しさん :2023/09/25(月) 18:09:35.84 ID:8PlaAgAt.net GUI処理書くのに継承無いとか嫌過ぎる
253 :デフォルトの名無しさん :2023/09/25(月) 18:33:50.47 ID:0g73jH4i.net jsにはラムダがあるからGUI目的の継承をしなくなった
254 :デフォルトの名無しさん :2023/09/25(月) 19:32:34.54 ID:UoPxhUhD.net >>227 > まぁ、仕様・IFが長年練り上げられてきたことの結実ともいえるが 彗眼やね 屍の山の上にしか良い設計は無いんよ >>230 いいとこに着目してると思う やっぱ関数と値で済んでたときより大げさなんよね Javaに悪い意味で鍛えられた人は平気なんだろうけど (FizzBuzzEnterpriseEditionみたいなやつのことね) >>238 ありなし語る必要ないと思う やってみればいい 100%失敗するから クソの山になるから
255 :デフォルトの名無しさん :2023/09/25(月) 19:36:58.29 ID:FlTLze7i.net rust や go だと継承に相当するようなことができるのでいまいちピンとこないんだよね。
256 :デフォルトの名無しさん :2023/09/25(月) 22:27:07.39 ID:SCrjiBQI.net >>247 ちょっと違うので補足するね Rustのトレイトは機能・性質を示すもので型でもクラスでもなく変数(やその値)を持つこともなく各型に対して横断的な位置付けであり クラスとその継承を排除したRustでは各型に対して必要な複数のトレイトを実装すなわち合成していくわけだけど トレイトのメソッドは二種類に分かれていて 必須メソッド(required methods)は各型で実装コードが異なるメソッド 提供メソッド(provided methods)は各型で実装コードが共通にできるメソッドで必須メソッドやトレイト境界となる他のトレイトのメソッドを用いてデフォルト実装している つまり機能性質を示すトレイトに対して各型固有の実装と各型共通の実装の二種類に整理しているだけにすぎないよ したがってRustではトレイトとそのメソッドをきちんと設計すればコピペは出て来ない 複数の型でコードが全く同じとなるならば上述のように各型共通の実装となる提供メソッド(provided methods)になりデフォルト実装となる もしマクロでメソッド実装を自動生成する場合はそれは各型固有の実装となる必須メソッド(required methods)に対してマクロの引数指定部分だけが各型で実装が異なる場合になりコピペではないね
257 :デフォルトの名無しさん :2023/09/26(火) 00:48:16.96 ID:mW7xEcGz.net Rustだとライブラリで定義済みのトレイト実装を少しカスタマイズしたいだけでも 変更の必要ないメソッドやトレイト実装も全て元の構造体に委譲するコードを書かないといけない 継承がないから構造体1つに対して10個や20個トレイト実装があるのは普通なのでマクロ使わないとコピペ地獄でやってられない 一般的OOPならメソッド1つオーバーライドするだけの簡単な作業
258 :デフォルトの名無しさん :2023/09/26(火) 01:12:22.03 ID:i+iKqNf9.net >>257 発想がおかしい そんなことが必要になることはない 使わないメソッドを生やす必要はない もし元の型の全てのメソッドを生やす必要があるのならばその時はDerefを使えばよくて自動的に全てのメソッドが生えた形になる
259 :デフォルトの名無しさん :2023/09/26(火) 02:37:40.13 ID:LjeIbJUy.net Derefのそういう使い方はアンチパターンでしょ Traitをカスタムするという発想がおかしいというのは同意 オーバーライドなんてするな
260 :デフォルトの名無しさん :2023/09/26(火) 09:00:17.20 ID:HGB+okJ7.net 世の中、似た様な画面で項目だけ違う処理がたくさんあり過ぎる
261 :デフォルトの名無しさん :2023/09/26(火) 09:10:04.28 ID:75MGfnhF.net 型クラス構造を階層的に取り込んで内包していくような設計に 考えが凝り固まっているんじゃねーかな 昨日階層の抽象化は本来そういうものではなく 階層が上がるにつれより抽象的な構造に「昇華」していく筈だと思うが
262 :デフォルトの名無しさん :2023/09/26(火) 09:11:41.08 ID:HGB+okJ7.net まあ、フレームワークくらいにしか使わないけどな
263 :デフォルトの名無しさん :2023/09/26(火) 09:32:49.19 ID:75MGfnhF.net >>261 より複合的な構造に融合していくことで 機能階層の抽象化を現す、というか代用しようとしたところに どだい無理があったんだ やりにくいわけだよ
264 :デフォルトの名無しさん :2023/09/26(火) 09:36:16.66 ID:TLEYFp/r.net 以前Javaのユーザグループミーティングに出席した際、James Gosling(Javaの生みの親)がメインの講演者として招かれていました。 すばらしいQ&Aセッションの途中に、こんな質問が出ました。 「もう一度最初からJavaを作り直すとしたら、どこを変更したいですか?」 答えは「クラスを除外するでしょうね」というものでした。 笑いが静まった後、彼が説明したのは、本当の問題はクラス自体ではなく実装継承(extendsの関係)なのだということでした。 インターフェースによる継承(implementsの関係)のほうが望ましいのです。できる限り実装継承は避けたほうがよいでしょう。
265 :デフォルトの名無しさん :2023/09/26(火) 09:37:57.06 ID:75MGfnhF.net カプセル化とアクセサーがまたクソなんだよな ソフトウエアの規模拡大に伴う複雑さをより増長させる
266 :デフォルトの名無しさん :2023/09/26(火) 09:45:45.09 ID:Pu+bW/hr.net だから、エージェント指向だよ
267 :デフォルトの名無しさん :2023/09/26(火) 09:49:57.35 ID:fxfYOiWX.net おっと、明後日の方向から不思議な球が飛んできたw
268 :デフォルトの名無しさん :2023/09/26(火) 09:56:26.60 ID:Pu+bW/hr.net 同一マシン内である事すら不用な仕組み 全ての手続きはメッセージでやり取りされる ゆえにアクセサは各エージェントに1組だけ
269 :デフォルトの名無しさん :2023/09/26(火) 09:58:18.98 ID:fxfYOiWX.net ソフトウエアを作っていない人と見た。
270 :デフォルトの名無しさん :2023/09/26(火) 10:03:09.62 ID:fxfYOiWX.net この人と似た雰囲気がするな https://mevius.5ch.net/test/read.cgi/tech/1693451813/442-455
271 :デフォルトの名無しさん :2023/09/26(火) 11:27:47.44 ID:J0zXOsdf.net >>259 >Traitをカスタムするという発想がおかしいというのは同意 なんでおかしいと思うの?
272 :デフォルトの名無しさん :2023/09/30(土) 16:53:59.14 ID:lIYH5p6r.net >>264 そのレスの中に技術的な根拠ある? 誰々が言ってたから、で何使うか決める感じか? 別に好きにすればいいけどそれは素人でもできますよね
273 :デフォルトの名無しさん :2023/09/30(土) 16:58:25.69 ID:syF3qyzI.net なんとか技法とか、なんとか指向とか 宗教みたいなもんだから、別に従う必要も無いんだよなぁ
274 :デフォルトの名無しさん :2023/09/30(土) 17:05:11.09 ID:nY8APa4N.net >>272 変な詭弁だな、玄人でもできるぞ。 そして意見は専門家・元祖だぞ、 技術的根拠的根拠なしに子供みたいに上げ足とってるだけのレスはお前さんだろ さては論破君だな
275 :デフォルトの名無しさん :2023/09/30(土) 17:08:33.49 ID:syF3qyzI.net 頭弱いのバレバレな文章だなぁ
276 :デフォルトの名無しさん :2023/09/30(土) 17:11:28.38 ID:nY8APa4N.net 性格が悪いのがまたからかわれに出てきたのか
277 :デフォルトの名無しさん :2023/09/30(土) 17:12:32.20 ID:nY8APa4N.net ↓と申しております、とか書くころ
278 :デフォルトの名無しさん :2023/09/30(土) 19:22:36.99 ID:lIYH5p6r.net すみませんね、根拠が要らない人たちと思わなかったんでね。 話にならないよね。 ここでその元祖の名前だけ示して誰得なんすか?
279 :デフォルトの名無しさん :2023/09/30(土) 20:06:51.67 ID:nY8APa4N.net 話にならないなら黙てればよい。 まぁ一応謝っているようだから非は認めたわけだな。 今後気を付けるように。
280 :デフォルトの名無しさん :2023/09/30(土) 20:25:12.96 ID:lIYH5p6r.net 皮肉だとわからない 権威主義で名前だけでありがたがる 生きてて幸せだよねw 話にならないなら黙てればよいならおまえが黙っとれよw
281 :デフォルトの名無しさん :2023/09/30(土) 21:43:39.23 ID:lIYH5p6r.net 性格どうこうというより権威主義「玄人」プログラマーと話噛み合わないの目に見えてるから誰もまともに相手しないよ 実際「ここで元祖の名前だけ出して誰得なのか」は答えられなくて意味不明なレスしか来ないわけじゃん
282 :デフォルトの名無しさん :2023/09/30(土) 21:58:03.51 ID:nY8APa4N.net ちょっと刺激するとすぐむきになって食いつくw ほんと、ダボハゼ並みだな
283 :デフォルトの名無しさん :2023/09/30(土) 22:00:20.54 ID:uokmRef0.net なんで見当違いの宗教闘争延々とやっているんだ A「九九は便利だ」 B「九九では足し算引き算に役に立たない」 こんなアホな言い争い続けるのは暇すぎるどころか病院行った方がいい
284 :デフォルトの名無しさん :2023/09/30(土) 22:08:25.33 ID:nY8APa4N.net >>280 頭に血が上ると 〜と申しております 大前こそ〜(単なる言い返し) はい論破 すぐこういう言い方をする 反応が子供みたいで分かり易い
285 :デフォルトの名無しさん :2023/09/30(土) 22:16:19.55 ID:lIYH5p6r.net いつまで経っても小学生の悪口みたいなことしか出てこない 本当にしょうもない 足し算引き算の役に立たない、という理由が示されているならまだ有益な議論になり得るが、「誰々が九九は役に立たないと言っていました」だけでいけると本気で思ってるんだからマジですごい
286 :デフォルトの名無しさん :2023/09/30(土) 22:20:44.91 ID:nY8APa4N.net ほんと分かり易い。
287 :デフォルトの名無しさん :2023/09/30(土) 22:30:29.98 ID:lIYH5p6r.net わかりやすい連呼のゴミ人生でした
288 :デフォルトの名無しさん :2023/10/01(日) 00:12:42.51 ID:KkBb2S1m.net 良かったら年齢と学歴教えて
289 :デフォルトの名無しさん :2023/10/01(日) 09:15:28.15 ID:2adgRT7m.net 別に教えてもらわなくても一人でやったらいいやん、ままごとみたいに 結局同じことなんだからそれで満足すれば済む話だ
290 :デフォルトの名無しさん :2023/10/01(日) 09:23:22.48 ID:rjZHaWtE.net オブジェクト指向って、C++で、 classのコンストラクタとデストラクタが メモリーの安全な自動解放に簡単に対応できるので 重宝している。 もしそれらが無かったら、メモリーを簡単に自動解放できない。
291 :デフォルトの名無しさん :2023/10/01(日) 09:25:58.43 ID:jNRKUn/r.net 道端でも誰も聴いてないのに一人でブツブツ大声で自問自答してるヤバいおっさんおばさんおるけど ああいう類の人間なんかな
292 :デフォルトの名無しさん :2023/10/01(日) 09:28:09.49 ID:rjZHaWtE.net C++ではclassの概念は、とても重要。 主にメモリーの自動解放のため。それ以外の 言語では余り要らないのでピンとこないのかも。
293 :デフォルトの名無しさん :2023/10/01(日) 13:15:07.23 ID:KgnXZbAE.net 自分みたいにメモリの開放忘れる人間にはC++は難しい
294 :デフォルトの名無しさん :2023/10/01(日) 13:39:28.55 ID:cZOrnAr5.net classなくても自動解放くらいできるでしょ interface/trait/protocolを使う C++にはそれがないからclassで代替してるだけ
295 :デフォルトの名無しさん :2023/10/01(日) 13:44:53.34 ID:dg4Xcjmo.net オブジェクト指向の考え方/やり方だけでなく オブジェクト指向以前とポストオブジェクト指向での考え方/やり方を把握してないと オブジェクト指向の良し悪しは評価できない
296 :デフォルトの名無しさん :2023/10/01(日) 13:47:35.04 ID:dHLzwzhp.net メモリに関してはCとC++の違いはブロック終端のトリガの有無だけだから Cでもコンテナに紐付ける仕掛け作れば問題なかった アホが多すぎただけ
297 :デフォルトの名無しさん :2023/10/01(日) 14:08:36.42 ID:laJh6B3W.net Cでも、RAIIできるの?
298 :デフォルトの名無しさん :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次元があるのではないか…デブでもおばさんでも勃起できる人にはこの苦しみはわからんっすね (deleted an unsolicited ad)
299 :デフォルトの名無しさん :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 >単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを >ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。 × 俺.オシッコを止める 俺.オシッコを出す ○ 俺.チンポに力を入れる 俺.チンポから力を抜く
300 :デフォルトの名無しさん :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)
301 :デフォルトの名無しさん :2023/10/01(日) 14:32:10.64 ID:Y7qk5s2j.net >>290 それはclassとは全く関係がない C++の比較としてわかりやすいのRustはclassを持たないがメモリが安全に自動解放される C++もRustもその機構はRAII機能に基づいておりオブジェクト指向は関係ない
302 :デフォルトの名無しさん :2023/10/01(日) 14:34:16.41 ID:dHLzwzhp.net >>297 タイミングが異なる点を除けば似たような仕組みは作れる
303 :デフォルトの名無しさん :2023/10/01(日) 14:40:25.74 ID:v3BOjD1R.net >>301 でも仕組みの簡単さからC++流のclassの方が先に出た。
304 :デフォルトの名無しさん :2023/10/01(日) 14:40:27.98 ID:v3BOjD1R.net >>301 でも仕組みの簡単さからC++流のclassの方が先に出た。
305 :デフォルトの名無しさん :2023/10/01(日) 19:07:36.85 ID:RnzHy+Ka.net 変数の管理をしてくれる言語を使えよハゲどもが
306 :デフォルトの名無しさん :2023/10/01(日) 19:17:29.32 ID:RnzHy+Ka.net >>299-300 こちらのスレで皆さんがお待ちです、存分にお書きください http://mevius.5ch.net/test/read.cgi/tech/1619499726/
307 :デフォルトの名無しさん :2023/10/01(日) 20:10:51.85 ID:hX9xjpD8.net >>306 オブジェクト指向とは何かについて、他にわかりやすい説明が有るのか?
308 :デフォルトの名無しさん :2023/10/02(月) 01:09:41.83 ID:DXCTtI1y.net 正直者には、見ます。 ささ、どうぞあちらへ。
309 :デフォルトの名無しさん :2023/10/17(火) 20:07:11.02 ID:iLOamahz.net OOPはオワコンにはなりませんよ?
310 :デフォルトの名無しさん :2023/10/19(木) 01:30:31.85 ID:ReS9VmD8.net 1996年ころから購読していたのCマガジン雑誌 まだたくさん残っているが、オブジェクト指向とか また当時の日経プログラミングだったか?雑誌にも 関係ないがLinuxって1996年ころはまだ初期の時代だったんだな
311 :デフォルトの名無しさん :2023/10/19(木) 01:31:33.44 ID:ReS9VmD8.net 訂正思い出した日経ソフトウェアだw 当時はCDとかいっぱいおまけがついていた
312 :デフォルトの名無しさん :2023/10/19(木) 01:34:49.05 ID:xRKx+n3E.net >ID:ReS9VmD8 言語障害の気が出てるから病院で検査してもらってこい
313 :デフォルトの名無しさん :2023/10/31(火) 13:55:10.92 ID:wz6hR3A/.net 継承を使いまくる数学、化学、天文分野があるんじゃないの? 知らないだけかもしれないやん
314 :デフォルトの名無しさん :2023/10/31(火) 16:28:48.15 ID:1/1CCAX6.net 学問は継承されてるよね教育によって 継承を使いまくってるねうん
315 :デフォルトの名無しさん :2023/11/01(水) 03:34:28.91 ID:5z6NYMjm.net 継承というか増築だな 間違いを糺す方向なら良いが 臭いものに蓋をしているだけのケースもある
316 :デフォルトの名無しさん :2023/11/02(木) 00:53:05.17 ID:C1u8Rfqp.net 学問のどこがオブジェクトなんだよ?
317 :デフォルトの名無しさん :2023/11/02(木) 08:49:12.85 ID:rUbcesCO.net 学ぶ人間だな
318 :デフォルトの名無しさん :2023/11/04(土) 07:07:49.01 ID:EkV1A63H.net オブジェクト思考言語しか触ったことないなぁ……JavaとC#だけ
319 :デフォルトの名無しさん :2023/11/04(土) 08:54:45.74 ID:LcB6D1Ol.net そんな思考ではいかん崎
320 :デフォルトの名無しさん :2023/11/04(土) 13:00:40.63 ID:DZrRJ0p+.net C#には20年前からデリゲートがあった デリゲートはオブシコ的に邪道と言われて Javaは当時デリゲートを否定してた それから12年後Javaでラムダ式が使えるようになった この20年間はオブシコが限界につきあたりそれを関数型で突破する 試行錯誤が行われているように思われる
321 :デフォルトの名無しさん :2023/11/04(土) 16:36:10.21 ID:ZcgvxfJM.net オブシコには最初から懐疑的だったね俺は
322 :デフォルトの名無しさん :2023/11/04(土) 19:16:33.99 ID:T14pQUSp.net 弾幕系シューティングゲームの敵弾を無限に増やしたり、消したり。 弾幕の軌道の種類を継承で増やす。 とか?
323 :デフォルトの名無しさん :2023/11/04(土) 21:06:27.26 ID:SYCLubyE.net >>5 で早々に指摘されてる通りライブラリがすでにオブジェクト指向なんだよなあ。ついでにAPI使うのもそう こんなスレでごちゃごちゃ書きたがるのは当たり前にライブラリやAPIを使わない人たちかな
324 :デフォルトの名無しさん :2023/11/05(日) 10:29:13.93 ID:ol9bMVcc.net オブジェクト指向と言っても階層がある フレームワークやライブラリを造る層 中間層 単に利用するだけのクレクレ層
325 :デフォルトの名無しさん :2023/11/05(日) 10:30:00.47 ID:ol9bMVcc.net ちなみに >>323 の視点はどう観てもクレクレ層
326 :デフォルトの名無しさん :2023/11/05(日) 17:32:14.56 ID:QR45ukux.net 利用しないで文句言うだけじゃね
327 :デフォルトの名無しさん :2023/11/06(月) 02:08:53.26 ID:moBvQfOK.net ライブラリは使えばいいんよ。 車輪の・・・は時間の無駄だしさ 例えばオワコンだとして、オブジェクト指向に代わる概念ってあるの?かな?
328 :デフォルトの名無しさん :2023/11/06(月) 07:20:06.20 ID:70OUkfAm.net オブシコでもある程度まではうまくいく オブシコが潰していったパラダイムの中に適切なものがあたかもしれない
329 :デフォルトの名無しさん :2023/11/07(火) 22:04:51.55 ID:We/0vraC.net 本当にオワコンか?
330 :デフォルトの名無しさん :2023/11/07(火) 23:40:56.36 ID:laLhHNQt.net オワコンです
331 :デフォルトの名無しさん :2023/11/08(水) 01:48:06.76 ID:5o5qiXKK.net オブジェクト指向は複雑性が増すごとに破綻し易くなるく砂上の楼閣理論 やはりデータに手足を生やすのは間違っていた 祖の争いSmalltalkerはLisperに勝てなかった それだけのこと
332 :デフォルトの名無しさん :2023/11/08(水) 08:59:37.91 ID:RQjSMWWP.net バカが作るから破綻する それだけのこと
333 :デフォルトの名無しさん :2023/11/08(水) 09:34:05.09 ID:G1poaB6X.net インターフェースだけでいいよもう
334 :デフォルトの名無しさん :2023/11/08(水) 09:34:51.90 ID:/JKDdFz2.net つまりC言語が最強ってことか
335 :デフォルトの名無しさん :2023/11/08(水) 11:23:51.37 ID:fKz2Vipi.net Keep it simple, oops.
336 :デフォルトの名無しさん :2023/11/08(水) 21:03:30.78 ID:wwLvTPFi.net Javaなんか継承しまくって機能拡張してるからそういった方面で使うのでは? 過去の資産を活用できるように作るか、毎回新規で作るかによるね
337 :デフォルトの名無しさん :2023/11/09(木) 01:06:59.85 ID:/EissswG.net オブジェクト指向でないと、プラグインとかまともなインターフェイスにならんやろ。
338 :デフォルトの名無しさん :2023/11/09(木) 11:45:59.07 ID:Fo7n9qIp.net Rust の trait は oops !
339 :デフォルトの名無しさん :2023/11/12(日) 10:46:44.60 ID:4vqQNhnm.net まだこんなクソスレ立ててるやついるのか 10年くらい前からオワコン言い続けてるけどいつ終わるんだか
340 :デフォルトの名無しさん :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ギフト券に交換できます! 家族・友人に紹介したり通常タスクをこなせば更にポイントを追加でゲットできます
341 :デフォルトの名無しさん :2023/11/15(水) 09:03:46.64 ID:PIzU8B+d.net >>340 やってみない手はない
342 :デフォルトの名無しさん :2023/11/15(水) 18:59:58.68 ID:tPBxgNfn.net 宣伝のマルチポストは何とかならんのかね
343 :デフォルトの名無しさん :2023/11/16(木) 08:06:38.29 ID:nV/QBQ73.net 業者に近い香具師のやってることみたいなので、業者と思うのがいい # ダックテスト
344 :デフォルトの名無しさん :2023/11/18(土) 09:09:46.14 ID:vBDsvFEe.net ルールを守らん奴には退場してほしいものだな
345 :デフォルトの名無しさん :2023/11/19(日) 16:25:54.40 ID:j9gIHEdT.net ORMって便利だと思うが オブジェクト指向否定するやつはいつも名前SQL叩いてんのか?
346 :デフォルトの名無しさん :2023/11/19(日) 18:46:12.96 ID:bV4d5xXM.net >>345 ORMとオブジェクト指向って何か関連があるの? ちょっとよくわかんないんだけど
347 :デフォルトの名無しさん :2023/11/19(日) 19:16:16.08 ID:T4k91i6p.net 正直 struct relation mapper と言っても差し支えないものがほとんどたからな。
348 :デフォルトの名無しさん :2023/11/19(日) 23:00:14.66 ID:IjgzLSHb.net >>345 巷で使われてるORMが便利なのって「DBMS間の差異を吸収してくれる」「クエリを自動で作ってくれる」「結果をオブジェクトに詰めてくれる」あたりだろ 前二つはオブジェクト指向関係ないし、最後もオブジェクト指向言語だからオブジェクトに詰めてるだけで、>>347 も書いてるように本質的には構造体でもいいんだよ オブジェクト指向がなくなったとしても、また別のxRMが出てくるだけだと思うぞ
349 :デフォルトの名無しさん :2023/11/20(月) 00:47:45.50 ID:Cp3kPxHu.net LaravelのDBクラスより標準のPDOクラスのほうが使いやすいという
350 :デフォルトの名無しさん :2023/11/20(月) 13:56:42.13 ID:MS7hPbOQ.net KVSですねわかります
351 :デフォルトの名無しさん :2023/11/20(月) 15:39:56.06 ID:kg22kICS.net ちがいます
352 :i.hidekazu :2023/12/12(火) 05:12:23.87 ID:c1pA8kio.net オブジェクト指向とは何なのかの前提から分かってないやつが多すぎる 構造化プログラミング=シングルスレッドプログラミング オブジェクト指向プログラミング=マルチスレッドプログラミング これが大前提 https://qiita.com/iHdkz/items/3714155bb94a23ca1b9c
353 :i.hidekazu :2023/12/12(火) 05:15:57.52 ID:c1pA8kio.net 2つのプログラムを連接したいときにシングルスレッドでは変数名や関数名が衝突して簡単にはできないという困難を、マルチスレッド=オブジェクト指向が解決してくれる この大前提を書いてない言説が世の中多すぎる
354 :デフォルトの名無しさん :2023/12/12(火) 09:12:52.00 ID:bh0SftWU.net これまたどえらいもんを出してきたな。
355 :デフォルトの名無しさん :2023/12/12(火) 09:22:10.95 ID:/OrzPB6P.net トンデモ記事だな
356 :デフォルトの名無しさん :2023/12/12(火) 10:31:25.17 ID:YV2TYdjD.net トンデモ過ぎて逆に面白かったわw
357 :デフォルトの名無しさん :2023/12/12(火) 10:51:40.65 ID:6C/zc+S/.net 同じ名前が使えるのはネーム空間のおかげだよな? 別にマルチかどうかは関係ないし…
358 :デフォルトの名無しさん :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を再利用することになるけど考え方は変わらない
359 :デフォルトの名無しさん :2023/12/12(火) 20:11:14.91 ID:qtJTMkIP.net 良くこんなの見つけて来たなと思ったら本人かよ…
360 :デフォルトの名無しさん :2023/12/13(水) 00:05:09.71 ID:2g95gV8C.net >>359 いやこれは自警だ。今見てびっくりした。 なんかよくわからんけどwikipediaも関係ないのにまだつきまとわれる。なんか成り済まされるし。 なんなんこの人?
361 :デフォルトの名無しさん :2023/12/13(水) 00:13:34.67 ID:2g95gV8C.net wikipediaにゴミ情報書くなばりに追い出されたからひっそり書いているのに一々突っかかってくる。 この人俺のファンなのか(笑)?なんか変なのに粘着されてすごい面倒なんだけど。
362 :デフォルトの名無しさん :2023/12/13(水) 00:30:11.94 ID:2g95gV8C.net なんで粘着自警の貼った話を俺が回答するのかわからんのだがなんか書くと >>355 Simulaのクラスは当初プロセスという名称だったんだよ。 >>357 その名前空間をどう実現するの? >>358 関数型プログラミング的な考え方だが、想定しているのは当時の構造化言語で その時代にそんなレキシカル・スコープ備えた言語なんてないよ。 ただ、そういう突っ込みの説明が面倒だったので連接(concatenation)でプログラム合成した場合に限ってる。 関数で抽象した場合のケースはよく読むとすっ飛ばしている。
363 :デフォルトの名無しさん :2023/12/13(水) 00:49:09.36 ID:UEuJAt8H.net >関数型プログラミング的な考え方だが、想定しているのは当時の構造化言語で >その時代にそんなレキシカル・スコープ備えた言語なんてないよ。 >>358 はめちゃくちゃ手続き的な考え方だしレキシカルスコープなんて全く必要ない 逆に言えば君は関数型についてもレキシカルスコープについても何も理解していないということがわかる これだとwikipediaならbanされて当然 でもQiitaならトンデモ記事でもエンタメとして成立するので好きにすればいいと思うよ 俺も>>352 の記事は楽しませてもらったから
364 :デフォルトの名無しさん :2023/12/13(水) 01:02:37.45 ID:2g95gV8C.net お前蹴りだな。twitterでも一々突っかかってくるし、生温かく見守ってとかいいつつ喧嘩吹っ掛けてくるとか。いったいなんなん? レキシカルスコープなんて全く必要ないというのなら全部グローバル変数ってか?それこそ衝突するだろ。 局所環境が無いと関数プログラミングなんてできない。 逆にいえば、局所環境がちゃんとあるならば構造化プログラミングも別方向に進展することができる。 関数型プログラミングを考える上ではそれは必須だ。 逆に構造化プログラミング知らずに関数型プログラミングでござい、なんてありえないだろ。
365 :デフォルトの名無しさん :2023/12/13(水) 08:25:46.13 ID:NbIWTS6w.net キータは関数型プログラミングでも炎上してたし オブジェクト指向でもトンデモ理論を提唱するかたが現れるとはな 自由であることの証左ではあるだろうけど
366 :デフォルトの名無しさん :2023/12/13(水) 12:19:47.44 ID:zD6/wvDM.net >>364 自意識過剰が過ぎる twitterとかやってねーしお前が誰かとか知らねーから レキシカルスコープを理解してないばかりかダイナミックスコープは存在すら知らないんだな 無知や間違いを指摘してくれる友人や同僚はいないのか?
367 :デフォルトの名無しさん :2023/12/13(水) 12:25:56.46 ID:zD6/wvDM.net >その時代にそんなレキシカル・スコープ備えた言語なんてないよ。 当時ダイクストラが主として使っていたALGOL60はレキシカルスコープを備えている 当然それを念頭において構造化プログラミングに関する論文をかいている お前の妄想だけで嘘八百書くからbanされたんだろ
368 :デフォルトの名無しさん :2023/12/13(水) 12:36:24.80 ID:sUe1mEvE.net 自警とか蹴りとか、自分用語を説明もなく使っちゃうのが如何にもアレだなぁ
369 :デフォルトの名無しさん :2023/12/13(水) 12:41:50.00 ID:NbIWTS6w.net 糖質っぽさがあるよな
370 :デフォルトの名無しさん :2023/12/13(水) 19:07:41.26 ID:rYdFb4gI.net 次回作はSmalltalkやC++でマルチスレッド性がクラスから消滅した理由を書いてください!
371 :デフォルトの名無しさん :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の時点で疑似的なマルチスレッド。 オブジェクトを呼び出してもそのプロセスが消滅しないという特徴がポイント。
372 :デフォルトの名無しさん :2023/12/13(水) 19:45:57.78 ID:rYdFb4gI.net 次回作はSmalltalkやC++で疑似マルチスレッド性がクラスから消滅した理由を書いてください!
373 :デフォルトの名無しさん :2023/12/13(水) 19:47:13.87 ID:2g95gV8C.net 上の話によれば変数環境のモデルがAlgolの時代にすでにあったらしい。それは知らなかった。ぜひその論文を教えて欲しい。
374 :デフォルトの名無しさん :2023/12/13(水) 20:18:16.44 ID:rYdFb4gI.net C++のクラスは疑似マルチスレッドとかないので、2つのプログラムを合体させようと思ったときにむっちゃ困るわー
375 :デフォルトの名無しさん :2023/12/13(水) 22:35:36.95 ID:AT19Cx9r.net 真性なやつってここまでヤバいのかよ こえーな
376 :デフォルトの名無しさん :2023/12/14(木) 00:08:32.08 ID:AgoftYrM.net 友人がPythonでクラスを使うのを頑なに拒んでいたが、時代の先端を行っていたのか…
377 :デフォルトの名無しさん :2023/12/14(木) 00:39:36.75 ID:9fP1iZpn.net 陽性臭い粘着。
378 :デフォルトの名無しさん :2023/12/14(木) 00:41:39.27 ID:5+QFFRl5.net pythonはシェルスクリプトやるよりはマシなんだよなあ
379 :デフォルトの名無しさん :2023/12/14(木) 02:37:41.65 ID:aBZ2Af/o.net >>376 GoやRustなど最近の言語はクラスを廃止した言語が多いね
380 :デフォルトの名無しさん :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 票、無効票なし。ガイドラインに基づき、今回は見送りとなります。 こんな人が管理者になったらやばすぎる
381 :デフォルトの名無しさん :2023/12/14(木) 19:23:24.46 ID:AgoftYrM.net 現代のオブジェクト指向の class の割れ窓化と宣言的プログラミング https://zenn.dev/mizchi/articles/oop-think-modern >いいたいのは、 状態コンテナとしての class とメンバーが >不必要な副作用を生み出す割れ窓になっていて、 >副作用を持つメンバや関数というのは例外的な事項として扱うべきである、ということ。 >class をまったく書くべきではないという話ではなく、 >class は例外的な状態コンテナであるということ。
382 :デフォルトの名無しさん :2023/12/14(木) 19:56:10.01 ID:9fP1iZpn.net 3時まで返事待ってる上にキレるメンヘラとは会話できんねー。 会話できる見込みあれば会話しようかと思ったけどこれは無理だわー。
383 :デフォルトの名無しさん :2023/12/15(金) 06:19:47.87 ID:kFr0jE+D.net >>381 ほんとクソ記事だな 間違ったこと最もらしく書き散らかして悦に入ってるポエマー気質が気持ち悪過ぎる
384 :デフォルトの名無しさん :2023/12/15(金) 19:50:24.69 ID:ztNZIvu0.net 結局、ALGOLのこと分かってないのがバレて逃げたんかな もっとエンターテイメントを提供してくれよ
385 :デフォルトの名無しさん :2023/12/15(金) 22:07:40.22 ID:U7VcmAWm.net 同じクソ記事でも >>352 はハイファンタジー >>381 はノンフィクションに見せかけたフィクション
386 :デフォルトの名無しさん :2023/12/15(金) 23:39:16.65 ID:WfAwrcm4.net ホント草生える
387 :デフォルトの名無しさん :2023/12/17(日) 22:27:46.28 ID:ne4gXust.net 倫理的には問題ないと思うが もし生理的に無理だとしたら 倫理より生理的な縛りのほうが自由を制限していることの証左
388 :デフォルトの名無しさん :2023/12/18(月) 18:39:25.59 ID:kd6i94z5.net 割れ窓って何
389 :デフォルトの名無しさん :2023/12/18(月) 21:37:35.75 ID:SGakcaDT.net >>388 「割れ窓理論」でググれ
390 :デフォルトの名無しさん :2023/12/18(月) 23:30:23.48 ID:6hD73gHu.net ニューヨーク市長の政策とクラスに何の関連があるんだ 説明下手糞が
391 :デフォルトの名無しさん :2023/12/19(火) 00:04:12.97 ID:Al/MhlSQ.net 割れ窓理論には対になる六角ボルト理論というものがあってだな、六角ボルトを回す工具はきれいな六角形をしていたら六角ボルトがすり減ったときに噛み合わなくなって空回りするんだよ、六角形を崩してあえて遊びを設けておくことできれいな六角ボルトもすり減った六角ボルトも回せるようになる これはオブシコも全く同じ、あえてオブシコをすこし崩すことでプログラムコードは柔軟になる
392 :デフォルトの名無しさん :2023/12/19(火) 00:34:39.48 ID:83kWlVWw.net NYとOOPの、風が吹けば桶屋が儲かる的な関係は 法則を崩すのではなく法則に厳密に従ってもカオスになるんじゃないか
393 :デフォルトの名無しさん :2023/12/19(火) 00:40:47.93 ID:ZSC21G8k.net エンタメ記事を放置して置くと増殖するから楽しみが増えるってことだろ
394 :デフォルトの名無しさん :2023/12/19(火) 00:48:07.95 ID:e3H+V2ef.net フロント設計の場面でもオブジェクト指向はオワコンなの?
395 :デフォルトの名無しさん :2023/12/19(火) 10:04:58.31 ID:KoTx3gw2.net 設計なんて後からどんどん崩れて行くんだから 最初は完璧だと思うくらいまでしっかり作らなきゃ すぐに破綻するだろ
396 :デフォルトの名無しさん :2023/12/19(火) 10:36:55.55 ID:2Ijw7l5J.net >>394 フロントはオブジェクト指向の独壇場だろなにいってんの
397 :デフォルトの名無しさん :2023/12/19(火) 11:23:36.08 ID:Bf+joAVN.net フロントってなにを指すんだろ
398 :デフォルトの名無しさん :2023/12/19(火) 11:29:15.97 ID:bVveWhLR.net さあ?
399 :デフォルトの名無しさん :2023/12/19(火) 12:24:42.82 ID:4wLlcIHm.net Webアプリのフロントエンドという文脈ではオブジェクト指向は今や大事にされていないんじゃないか?Reactみたいなのが流行ってるんだし。 結局状態の複雑性はブラウザのdomやcssに丸投げしてるだけだとは感じるが。 GUIにおけるオブジェクト指向は今なお大事なんじゃない?
400 :デフォルトの名無しさん :2023/12/19(火) 17:05:45.10 ID:efxaZtVJ.net GUIのオプション指向、昔作って流行ってしまった資産があるから捨てられないだけってわけじゃないんですかね 今もなにか本質的に重要なことがあるのか?
401 :デフォルトの名無しさん :2023/12/19(火) 17:07:30.20 ID:H2GIal9X.net >>400 テストがしやすいとかあるじゃん オブジェクト指向のせいで開発に支障が出ることないし
402 :デフォルトの名無しさん :2023/12/19(火) 17:17:18.80 ID:efxaZtVJ.net >>401 それはCやアセンブラと比べた時の話? Cやアセンブラと比べて新しい言語がテストしやすいのはそれはそう だからCやアセンブラやパンチカードと比べて過去に流行ったわけだし
403 :デフォルトの名無しさん :2023/12/19(火) 17:19:29.23 ID:BDyDehIu.net 何千とある似た様な画面のコードを継承と少しの個別コードだけ書けば済むんだからやめられない
404 :デフォルトの名無しさん :2023/12/19(火) 17:20:56.90 ID:efxaZtVJ.net それはオブジェクト指向に限らず現代的な言語なら大体そうな気がする Cやアセンブラと比べてコードの使い回しが効くのはそれはそう
405 :デフォルトの名無しさん :2023/12/19(火) 19:35:19.07 ID:wgVcYH4r.net >>404 おまえの言ってる「オブジェクト指向」は「オブジェクト指向言語」だ 部品を構成してプログラムを組んでいく「オブジェクト指向」はC言語や用語自身が作られる以前からある
406 :デフォルトの名無しさん :2023/12/19(火) 19:48:55.04 ID:mrSFrPG8.net >>405 「オブジェクト指向」じゃなくて「オブジェクト指向言語」の利点を語り出したのは>>401 や>>403 なんだよな 俺はもちろんオブジェクト指向の話をして欲しかったのだが、誰もその話をしてくれなかったのだ
407 :デフォルトの名無しさん :2023/12/19(火) 19:52:19.99 ID:KoTx3gw2.net あら? 継承は言語仕様じゃ無いくても作れるよ? アセンブラだってC言語だって、関数も変数もテーブル形式にしてオフセット追加するとかだから
408 :デフォルトの名無しさん :2023/12/19(火) 21:09:35.13 ID:kQgQbwMI.net 似たようなユーザインターフェースを作るようなプロダクトならオブジェクト指向のが便利 継承やらポリモーフィズムやらが重要になるから 関数型はざっくりに言うと考えたコードをフローチャートのようにそのままコードにしていくっていう考え方でしょ? そもそもプロダクトによってどちらを採用するかが違うじゃん
409 :デフォルトの名無しさん :2023/12/19(火) 21:16:29.72 ID:kQgQbwMI.net オブジェクト指向だとスパゲティコードになるだぁ? 定期的にリファクタリング点検をすれば問題なしだよ
410 :デフォルトの名無しさん :2023/12/19(火) 21:28:51.74 ID:L4Ln++vQ.net >>396 Webフロント最有力のReact.jsだと 昔はクラスコンポーネントベースだったけど 使いにくいのとクラス継承使うなと言っても使っちゃうバカが出てきたり問題も多く 今は関数コンポーネントベースとなった
411 :デフォルトの名無しさん :2023/12/19(火) 21:54:53.91 ID:kQgQbwMI.net まあ継承、ポリモーフィズムといっても例えばMVVMでのレポジトリ周りに適用されるものでUI部品は関数型になると思うけどね Java/C#民なので悪しからず
412 :デフォルトの名無しさん :2023/12/19(火) 21:56:09.02 ID:kQgQbwMI.net ん?UI部品は関数型でもないのかな?うーん
413 :デフォルトの名無しさん :2023/12/19(火) 21:59:53.48 ID:a+uEBCbM.net >>396 どこからどこまでのフロントかで話が180度違ってくるから、そういう言い方はやめてくれ
414 :デフォルトの名無しさん :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ちゃんねるを存続させるためには、皆様のご協力が必要です。 最後まで御精読いただきありがとうございました。
415 :デフォルトの名無しさん :2023/12/20(水) 13:51:42.89 ID:YNewQeAW.net >>410 reactが勝手に禁止したところでそんなの知らんがなw そもそもただのお気持ち表明しただけで禁止じゃないだろ
416 :デフォルトの名無しさん :2023/12/20(水) 15:24:19.54 ID:oM2Zim4Y.net >>400 メモリ使用量、速度、生産性、保守性
417 :デフォルトの名無しさん :2023/12/20(水) 16:36:11.78 ID:vKsSDJbu.net そもそもオブジェクトを使わない言語なんてあんの? ミュータブルの代わりにイミュータブル使った方がいいよっていうだけの話を誤解してるやついね?
418 :デフォルトの名無しさん :2023/12/20(水) 17:29:53.84 ID:H2lBJqld.net それはオブジェクトの定義次第やろな 例えば構造体はオブジェクトなのか?
419 :デフォルトの名無しさん :2023/12/20(水) 18:28:16.51 ID:vKsSDJbu.net C++だとオブジェクトだな Cでも頑張ればオブジェクトと言えなくもない
420 :デフォルトの名無しさん :2023/12/20(水) 20:39:52.93 ID:hotZogo7.net であればオブジェクト指向の話とは関係ないね
421 :デフォルトの名無しさん :2023/12/20(水) 22:48:43.78 ID:vKsSDJbu.net C++がオブジェクト指向言語でなきゃどれがそうなんだ
422 :デフォルトの名無しさん :2023/12/20(水) 23:08:05.65 ID:fJBcC8n0.net 狭義のオブジェクト指向はクラスを持つこととはっきりしている クラスと他との違いはあるクラスを引き継いで他のクラスを作る継承機能があること このクラス継承は現在ではできる限り使わないようにするべき派が多数派 そのためモダンなプログラミング言語はクラスとその継承を排除した言語が多数派
423 :デフォルトの名無しさん :2023/12/20(水) 23:12:07.98 ID:fyzBoqIW.net 多数派?
424 :デフォルトの名無しさん :2023/12/20(水) 23:30:01.43 ID:H2lBJqld.net >>422 >狭義のオブジェクト指向はクラスを持つこととはっきりしている ソースを出してくれ
425 :デフォルトの名無しさん :2023/12/20(水) 23:38:59.80 ID:tFUhhQmv.net そもそも継承はお前ら土方が使うものじゃなくてライブラリ作成者が使うものだよ 「継承を使うな」と言われた意味を都合よく解釈してるんじゃね?
426 :デフォルトの名無しさん :2023/12/20(水) 23:48:26.27 ID:rp6WFplc.net 複オジ主張が後退してるね 間違いを自覚したのかな
427 :デフォルトの名無しさん :2023/12/20(水) 23:54:51.31 ID:tFUhhQmv.net >>426 どれのことを言ってるのかわからんが何か刺さったか?
428 :デフォルトの名無しさん :2023/12/20(水) 23:57:46.44 ID:F0QZkHoi.net 土方が作るプログラムとライブラリの違いは何かね? ビルドしたらライブラリになるでしょうが
429 :デフォルトの名無しさん :2023/12/21(木) 00:01:00.80 ID:D/j4Xq8a.net C++は昔からマルチパラダイム言語って呼ばれてた オブシコと言ったらJavaでしょ, Javaは関数型の方に舵を切ってるけどね オブシコではキャストを使うのは邪道中の邪道と言われてキャストが必要な プログラムは設計が間違ってるなんて言われてたけど最近だと パターンマッチでキャストこそが正義みたいになってるからねー
430 :デフォルトの名無しさん :2023/12/21(木) 00:01:02.87 ID:D9fKXi+4.net ビ、ビルドしたらライブラリになるぅ?
431 :デフォルトの名無しさん :2023/12/21(木) 00:02:05.69 ID:D/j4Xq8a.net なりますよ、jarが出来ます jarっていうのはJavaのライブラリです
432 :デフォルトの名無しさん :2023/12/21(木) 00:10:43.28 ID:ruORstUY.net >>431 jarはアーカイブフォーマット jarにしたらライブラリになるわけじゃない JavaアプリケーションとJavaライブラリの違いを勉強してね
433 :デフォルトの名無しさん :2023/12/21(木) 00:14:44.62 ID:D/j4Xq8a.net >>432 Javaのライブラリはjarで提供されます ライブラリじゃないjarなんてこの世に存在しません
434 :デフォルトの名無しさん :2023/12/21(木) 00:15:30.52 ID:D/j4Xq8a.net JavaアプリケーションなんてものはMainのライブラリを呼び出してるだけ
435 :デフォルトの名無しさん :2023/12/21(木) 00:20:05.36 ID:D/j4Xq8a.net 実行ファイルなんてものはライブラリの利用形態の一つでしかない プログラムはビルドしたらライブラリです
436 :デフォルトの名無しさん :2023/12/21(木) 00:30:51.67 ID:dbRmDvt3.net java -jar ってオプションが最近のjavaにはあるんですよ
437 :デフォルトの名無しさん :2023/12/21(木) 00:31:09.09 ID:jQLs5FBm.net また新たなトンデモ人を召喚しやがって 面白いなこのスレw
438 :デフォルトの名無しさん :2023/12/21(木) 00:34:09.31 ID:kKmzSZ/K.net >>425 ライブラリというよりフレームワークじゃないかね? ベースクラス提供するんで継承で拡張して使ってねっていう
439 :デフォルトの名無しさん :2023/12/21(木) 00:35:17.42 ID:D/j4Xq8a.net >>436 それは「-cp ライブラリ メインクラス」のシンタクスシュガーであることはご存知でいらっしゃいますよね 違いますか? 僕がなにか間違ってますか?(間違ってない)
440 :デフォルトの名無しさん :2023/12/21(木) 00:38:14.36 ID:D/j4Xq8a.net ライブラリの話はもう良いじゃないですか、もうやめましょう、二度としないでください不愉快です
441 :デフォルトの名無しさん :2023/12/21(木) 00:38:58.38 ID:dbRmDvt3.net >>439 マニフェストからmainのクラス名を読むからただのシンタックスシュガーじゃないぞ
442 :デフォルトの名無しさん :2023/12/21(木) 00:48:13.97 ID:D/j4Xq8a.net >>441 あ、アライグマだ! 違うあれはツキノワグマだ!と言ってるようなもので そこを詳しく言われても僕はどうしたら良いんでしょうかというのがいまの僕の心境です どっちもクマじゃん…そんなこまかい種別にこだわられても僕はなんて返したら良いんでしょうか
443 :デフォルトの名無しさん :2023/12/21(木) 00:49:07.49 ID:D/j4Xq8a.net もうライブラリの話は良いでしょう、お腹いっぱいです
444 :デフォルトの名無しさん :2023/12/21(木) 00:51:04.90 ID:dbRmDvt3.net >>442 違いが気にならないなら存在するもの全部ライブラリでいいと思うよ
445 :デフォルトの名無しさん :2023/12/21(木) 00:51:26.35 ID:tfNR2qJn.net アライグマとツキノワグマはだいぶ違うが クマアンチか?
446 :デフォルトの名無しさん :2023/12/21(木) 00:54:23.79 ID:kKmzSZ/K.net アライグマはクマじゃない件
447 :デフォルトの名無しさん :2023/12/21(木) 01:01:03.29 ID:dbRmDvt3.net アライグマもクマのように歩いて、クマのように鳴くかもしれん
448 :デフォルトの名無しさん :2023/12/21(木) 01:08:02.87 ID:D/j4Xq8a.net 継承はあれば便利だけどなくてもなんとかなるかな オブシコにとって必須なものではないように思う 属性と操作をまとめることこそがオブシコにとって唯一欠かせない性質だ オブシコが多くの人を引き付ける理由は人間に近いからだと最近思うようになった 人間は意識という属性を持ち自律して動作する操作を持つ 人間はロボットを作るときにも人間の姿に似せた形にするように 自分に近いものに安心感を覚えてそれを求める本能があるんだろう その根幹にあるのは慣れだと思う 自分が知っていること慣れていることに近づけることによって危険じゃないことを知って 安心するんだと思う そのように考えるとオブジェクトは人間にとって慣れたものであるがゆえに 正しいものであるかのようなバイアスを与えるんだと思いました、おやすみなさい
449 :デフォルトの名無しさん :2023/12/21(木) 01:13:23.81 ID:nuVfr4Ro.net アライグマとツキノワグマはJavaScriptとJavaくらい違う
450 :デフォルトの名無しさん :2023/12/21(木) 01:56:35.61 ID:pJCDDNo9.net 土方がライブラリを作らないと思ってるやつがアライグマ級だとすれば 何でもjarにすればライブラリだと思ってるやつはミノタウロス級 そのぐらい違う
451 :デフォルトの名無しさん :2023/12/21(木) 02:24:01.88 ID:e+F4JTTf.net ライブラリはほとんどの場合で静的動的リンクライブラリのことを指すはずだけど、jarがライブラリって言ってる人は単にバイナリであるって主張してるのかな メインクラスを持つ場合もリンクライブラリである場合でも拡張子が同じ.jarで分かりにくいから仕方ないね
452 :デフォルトの名無しさん :2023/12/21(木) 04:03:02.26 ID:bObiKTRM.net 特殊なスタブなど経由しなくても他から呼び出し可能かどうかでは? JVMの世界ではそうなんだから一般化して話をややこしくする必要はない
453 :デフォルトの名無しさん :2023/12/21(木) 07:43:22.24 ID:RCdGCWyT.net オブジェクト指向とか、 データとプロセスを個別に扱わずに、双方を一体化したオブジェクトを基礎要素にし、メッセージと形容されるオブジェクト間の相互作用を重視して、ソフトウェア全体を構築しようとする考え方がオブジェクト指向である。 ぐらいの意味だろ。
454 :デフォルトの名無しさん :2023/12/21(木) 08:50:09.44 ID:SzXsi8HM.net 元々オブジェクト指向という言葉ができた当時のプログラミングでオブジェクトというのは「プログラムで扱えるデータ構造」のことだよ 具体的には引数や戻り値として使えるのがオブジェクト 「第一級オブジェクト」を調べてみなよ 手続き指向は手続き中心にプログラミングしてたけどオブジェクト指向はデータ中心にプログラミングする 手続きはデータを扱う主人ではなくデータに付随する従者 それだけのこと 継承はそこから派生した副産物であって本質ではないよ
455 :デフォルトの名無しさん :2023/12/21(木) 08:53:06.46 ID:SzXsi8HM.net あとお前らずっと間違えてるけど関数型とオブジェクト指向は相反するものじゃないぞ Hskellだってオブジェクトを使う お前らはミュータブルとイミュータブルの話を関数型とオブジェクト指向の話だと思ってるから話が通じねんだよ そもそもモダンなプログラミング言語はみんなマルチパラダイムだ
456 :デフォルトの名無しさん :2023/12/21(木) 09:01:41.86 ID:SzXsi8HM.net 食肉目クマ科クマ属ツキノワグマ 食肉目アライグマ科アライグマ属アライグマ 食肉目までしか合ってないのにこれの区別がつかないやつはどうかしてる イヌ科やネコ科も食肉目だがこれら全部区別つかないのかよ 全部「ワンワン」で許されるのは3歳までだぞ
457 :デフォルトの名無しさん :2023/12/21(木) 09:18:57.83 ID:lsX079Kc.net ほらな 「オブジェクト」を使ってればオブジェクト指向だと言い出すやつに話が通じるわけがない ハンマーしか知らないから全部釘に見えるパターン
458 :デフォルトの名無しさん :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 > ここで「オブジェクト」とは広く対象物・客体を意味し、必ずしもオブジェクト指向プログラミングにおけるオブジェクトを意味しない。 これオブシコのオブジェクトとは別人のようですよ 名前が同じだからといって同一人物とは限らないんですよ
459 :デフォルトの名無しさん :2023/12/21(木) 09:27:36.96 ID:OEmkIdIG.net >>453 データとそのデータを扱うための関数群を「モジュール」という単位にまとめて、モジュールを基礎要素としつつモジュール間の相互作用によってソフトウェア全体を構築したら、オブジェクト指向なのか? import Foo … Foo.doSomething(message)
460 :デフォルトの名無しさん :2023/12/21(木) 09:50:14.13 ID:QntBsg/Q.net 関数型とオブジェクト指向は対立するものじゃなくて共存するものなんだよね
461 :デフォルトの名無しさん :2023/12/21(木) 09:52:20.95 ID:1sVavbR7.net >>459 Objective-Cとかが真のオブジェクト指向 独立したオブジェクト間をメッセージで繋げる インスタンスと言う名のアドレス参照でコールするのは まだまだナンチャッテの界隈
462 :デフォルトの名無しさん :2023/12/21(木) 10:51:21.35 ID:P62Wf5t1.net ゴールポスト動かし続けるやつばっかり > ハンマーしか知らないから全部釘に見えるパターン 結局コレだから議論が成立しない 頑張れば全部釘に見えるし頑張れば全部釘ではない何かに見える
463 :デフォルトの名無しさん :2023/12/21(木) 11:14:19.53 ID:+DVrG7pm.net >>458 それ今の話だろ? 454は当時の話をしてね? 用語の流用で意味が変わることなんていくらでもあるだろ
464 :デフォルトの名無しさん :2023/12/21(木) 11:26:48.51 ID:RCdGCWyT.net >>462 みんなバラバラのゴールの話をしているから、ゴールが動いているように見えるだけだろ。 >>459 手法としてはそうじゃない? 言語としてのサポートがあるかどうか(エラーを出すとか)は別の話。
465 :デフォルトの名無しさん :2023/12/21(木) 17:48:08.56 ID:dbRmDvt3.net i.hidekazuみたいな感じがする こんなとこで油売ってないで新作書いてよ
466 :デフォルトの名無しさん :2023/12/21(木) 17:52:07.83 ID:NW/WZrsd.net >>425 と土方が申しております
467 :デフォルトの名無しさん :2023/12/21(木) 18:11:39.54 ID:vQF/rv5k.net >>465 「異世界ビルドの何でもライブラリアン」 〜 ハズレスキル『瓶詰め』で今日も自意識無双中w 〜
468 :デフォルトの名無しさん :2023/12/21(木) 18:58:25.48 ID:2eN7mUZl.net Oops!をもじって適当に作られた昔の言葉なのに変な宗教になってる人がいるな 仕事でこれはオブジェクト指向じゃないからだめとか逆にオブジェクト指向になってるからだめって言うのがいたらキチガイだわ
469 :デフォルトの名無しさん :2023/12/21(木) 19:21:10.76 ID:dbRmDvt3.net メモリ領域を表すオブジェクトとオブジェクト指向のオブジェクトは違うものやろ 英語は日本語と違って普通の名詞を専門用語に割り当てるからかぶってるだけ それよりも、メソッド呼び出しかメッセージかなんて同じ機能に対して各言語設計者がお気持ちで別の用語を割り当てただけなんだから、メッセージじゃないと真のオブジェクト指向じゃないなんちゃってオブジェクト指向みたいな話は時間の無駄
470 :デフォルトの名無しさん :2023/12/21(木) 19:40:03.19 ID:sbDglskQ.net 効いてて草
471 :デフォルトの名無しさん :2023/12/21(木) 20:43:25.36 ID:YYpWiWf0.net オブジェクトにプロパティがいっぱい生えてるのが気持ちいいんやろな そうやってデータのまとまりとして見てて 構造体的にアクセスするのが気持ちいいんやろな インタフェースをじっくり吟味して 内部構造を隠したり 想像しにくくしたり 想像させたりしないのがホントは好ましいんだろうけど
472 :デフォルトの名無しさん :2023/12/21(木) 21:13:06.66 ID:4/eLm8Ov.net オブジェクト指向は大したない物にいちいち横文字作り過ぎてて草 関数呼び出しをメソッドとか草 プロパティとか寒いわー草も凍る
473 :デフォルトの名無しさん :2023/12/21(木) 21:18:29.16 ID:1sVavbR7.net >>472 冬季オリンピックの開催地が変わる毎にスキー用語が変わるみたいなもんだろ
474 :デフォルトの名無しさん :2023/12/21(木) 21:26:55.87 ID:YYpWiWf0.net 構造体的に とりあえずいっぱい乗っけたものを 色んな所に持ち回ってなんとかする ってのがズボラ志向とフィットするんやろな プロパティは好ましいと思ってるんだろうし 言語でサポートされてるC#が素晴らしいということになるんだろうな
475 :デフォルトの名無しさん :2023/12/21(木) 21:30:32.59 ID:1sVavbR7.net プロパティは副作用あるから使わない方がいいよ 特にプロパティ内に処理を書いちゃう奴
476 :デフォルトの名無しさん :2023/12/21(木) 21:48:17.79 ID:sbDglskQ.net まだミュータブルとイミュータブルの区別がついてないの草
477 :デフォルトの名無しさん :2023/12/21(木) 22:21:26.31 ID:147F0tGK.net オブジェクト指向という用語をオレオレ定義で使うのは別にいいんだけど その定義におけるオブジェクト指向とオブジェクト指向でないものの境界線くらいは最低限明確にしろよな じゃなければ誰かさんと同じファンタジーポエムと同じだぞ
478 :デフォルトの名無しさん :2023/12/21(木) 23:13:54.99 ID:Yx4eEwEY.net (例えば継承とコンポジションの) 境界線がなくても困らないのが非OO 境界線がなければ大変なことになると思ってるのがOO
479 :デフォルトの名無しさん :2023/12/21(木) 23:58:44.84 ID:4/eLm8Ov.net >OO うんこかな? キモすぎー
480 :デフォルトの名無しさん :2023/12/22(金) 00:43:05.42 ID:wIFqxIkx.net >>478 ファンタジーポエマーオジ乙
481 :デフォルトの名無しさん :2023/12/22(金) 01:41:01.22 ID:RkwYtE6a.net >>464 i.hidekazuくんさあ上のほうで質問されてるんだから答えてあげようよ 自分も答が気になるんよ 373 デフォルトの名無しさん 2023/12/13(水) 19:47:13.87 ID:2g95gV8C 上の話によれば変数環境のモデルがAlgolの時代にすでにあったらしい。それは知らなかった。ぜひその論文を教えて欲しい。
482 :デフォルトの名無しさん :2023/12/22(金) 07:19:35.92 ID:+2VWEuDs.net >>481 誰だよ。i.hidekazuて。
483 :デフォルトの名無しさん :2023/12/22(金) 21:21:11.90 ID:4m2AcVDn.net 技術系ハイファンタジー記事の人じゃないの? 知らんけど
484 :デフォルトの名無しさん :2023/12/22(金) 21:48:42.46 ID:warq9eGH.net ファンタジーというか無駄な情報をなくすには 勝手に編集するか、情報源を探し出し説き伏せる 普通に考えれば前者が合理的
485 :デフォルトの名無しさん :2023/12/22(金) 22:12:16.69 ID:2CQplv4e.net エンタメ記事を勝手に編集? 説き伏せる?? さすがエンタメ供給側の人は言う事が一味も二味も違うなぁ
486 :デフォルトの名無しさん :2023/12/22(金) 23:07:22.94 ID:gCgvJEWy.net エンタメ記事のやつJavaScriptスレに出没してたぞ このスレで書いてたのと同じ妄想を書いてるからすぐわかる
487 :デフォルトの名無しさん :2023/12/28(木) 22:23:09.59 ID:KJfAJ10m.net ところで「チンポがシコシコする」という日本語表現は、文法的に正しいのか? チンボ「を」シコシコするのではなくて、チンポ「が」シコシコする。この場合、「チンポ」は主語となる。 オブジェクト指向で言う「集約」は2種類あって、全体(俺)と部分(チンポ)が繋がっている場合と、 全体(俺)と部分(チンボ)が別々になっている場合とが考えられる。けれども「チンボ」はそれ自体 が独立した生き物であり、所有者の意思とは無関係に、勃起して「シコシコする」。 例えば寝てる時にエロい夢みて朝起きてみたらチンコが勃起して射精してたとか。 違うか? 「胸がドキドキする」は良いが、「チンポがシコシコする」はダメな理由を、50字以内で述べろ!
488 :デフォルトの名無しさん :2023/12/28(木) 22:27:15.00 ID:KJfAJ10m.net メッセージングを基礎単位として取ることは、より徹底的な遅延束縛を可能にする。というのも、 メッセージそれ自体は意味を持たず、実際にメッセージがオブジェクトに送信されてはじめて、意味が決まるからである。 https://qiita.com/ukyo-su/items/8c861f114809a96d1378 オシッコを出したり止めたりというのは、チンポから力を抜いたりチンポに力を入れたりと、 オシッコはオシッコそれ自体は意味を持たず、オシッコが尿道を介してチンポに送られることによって、 オシッコを出したり止めたりが可能になるということだ。 >ナンチャッテメッセージングスタイルになったのは チンポ.オシッコを出す チンポ.オシッコを止める さっきトイレでやってきた。 >単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを >ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。 × 俺.オシッコを止める 俺.オシッコを出す ○ 俺.チンポに力を入れる 俺.チンポから力を抜く
489 :デフォルトの名無しさん :2023/12/28(木) 22:35:08.65 ID:oDa8MHcl.net 擬似的なマルチスレッドの観点も入れて差し上げろ
490 :デフォルトの名無しさん :2024/01/05(金) 12:57:58.68 ID:UIDPDbad.net 随意筋 不随意筋 ↖ ↗ チンポ 自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
491 :デフォルトの名無しさん :2024/01/06(土) 09:06:18.77 ID:sw3iD0at.net ちんぽをシコシコするというのは主体が別に存在する(おそらく右手であろう) しかし、ちんぼがシコシコするというのはちんぽさんが主体となって別の輪状、もしくは固定された箇所に向かって 往復運動をすることを言う そしてそれはシコシコと形容される範囲内におけるような物体や部位である必要がある つまり、日本語でいうところのチンポがシコシコするというのは文法上は正しい しかしである ちんぽは主語になってよいものかという問題が残る ちんぽは思考できるのか、主体的な存在であるのかという疑問んである 我々はちんぽを自由自在に動かす事はできない 「勃つんだ!ジョー!!」などと呼びかけた人もいるであろう ちんぽは人の付属物であると同時に1本の主体的な存在でもある 思考や意識といったものはないかもしれないし他動的な刺激により、また体調により変化を兆す。 つまり、チンポがシコシコするというのはチンポが主体的な存在かどうかが問われているのであり 勃起に至る過程からそれはまさに肯定されるべきなのである
492 :デフォルトの名無しさん :2024/01/06(土) 10:24:21.41 ID:Zs30euLJ.net >>489 スレッドはメインルーチンとは独立して動くが、これはチンポが本体とは独立して勃起するのと同じ。
493 :デフォルトの名無しさん :2024/01/06(土) 17:20:18.38 ID:ZkRpwYXP.net 名前違うだけで中身空っぽ(追加属性や関数のない)クラスを基底から何種類も継承する意味ってあるのか? 同じ使い方出来るなら使いまわせばいいのでは?
494 :デフォルトの名無しさん :2024/01/06(土) 17:29:52.71 ID:Zs30euLJ.net >>493 チンコってのは大統領権限でもどうにもならない、独立した別チン格で勃起したり射精したりするからな class チンポ extends クリントン{ super.不適切な関係; } つまりクリントンの再定義、クリントンの拡張された別チン格ということ 大統領権限では動かせない別チン格だから、 勃起や射精については「別チン格」として、実装をふくまない抽象クラス(Abstract)にね
495 :デフォルトの名無しさん :2024/01/06(土) 17:46:00.75 ID:u2dZhvVl.net >>493 分類に使える 基底クラスにenum持たせるだけでいい場合もあるけど enumの代わりにクラス名使うと階層化できるしデータも積める
496 :デフォルトの名無しさん :2024/01/07(日) 12:58:47.56 ID:LrLpR0DW.net (経営者目線で...) 土方コード→一回の動作にかかる費用は数万〜数億 ライブラリコード→一回の動作にかかる費用は数マイクロ円 みな土方やりたがるわけだ....
497 :デフォルトの名無しさん :2024/01/11(木) 12:55:45.21 ID:IFnDPD7q.net >>496 おまえ生まれてから今までずっと 何言うてんねん
498 :デフォルトの名無しさん :2024/01/11(木) 14:24:57.98 ID:xTl7LgXw.net ・経営者目線(IT企業?ユーザー企業?) ・土方コード(何の?)とライブラリコード(何の?)の比較 ・それぞれの1動作当たりの費用(どんな計算?) ・結論土方やりたがる(使う側?使われる側?) 支離滅裂でほぼ暗号
499 :デフォルトの名無しさん :2024/01/13(土) 02:21:05.65 ID:s4Zaxjoc.net >>454 大型コンピュータ同士がネットワーク化されて単一のプロセスがひとつのマシン内で完結して動いてるという状況が壊れてきて 「あっちのマシンで動いてるプログラムとこっちのマシンで動いてるプログラムの同期がまったく取れない」って未来が見えてきた時点で 要するにプログラムモジュールの単位を切ってそこにコマンドを送って「これこれこういう処理を頼む」って形にしないと人間がコントロールできなくなる。 コマンドも処理A、処理B、処理Cじゃプログラムする“人間側が”わからなくなるから、なにをさせるのか平易なわかりやすい言葉にする。 ってすげぇわかりやすい前提でオブジェクト指向は組み立てられたんだけど、その後のマイクロコンピュータの発達で 「オブジェクトなんとか?いやこの機械の中でやってることすべて把握してるのがウィザード級ハッカーって奴だろ?www」に退化しちゃって パソコン用言語がすぐに「素人にはわからない記号を多用して人間のタイプ数や数バイトを節約するんだ!デバグ性が上がるけど遅くなる言語仕様は不要!」って わけのわからないプログラマ文化に毒され続けて、まあその流れが現代まで汚染されたまま残ってるというか。 要するに「ロボットに命令して仕事してもらう感じにしよう!」ってだけで、ロボットのコピー改造も、あのバカが連呼してる関数と命令は同じだろも 大暴投すぎて本質になんにもかすってないという。
500 :デフォルトの名無しさん :2024/01/13(土) 02:39:13.03 ID:G4fb1XpU.net >>499 意味不明
501 :デフォルトの名無しさん :2024/01/13(土) 04:34:51.39 ID:aBZsm30e.net え、わかるが 日本語表現が拙いのもわかる
502 :デフォルトの名無しさん :2024/01/13(土) 05:07:42.32 ID:G4fb1XpU.net >>501 ちょっと代わりに説明してくれんか?
503 :デフォルトの名無しさん :2024/01/13(土) 07:12:42.40 ID:4Gso+Yap.net ハ,,ハ ハ,,ハ ( ゚ω゚ )゚ω゚ ) おとこわりします / \ \ おとこわりします ((⊂ ) ノ\つノ\つ)) (_⌒ヽ ⌒ヽ ヽ ヘ } ヘ } ε≡Ξ ノノ `Jノ `J
504 :デフォルトの名無しさん :2024/01/13(土) 10:05:37.96 ID:tr75Q/aW.net >>499 >「あっちのマシンで動いてるプログラムとこっちのマシンで動いてるプログラムの同期がまったく取れない」って未来が見えてきた時点で スレッドがメインルーチンとは独立して動くというのは、チンポが本体とは独立して勃起するのと同じ だからといってスレッドはメインルーチンから制御を受けないわけではない オシッコを出したり止めたりする時は、本体の制御を受ける
505 :デフォルトの名無しさん :2024/01/13(土) 10:06:45.30 ID:tr75Q/aW.net 委譲と継承の違いね! >>454 >継承はそこから派生した副産物であって本質ではないよ オシッコするときのチンポは委譲、勃起するときのチンポは継承 前者は本体の意思で動かされるメッセージング、後者は独立したチン格で動くポリモーフィズム 継承との違い 継承は親クラスの内容をすべて引き継ぎ、委譲は委譲元の振る舞いを一部引き継ぐ https://qiita.com/Y_M27/items/a41b2aa8b49e7c3a1a7f
506 :デフォルトの名無しさん :2024/01/13(土) 12:11:14.13 ID:9s2lqRWT.net プログラム作れずオブジェクト指向が欠片もわかってないのにオブジェクト指向というスレタイに反応してチンポ連呼するだけのキチガイ
507 :デフォルトの名無しさん :2024/01/13(土) 14:09:28.21 ID:9vPDsFsg.net >>502 システムの歴史を簡単に述べる 最初にできたのは1台の大型のコンピュータで処理するシステムだ それが複数台の大型のコンピュータをネットワーク化してより複雑な処理を行うシステムへと発展した やがてコンピュータの小型化高性能化が進みかつて複数台の大型のコンピュータを必要としていた処理も1台の小型のコンピュータで処理できるようになった オブジェクト指向は複数のマシンを協調して動作させるときに管理しやすくする仕組みだ 複数台の大型のコンピュータをネットワーク化して処理を行うために考案されたが その後のコンピュータの小型化高性能化によってしだいに必要とされなくなっていった オブジェクト指向は物理的なマシンだけでなくプログラム内の計算モジュールにも適用できる有用な概念だが メモリを限界ギリギリまで節約することを美学とするプログラマ文化のせいで軽視されている 70年~80年台の話なんかね? > 要するに「ロボットに命令して仕事してもらう感じにしよう!」ってだけで、ロボットのコピー改造も、あのバカが連呼してる関数と命令は同じだろも > 大暴投すぎて本質になんにもかすってないという。 この段落は何言ってるのかわからなすぎてあきらめた
508 :デフォルトの名無しさん :2024/01/13(土) 14:21:25.96 ID:9vPDsFsg.net Turbo Pascalの開発者でいまC#を作っているアンダース・ヘルスバーグは アセンブリ言語でオブジェクト指向のプログラムを書いてたって言ってるから Turbo Pascalが開発された80年代にもオブジェクト指向は役立ってたみたいだけどね いまではオブジェクト指向自体の有用性は変わっていないけれども オブジェクト指向言語と宣伝することの重要性は低くなってるかな それだけオブジェクト指向が広まった結果だから喜ぶべきことなのかもわからんね
509 :デフォルトの名無しさん :2024/01/13(土) 15:00:18.57 ID:ffu8qMou.net >>499 のようなウソを並び立てたクソ長文も >>508 なようなペラっペラな浅い知識も 何の役にも立たないという意味では全くの同類
510 :デフォルトの名無しさん :2024/01/13(土) 16:35:51.54 ID:tr75Q/aW.net >>506 なら「オブジェクト指向」とは何か、誰にでもわかりやすい説明をここで出せ!
511 :デフォルトの名無しさん :2024/01/13(土) 16:46:15.72 ID:tr75Q/aW.net イルカも猫も「哺乳類」には違いないが、こういうところでオブジェクト指向など使うべきでは無い! イルカはイルカ、猫は猫だ! >>456 >イヌ科やネコ科も食肉目だがこれら全部区別つかないのかよ つまり自然言語で容易に「区別」できるものは、オブジェクト指向を使う必要は無い! >クリントンの「不適切な関係」 オブジェクト指向を使うべきはココ! クリントンは同じクリントンでも、人格とチン格が別々に存在するからだ!
512 :デフォルトの名無しさん :2024/01/13(土) 16:56:56.17 ID:tr75Q/aW.net チンコの随意筋と不随意筋 http://d.hatena.ne.jp/tottokotokoroten/20130516/1368716650 <俺> 「 部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、 それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。 」 <チンポ> 「 その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、 抵抗される人間の喜びを味わったのだ。 」 まさに独立した人格を有したチンポという、もう一人の俺がそこに現れるのである! 【藤子・F・不二雄】「みきおとミキオ」現在と未来、憧れの入れ替わり生活! https://www.google.com/amp/s/middle-edge.jp/articles/0izbO.amp
513 :デフォルトの名無しさん :2024/01/13(土) 16:59:55.05 ID:G4fb1XpU.net >>507 日本語は通じるようになったけど、相変わらず内容は意味不明だな オブジェクト指向はネットワークより後なんだろうか?時期的にはわからんけど、ネットワークがオブジェクト指向に影響を与えたとは思えんな
514 :デフォルトの名無しさん :2024/01/13(土) 17:01:56.04 ID:tr75Q/aW.net 人間に独立した人格が有るように、チンポにも独立したチン格が有る これは親クラスと子クラスの継承関係である チン格とはつまり「愚息」であり、自分にも他人にも成り得る これがオブジェクトの多態性と表現される オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋 このように時と場合によって真逆の性質を併せ持つことができる 随意筋 不随意筋 ↖ ↗ チンポ 自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
515 :デフォルトの名無しさん :2024/01/13(土) 17:12:40.41 ID:tr75Q/aW.net オシッコを止めたり出したりする時、内尿道括約筋や膀胱平滑筋を意識する必要無いからな >>88 >オブジェクトの内部はブラックボックス化され、外部からはオブジェクトのインターフェイスだけを相手にすればよいので、 オシッコするときは便器とチンポだけを意識し、オシッコが便器からはみ出さないように気をつけることね 膀胱に尿を溜めているとき(蓄尿)には、交感神経が働いて、膀胱の筋肉(膀胱平滑筋)は緩みつつ、 膀胱の出口の筋肉(内尿道括約筋)はギュッと収縮して尿が外に出ないようにしています。 https://www.kissei.co.jp/urine/about_urine/about.html
516 :デフォルトの名無しさん :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)
517 :デフォルトの名無しさん :2024/01/13(土) 18:38:27.29 ID:tr75Q/aW.net 『シコシコ』という擬音はどうでもよい。問題は、 自我 チンポ ↑ ↑ チンポ=自我 チンポ 自我 オブジェクト指向では、この三種類が考えられるということだ。 >チンポ=自我 散歩している時、自分もチンポも所在地は同一である。 https://i.imgur.com/4XhBmP3.jpg https://i.imgur.com/PPFJZqI.jpg 夏目くんの場合は、チンポが自我を圧倒し、体が自然に滝川さんの股間に近づいていったのだ。 『笑ってごまかすな!!』 と言われても、夏目くんは何と言えば良かったのだろう? チンポ≫自我 『チンポが自我を超えてしまった』を簡略化して、チンポがシコシコする! チンポがシコシコしていると(チンポが自我を超越していると)、息もハァハァになる。 チンポがシコシコしている(チンポが自我を超越している)と、顔もアヘ顔になる。 つまりその顔は『チンポの一部』つまりチンポの皮と同じということ。 博士号の肩書きがあっても、STAP細胞のそれは間違いであり科学者として失格。 チンポと自我の関係について、それが間違いということなら、俺も科学者を自称するのを止めよう。 しかしながらあの夏目くんは、笑ってごまかす以外に何と申し上げたら良かったのか。
518 :デフォルトの名無しさん :2024/01/15(月) 14:41:51.96 ID:/fGKGWr1.net >「あっちのマシンで動いてるプログラムとこっちのマシンで動いてるプログラムの同期がまったく取れない」 どういうこと?データベースのトランザクションはネットワーク越しにちゃんと動いてるぞ
519 :デフォルトの名無しさん :2024/01/15(月) 15:16:13.43 ID:vL0h58iw.net >>518 分散コンピューティングの話 中央集権的なDBで解決するのはあくまでひとつの手法
520 :デフォルトの名無しさん :2024/01/15(月) 15:49:43.80 ID:/fGKGWr1.net >>519 なら最初から分散コンピューティングって用語を出せば余計な説明はいらないと思う それから分散コンピューティングのためにオブジェクト指向が必要という話を 聞いたことがないんだけど、よかったらリンクを貼ってもらえないか?
521 :デフォルトの名無しさん :2024/01/15(月) 15:56:58.19 ID:vL0h58iw.net そんなのオレにいわれても
522 :デフォルトの名無しさん :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
523 :デフォルトの名無しさん :2024/01/15(月) 16:04:30.71 ID:+Vu40G8E.net >>506 繋がっているけれども独立しているということだが?
524 :デフォルトの名無しさん :2024/01/15(月) 16:04:51.33 ID:Fcxc2DLW.net めちゃくちゃな理解だなwww
525 :デフォルトの名無しさん :2024/01/15(月) 16:15:18.12 ID:/fGKGWr1.net >>521 言われて困るやつに横槍されても >>522 >このようなシステムは、 土台にあるソフトウェアから独立しています この文は分散コンピューティング・システムはOSから独立してるということを言ってると思うんだけど、 それがオブジェクト指向のオブジェクトの独立性と共通してるってこと?だから必要になったと?
526 :デフォルトの名無しさん :2024/01/15(月) 16:16:35.18 ID:+Vu40G8E.net >>525 >それがオブジェクト指向のオブジェクトの独立性と共通してるってこと? そうだ。
527 :デフォルトの名無しさん :2024/01/15(月) 16:19:19.89 ID:/fGKGWr1.net >>526 なるほどな…
528 :デフォルトの名無しさん :2024/01/15(月) 16:21:56.16 ID:L26ifdR0.net 分散コンピューティングとオブジェクト指向は全く関係ないわな オブシコ君はそんな基本的なことも知らずに何年もシコシコ言い続けてるんだな
529 :デフォルトの名無しさん :2024/01/15(月) 16:22:56.36 ID:+Vu40G8E.net クリントンは同じクリントンでも、チンポは本体のクリントンシステムとは独立して動くからな >このようなシステムは、 土台にあるソフトウェアから独立しています class チンポ extends クリントン{ super.不適切な関係; } 21年前のクリントン弾劾裁判 躊躇した「性的関係」の詳細描写(樫山 幸夫)2020年4月 https://www.jnpc.or.jp/journal/interviews/35171
530 :デフォルトの名無しさん :2024/01/15(月) 16:30:44.55 ID:tJyBqE8O.net CORBAとかDCOMとかオブシコそのものじゃん… まったく関係ないってそんな自信満々に間違ったこと言われても…
531 :デフォルトの名無しさん :2024/01/15(月) 16:33:01.77 ID:tJyBqE8O.net CORBAもDCOMも大失敗したのは事実だけどさ REST APIへと形は変わったけどオブシコはまだ生きてる!
532 :デフォルトの名無しさん :2024/01/15(月) 16:36:38.36 ID:+wOH1ULK.net >>530 あーやっぱり区別がついてないんだな 直交した概念を関係あるものと誤認識してるだけだよ
533 :デフォルトの名無しさん :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
534 :デフォルトの名無しさん :2024/01/15(月) 18:17:03.84 ID:R6kkBDRE.net >CORBAとかDCOMとかオブシコそのものじゃん… これは何でもオブシコに見えてしまう病 誰かが書いてたけどすべてが釘に見えてしまうやつと同じ
535 :デフォルトの名無しさん :2024/01/15(月) 19:14:13.08 ID:tJyBqE8O.net >>534 CORBAのOが何を表してるか知ってるか? DCOMのOが何を表してるか知ってるか? それがすべて
536 :デフォルトの名無しさん :2024/01/15(月) 19:15:33.47 ID:tJyBqE8O.net >>532 区別なんてをつける必要なんてないのよ なぜならオブシコはもっと大きな包括的概念だからね
537 :デフォルトの名無しさん :2024/01/15(月) 19:18:39.19 ID:tJyBqE8O.net お前らはオブシコのことを何もわかってない その生い立ちその歴史その意味その未来 俺にははっきり見えているWebサービスこそがオブジェクトです Webサービスの連携によってシステムが形作られるさまはまさにオブジェクト指向なわけですよ
538 :デフォルトの名無しさん :2024/01/15(月) 19:19:49.00 ID:tJyBqE8O.net > 分散コンピューティングとオブジェクト指向は全く関係ないわな これは完全に間違ってる完全にだ
539 :デフォルトの名無しさん :2024/01/15(月) 19:21:01.08 ID:tJyBqE8O.net 現代のWebサービスはいわばまさにアラン・ケイが提唱したオブジェクト指向そのものなわけですよ
540 :デフォルトの名無しさん :2024/01/15(月) 19:22:34.40 ID:knI0NF0Y.net >>538 板違いのスレ真っ赤になってあげてるのが間違い ハロワ行けカス
541 :デフォルトの名無しさん :2024/01/15(月) 19:25:33.23 ID:tJyBqE8O.net >>540 お前が行けやアホンダラ
542 :デフォルトの名無しさん :2024/01/15(月) 19:38:23.27 ID:+Vu40G8E.net >>90 >俺は抽象化自体はどうでもよくてifを減らすために使ってるわ 抽象化とは、前述の通り大事なとこだけ抜き出して他はポイすることである。 例えば「白米」という項目に「パンの説明」が併記されていたら、「おいおいそれはないだろ」という話になる。いわばこれが白米の抽象化が効いていない状態だ。 逆に、白米の要素を省きつつパンの説明だけを抜き出して一つにまとめられれば、それはパンの抽象化である。 https://qiita.com/0w0/items/2cfaf3ca0b653960f5e9
543 :デフォルトの名無しさん :2024/01/15(月) 20:26:28.29 ID:7nj5AI+0.net >>538 それはさすがに直交してると思うぞ
544 :デフォルトの名無しさん :2024/01/15(月) 20:34:14.19 ID:/fGKGWr1.net それは要約とか抽出じゃね 抽象化はたとえば白米とパンから主食とか穀物みたいな抽象的なグループを作り出すことでしょ
545 :デフォルトの名無しさん :2024/01/15(月) 23:29:19.89 ID:cNcAZXo2.net >お前らはオブシコのことを何もわかってない 虚しい叫びだね〜w
546 :デフォルトの名無しさん :2024/01/15(月) 23:43:09.60 ID:EcvQXyUD.net >>542 まーたすごいw記事見つけてくるな 抽象化を理解できてない上に本人が「白米の抽象化か効いてない」状態を見事に体現しててウケる
547 :デフォルトの名無しさん :2024/01/16(火) 09:19:44.52 ID:8bIww2fl.net 複数のカテゴリに重複して分類出来るものを例えに使うから分からなくなる だいたい多重継承禁止なのに
548 :デフォルトの名無しさん :2024/01/16(火) 10:38:23.10 ID:tDkTMr3L.net >>547 >だいたい多重継承禁止なのに 随意筋 不随意筋 ↖ ↗ チンポ チンコの随意筋と不随意筋 http://d.hatena.ne.jp/tottokotokoroten/20130516/1368716650
549 :デフォルトの名無しさん :2024/01/16(火) 12:11:50.40 ID:GCfW19h4.net >>544 要点を抽出して要約するのも抽象化の一種 汎化が伴わない場合は抽象度の変化が小さいので抽象化とは異なると考えがち
550 :デフォルトの名無しさん :2024/01/16(火) 12:18:41.49 ID:lAjsP0tI.net >>549 そんなプログラミングの役に立たないものはどうでもよくね
551 :デフォルトの名無しさん :2024/01/16(火) 13:28:47.91 ID:snT60a6r.net >>550 プログラミングの役に立たないもとだと認識してしまう人は抽象化能力の低い人なのでそういう人にこそどうでもよくないこと 汎化が伴わない抽象化もプログラミングにおいて日常的に使われるものだけどそれを汎化が伴う抽象化とシームレスに使えない人は抽象度のコントロールが上手くできない これは>>542 の記事がわかりにくい原因の一つでもある
552 :デフォルトの名無しさん :2024/01/16(火) 13:58:11.61 ID:lAjsP0tI.net >>551 役に立ってるリンクを貼って、どうぞ
553 :デフォルトの名無しさん :2024/01/17(水) 13:31:13.72 ID:QHRQ9FyB.net >>507 >この段落は何言ってるのかわからなすぎてあきらめた もともとが「プログラムはひとつの機械の中で順番に処理をするもの」という前提が崩れた時点で 外部のプログラムモジュールに“この仕事を頼む”って非同期的に作業を預けて モジュール間で「できてる?」「できた」ってやりとりすることで動作する環境を考えなければいけなくなった。 その時イメージされたのがロボットに仕事を頼んでそれぞれが「できました」するイメージ この前提で考えた時にシステムを人間が管理するためにはロボットに与える命令は 人間側が平易に理解できるコマンドと内容でなければ人間が困るというのが 現代まで続くメッセージ/メソッドという概念の始まり。 またロボットなのだから複製して似た作業させたり、アームや移動装置を付け替えることで 別な作業に使えるように改造するという発想も自然に出てくる。 (ただ後年言われているように基本→改造A→改造Bってできる継承は バージョン違いで逆に混乱の元にしかならないので、コンポジションをベースにした方がよかった) こういった前提でプログラムモジュールをオブジェクトと考えるオブジェクト指向は生まれたのだが この前提が見事にすっこ抜けたC ++が「継承ってのがオブジェクト指向なんだよ 車にタイヤだよ、改造パーツ付け替えだよ」って異端が“ボクがオブジェクト指向ござい”したせいで いまだに間違った言語の間違った仕様を前提に「あれがオブジェクト指向だった」と思われてる。 そういう話
554 :デフォルトの名無しさん :2024/01/17(水) 13:41:41.50 ID:QHRQ9FyB.net あと、あたりまえの話だけどひとつのプログラムモジュールなんて小さい単位の中では 普通に処理が順番に走ってるんだから、そんな細かい単位の中でマイクロオブジェクト作って 継承だのなんだのする意味がなくて、そういうレベルのマイクロコンピュータプログラミングで 次の時代はC ++だよ!されたのが最大の不幸だったとも言える。
555 :デフォルトの名無しさん :2024/01/17(水) 14:40:27.01 ID:E+GFYvQx.net アラン・ケイの言及 >さながら生物の細胞、もしくはネットワーク上の銘々のコンピュータ、それらはただメッセージによって >コミュニケーションする存在、僕はオブジェクトをそう考えている 人間が平易に理解できるうんぬんは上のバカが言ってるだけで関係ないのでご注意ください あとマイクロコンピュータという用語の使い方も間違ってるので無視してください
556 :デフォルトの名無しさん :2024/01/17(水) 15:19:46.14 ID:yIRtErMp.net ネットワークが当たり前になって、複数のサイトで個々の対応をする様になったら、またオブジェクト指向が見直されるってか?
557 :デフォルトの名無しさん :2024/01/17(水) 15:29:35.60 ID:KgFW7PrH.net こいつ、オブジェクト指向にマルチスレッド的な要素があると思ってるところが、なんかiHdkzくさいな
558 :デフォルトの名無しさん :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
559 :デフォルトの名無しさん :2024/01/17(水) 16:10:20.50 ID:r71rticC.net >>553 >人間側が平易に理解できるコマンドと内容でなければ人間が困るというのが >現代まで続くメッセージ/メソッドという概念の始まり。 よって我々はモノに着目している場合ではない。機能に着目すべきなのだ。インターフェイスとは機能をユーザー側の視点から記述したものだ。 これによって機能を構成するものの中でユーザーが知る必要のない情報(実装)を隠蔽するのである。 各コンポーネントが自分が知る必要のあることだけを知ることで、現代の複雑かつ大規模なソフトウェア開発が可能になるのである。 https://qiita.com/hush/items/33da14ddf45f45b5ef65
560 :デフォルトの名無しさん :2024/01/17(水) 16:17:11.41 ID:r71rticC.net >>88 >オブジェクトの内部はブラックボックス化され、外部からはオブジェクトのインターフェイスだけを相手にすればよいので、 多くの機能を保有する管理画面は、業務の種類によってメニューが細分化されています。 しかし、ユーザーが利用する機能は限られていることが多く、使うたびにメニューから目的の機能まで辿る作業は面倒です。 https://baigie.me/blog-ui/2020/06/16/ui_design_for_admin_screen/
561 :デフォルトの名無しさん :2024/01/17(水) 16:21:23.26 ID:r71rticC.net オブジェクト指向を教えてくれ!★2 https://itest.5ch.net/mevius/test/read.cgi/tech/1619503348/
562 :デフォルトの名無しさん :2024/01/17(水) 16:29:39.06 ID:r71rticC.net 必要最低限の機能を、過不足なく抽出するのが抽出化ね! >>90 >俺は抽象化自体はどうでもよくてifを減らすために使ってるわ オシッコするときはチンポと便器だけを意識するべきで、内尿道括約筋や膀胱平滑筋を意識する必要無い!
563 :デフォルトの名無しさん :2024/01/17(水) 16:38:14.46 ID:E+GFYvQx.net あーなるほど、ユーザーのことを人間って言ってたのか こいつ言葉の使い方が無茶苦茶だな 常に>>562 みたいな卑猥な表現ならまぎらわしくないんだけどな
564 :デフォルトの名無しさん :2024/01/17(水) 16:46:12.65 ID:E+GFYvQx.net ユーザーを人間に言い換えちゃうと、実装の詳細をすべての人間が平易に理解できちゃいけないことになるけど、 機能を実装した人間は平易に理解できちゃってるからまずいよねえ そこはユーザーとか利用者とか言わないと意図が伝わらないよねえ
565 :デフォルトの名無しさん :2024/01/17(水) 16:49:13.88 ID:KgFW7PrH.net プログラマのことを人間って書いてるのかと思ってた 利用者のことだとわかるのすげーな そんな発想みじんもなかった
566 :デフォルトの名無しさん :2024/01/17(水) 17:00:54.72 ID:E+GFYvQx.net >>565 >プログラマのことを人間って書いてるのかと思ってた それはまあ合ってるんじゃね ライブラリの提供者と、それを使う利用者っていう文脈ならプログラマだからね ただし「人間と非人間(機械?)」という構図ではなく、 「提供者と利用者(ユーザー)」という構図だったらしい それなら片方を指して人間と呼ぶのはまぎらわしすぎる
567 :デフォルトの名無しさん :2024/01/17(水) 17:30:28.35 ID:CGUTfE61.net 彼以上に日本語不自由なひと多くて草
568 :デフォルトの名無しさん :2024/01/17(水) 18:59:47.01 ID:E+GFYvQx.net まあ、インターフェイスはどっちかというと理解しやすくするためというより、 依存を減らすことで、実装変更の影響が広がらないようにするためだけどな
569 :デフォルトの名無しさん :2024/01/17(水) 19:39:24.28 ID:CqiMzrNV.net >>568 インターフェイスは契約だよ。 依頼人は事前条件の義務を果たせば事後条件の利益が受けられる。請負人は事前条件が揃ったら事後条件を提供する義務がある。 それを契約書みたいに切り離したのがインターフェイス。
570 :デフォルトの名無しさん :2024/01/17(水) 20:23:22.83 ID:E+GFYvQx.net >>569 そういう面もあるけどどっちかというとDbCの話だな
571 :デフォルトの名無しさん :2024/01/17(水) 23:35:59.37 ID:oTV5DNx6.net >>557 元々のオブジェクト指向はマルチスレッドだけでなくマルチプロセスでもマルチノード環境でもよくて それらマルチな環境で動いている独立したオブジェクト同士がメッセージパッシングをするところから始まっている そのメッセージパッシングの実装の一つのあるインターフェイス切り口の一つがオブジェクトのメソッド呼び出し
572 :デフォルトの名無しさん :2024/01/17(水) 23:39:09.32 ID:oTV5DNx6.net したがってシングルスレッドおよび同期呼び出しという二つの足枷を前提とする極めて特殊な制限された環境を前提とするのは間違い
573 :デフォルトの名無しさん :2024/01/17(水) 23:51:51.10 ID:KgFW7PrH.net >>571 メッセージパッシング?Smalltalkのメッセージはメソッド呼び出しをかっこよく言い換えただけやろ?
574 :デフォルトの名無しさん :2024/01/17(水) 23:53:18.66 ID:oTV5DNx6.net >>573 概念と実装の区別ができない人は出入り禁止
575 :デフォルトの名無しさん :2024/01/17(水) 23:59:57.39 ID:KgFW7PrH.net >>574 じゃあ違う実装をしてる言語を挙げてみろよ
576 :デフォルトの名無しさん :2024/01/18(木) 00:01:33.25 ID:wXOtcPza.net なんで、関数呼び出し以外でメッセージを実装してる言語が存在しないの? オブジェクト指向の始祖はなんでそんな実装しなかったの?
577 :デフォルトの名無しさん :2024/01/18(木) 01:02:23.64 ID:wXOtcPza.net 実装のひとつなんでしょ?なんで他の実装がないの? はやく出してよ
578 :デフォルトの名無しさん :2024/01/18(木) 01:24:58.22 ID:jl137W3w.net ここでの言語がプログラム構築ツールに過ぎないのだから 関数呼び出しとなるのは理にかなってて当然じゃない? オブジェクトの扱いをもっと大げさに実装しても嬉しくないし 業務フロー構築とか高レベルな領域を扱うためのものはあるけど 汎用的なプログラム言語ではなくなる
579 :デフォルトの名無しさん :2024/01/18(木) 01:37:22.52 ID:SCJi6kKx.net 関数呼び出しの意味合いが多義たから噛み合ってないようにみえる 古典的な関数呼び出しだと求める値は関数の返り値として返ってくる しかし今は当然それだけではなくて 例えばJavaScriptなど継続(continuation)を用いる言語だとその場合は関数の返り値として求める値は返って来ない さらに今は多くはの言語が非同期呼び出しをサポートしていて関数呼び出しで返ってくるのは求める値ではなくFutureやPromiseが返って来る さらにそれらを使わずあるいは併用してChannelを使ってメッセージや値を送り合う言語も多い 関数呼び出ししかないと主張する>>576 はあまりにも無知すぎるようにみえる
580 :デフォルトの名無しさん :2024/01/18(木) 01:49:14.31 ID:wXOtcPza.net >>579 そんな感じでプリミティブな関数呼び出しを利用してなんでもできるじゃん それをメッセージパッシングとか名前だけ変える意味ないやろ
581 :デフォルトの名無しさん :2024/01/18(木) 01:54:44.12 ID:SCJi6kKx.net >>580 まずはContinuation、Promise/Future、Channelなど各々を勉強してみたらどうかね そうすれば関数呼び出しだけではなぜ実現できないのかを理解できる
582 :デフォルトの名無しさん :2024/01/18(木) 01:58:10.81 ID:wXOtcPza.net >>581 言ってる意味がわからん
583 :デフォルトの名無しさん :2024/01/18(木) 02:02:13.52 ID:wXOtcPza.net javaとか関数呼び出し以外に特別なメッセージパッシングの仕組みがないのに、PromissもFutureもあるじゃん… Continuationはないけどさ
584 :デフォルトの名無しさん :2024/01/18(木) 02:05:10.31 ID:wXOtcPza.net schemeなんて関数呼び出ししかないのに全部あるじゃん… 何が言いたいのかさっぱりわからん…
585 :デフォルトの名無しさん :2024/01/18(木) 02:28:53.69 ID:SCJi6kKx.net 屁理屈で言い訳しているだけにみえるが もし本当に理解できてないなら相手にしてもしかたないな
586 :デフォルトの名無しさん :2024/01/18(木) 02:35:03.86 ID:wXOtcPza.net >>585 実際にjavaやschemeでは関数呼び出しだけで実装できてるって言ってるのに、理由もなく実装不可能とか屁理屈言ってるのはそっちだろ 普通に考えて関数による抽象化はプログラムにおける万能のビルディングブロックなんだけど
587 :デフォルトの名無しさん :2024/01/18(木) 02:56:24.95 ID:wXOtcPza.net むっちゃ話がそれたんだけど、メッセージパッシングなんて関数呼び出しの名前をオシャレに変えただけなので、 >>571 に書いてあるマルチスレッドで独立したオブジェクトがメッセージを送りあうみたいな計算にはならないだろって言いたいんだけど そういう独立に相互作用しあうような計算が念頭にあるなら、smalltalkみたいな言語にはならんと思う
588 :デフォルトの名無しさん :2024/01/18(木) 08:08:03.58 ID:mnBoPSdr.net >>587 違うよ、実装から見ればアドレスにコールしてる様に見えるけど、本来は通信するんだよ
589 :デフォルトの名無しさん :2024/01/18(木) 10:04:53.65 ID:YnZ4cQvx.net >>571 >それらマルチな環境で動いている独立したオブジェクト同士がメッセージパッシングをするところから始まっている メッセージングを基礎単位として取ることは、より徹底的な遅延束縛を可能にする。というのも、 メッセージそれ自体は意味を持たず、実際にメッセージがオブジェクトに送信されてはじめて、意味が決まるからである。 https://qiita.com/ukyo-su/items/8c861f114809a96d1378 オシッコを出したり止めたりというのは、チンポから力を抜いたりチンポに力を入れたりと、 オシッコはオシッコそれ自体は意味を持たず、オシッコが尿道を介してチンポに送られることによって、 オシッコを出したり止めたりが可能になるということだ。 >ナンチャッテメッセージングスタイルになったのは チンポ.オシッコを出す チンポ.オシッコを止める さっきトイレでやってきた。 >単なる動的なメソッド呼び出しをメッセージと称し、ただしコールするメソッドが見つからない場合だけメッセージを >ハンドリングできる省コストなナンチャッテメッセージングスタイルに落ち着いた。 × 俺.オシッコを止める 俺.オシッコを出す ○ 俺.チンポに力を入れる 俺.チンポから力を抜く
590 :デフォルトの名無しさん :2024/01/18(木) 10:22:05.53 ID:YnZ4cQvx.net 独立したオブジェクト同士が、 >>571 >独立したオブジェクト同士がメッセージパッシングをするところから始まっている 「相互作用しあう」というのがイマイチわかりにくいかもしれない。 >>587 >そういう独立に相互作用しあうような計算が念頭にあるなら、 けれどもチンポは同一の個体であっても別人格または別チン格なので、本体との相互作用に矛盾は無い! チンコの随意筋と不随意筋 http://d.hatena.ne.jp/tottokotokoroten/20130516/1368716650 <俺> 「 部屋の英子がこちらを向いた気配に、彼は勃○した陰○を外から障子に突きたてた。障子は乾いた音をたてて破れ、 それを見た英子は読んでいた本を力一杯障子にぶつけたのだ。本は見事、的に当って畳に落ちた。 」 <チンポ> 「 その瞬間、竜哉は体中が引き締まるような快感を感じた。彼は今、リングで感じるあのギラギラした、 抵抗される人間の喜びを味わったのだ。 」 まさに独立した人格を有したチンポという、もう一人の俺がそこに現れるのである! 【藤子・F・不二雄】「みきおとミキオ」現在と未来、憧れの入れ替わり生活! https://www.google.com/amp/s/middle-edge.jp/articles/0izbO.amp
591 :デフォルトの名無しさん :2024/01/18(木) 10:32:03.61 ID:YnZ4cQvx.net オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋 このように時と場合によって真逆の性質を併せ持つことができる >>579 >さらに今は多くはの言語が非同期呼び出しをサポートしていて関数呼び出しで返ってくるのは 随意筋 不随意筋 ↖ ↗ チンポ >求める値ではなく 随意筋(本人)である場合と、 >FutureやPromiseが返って来る 不随意筋(他人)である場合がある。
592 :デフォルトの名無しさん :2024/01/18(木) 11:05:22.35 ID:YnZ4cQvx.net 意味論上の原則として、メッセージ送信表現が何を意味するかは、メッセージを受けるオブジェクトによって決められる(SEO)。 この考え方の重要なところは次の二点だ。 メッセージはそれ自体でいかなる意味も持たない メッセージが何を意味するか(システムとして何を起こすか)はオブジェクトが解釈する https://qiita.com/ukyo-su/items/8c861f114809a96d1378 >>571 >それらマルチな環境で動いている独立したオブジェクト同士がメッセージパッシングをするところから始まっている 「オシッコがしたい」と自分がそう思っていても、体内に入っているうちはオシッコにはならない そうでは無くてチンポから尿を出すことによって、それはオシッコなのだと意味づけられる
593 :デフォルトの名無しさん :2024/01/18(木) 11:16:28.90 ID:YnZ4cQvx.net 随意筋 不随意筋 ↖ ↗ チンポ チンポは本人の意思では動かせない別の生き物だが? >>580 >そんな感じでプリミティブな関数呼び出しを利用してなんでもできるじゃん × 俺.オシッコを止める 俺.オシッコを出す >それをメッセージパッシングとか名前だけ変える意味ないやろ ○ 俺.チンポに力を入れる 俺.チンポから力を抜く
594 :デフォルトの名無しさん :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)
595 :デフォルトの名無しさん :2024/01/18(木) 14:40:55.32 ID:ajk+/w34.net 前も歴史的タイミングがわかってない人が居たけど 大学のデータセンターみたいなのがネットワーク通信できるようになって 処理を外部のコンピュータに委任する状況が当時の最新システムで始まった時に 従来の一つのアドレス空間で結局内部でステップ順に処理しているという プログラムの常識が通用しなくなって来たから 「もう独立した処理単位(オブジェクト)としてサブルーチンを捉えよう」という オブジェクト指向が始まったので、結局アドレスで〜というのはお門違い。
596 :デフォルトの名無しさん :2024/01/18(木) 15:06:53.52 ID:Q62r0xAB.net オブジェクト指向うんぬんはあるけど、状態管理まわりのアーキテクチャうんぬんの議論も最近よく見かける ReduxだのMVVMだのいろいろありすぎる まあ結局フレームワークで状態管理アーキテクチャを選ぶことになるんだろうが
597 :デフォルトの名無しさん :2024/01/18(木) 16:11:16.24 ID:iUO1jvdw.net >>595 なんで君はそんな嘘を吐き続けるの? オブジェクト指向の起源と通信は全く関係ないよ
598 :デフォルトの名無しさん :2024/01/18(木) 16:43:01.66 ID:ajk+/w34.net いろいろ不思議なんだよね 80~90年代のカプセル化や新しいプログラムパラダイムの話題 現代のswift playgroundやunityの実装まで全てがステップバイステップで プログラマがコントロール“できない”からオブジェクトに処理は任せるという思想で 近代プログラミングは成り立ってるのに、そこの歴史一切無視して ずーっとCとかアセンブラ脳なんだままっていったいどこで情報科学を学んだの?
599 :デフォルトの名無しさん :2024/01/18(木) 17:09:23.81 ID:6/8H82z6.net むしろデータ型の歴史を無視することで 変数の型を宣言しないことが可能となる 関数がアルゴリズムを隠蔽するのと同様に変数がデータを隠蔽できるようになる
600 :デフォルトの名無しさん :2024/01/18(木) 17:24:03.18 ID:dJGuHi0H.net >>596 誰もUIの話なんてしてないんだがバカか?
601 :デフォルトの名無しさん :2024/01/18(木) 17:30:45.26 ID:Gjb5vx80.net reactはコンポーネント指向とかいうので開発するんだっけか知らんけど
602 :デフォルトの名無しさん :2024/01/18(木) 17:35:59.19 ID:HYoD398u.net オブジェクト指向の最高傑作は依存性注入という考え方だよね 自動テスト最高
603 :デフォルトの名無しさん :2024/01/18(木) 17:51:12.10 ID:318qGf4h.net >>588 じゃあなんで、提唱されてから40年は経ってるのに、我こそは真のオブジェクト指向言語だメッセージは通信で渡すぞオブジェクトはみなスレッドだってやつが現れないの?
604 :デフォルトの名無しさん :2024/01/18(木) 17:59:18.46 ID:op9CkZw4.net >>603 オブジェクトはスレッドだけじゃないからでは?
605 :デフォルトの名無しさん :2024/01/18(木) 18:13:43.69 ID:318qGf4h.net >>604 わいもそう思うんだけど、 >>571 が言うには元々のオブジェクト指向はオブジェクトが独立したスレッドで動いてるらしいんだよ だから、なんでそういう「本来のオブジェクト指向」の実装が未だに現れないんだろうねえ不思議だねえって話
606 :デフォルトの名無しさん :2024/01/18(木) 18:15:26.58 ID:YnZ4cQvx.net コントロールできる場合とできない場合が併存するということね! >>598 >プログラマがコントロール“できない”からオブジェクトに処理は任せるという思想で 随意筋 不随意筋 ↖ ↗ チンポ
607 :デフォルトの名無しさん :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, アーロンカービル
608 :デフォルトの名無しさん :2024/01/18(木) 18:36:42.71 ID:YnZ4cQvx.net >>131 >つまりオワコンとなったのは「クラスとその継承」 これは継承を使うしか無いでしょ? >Fredが電気カミソリを持っていたので、 Fred ↑ 電気カミソリ+Fred
609 :デフォルトの名無しさん :2024/01/18(木) 19:21:45.75 ID:p4+mv2Ay.net なんかすげえ伸びてるな なんの議論してるのかだれか要約して
610 :デフォルトの名無しさん :2024/01/18(木) 19:44:08.60 ID:318qGf4h.net >>609 わいは >>571 が言ってる「本来のオブジェクト指向」ってのがおかしいと思ってるから、smalltalkが「本来のオブジェクト指向」に則って実装されてないのはなんでなんって話をしてるつもり
611 :デフォルトの名無しさん :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
612 :デフォルトの名無しさん :2024/01/18(木) 20:15:07.55 ID:IdJKbIqV.net >>607 昔はエージェント指向というのがあってなぁ。 AIの台頭で復権するかもね。 >>608 オブジェクト指向でも継承じゃなくて集約使う状況じゃない? 継承とか基本的にコンパイラの実装上の都合(性能とか)をプログラムの設計に押し付けているだけだから、安易に使うべきじゃないよ。
613 :デフォルトの名無しさん :2024/01/18(木) 20:30:12.28 ID:hMwUZ6n+.net 各種プログラミング言語の継承とかってコンパイル時には解決してるものなんだからコードの可読性が上がるのなら使っていくべきもの 安易に使うべきではないっていうのは、 ・コンパイラ任せのプログラムを書くなってこと? ・コンパイル後でボイラーコードが増えてアホコードになるってこと? ・コンパイラに継承とかの解決をさせることが時間の無駄ってこと?
614 :デフォルトの名無しさん :2024/01/18(木) 20:33:43.77 ID:YnZ4cQvx.net 「装備品」ということなら集約かな? >Cycは人間には電気の部品がないことは知っているが、 >Fredが電気カミソリを持っていたので、 <オブジェクト指向の集約について> クラスが他のクラスの組み合わせで構成されている関係を集約(aggregation)と呼びます。 例えば、学校は生徒を含み注文商品は商品を持ちます。 集約では、含んでいる側が消滅しても、含まれている方はなくなりません。 例えば、生徒が変化しても学校は変わりませんし、注文商品が消滅しても商品は消滅しません。 http://wtar00.seesaa.net/article/438834930.html
615 :デフォルトの名無しさん :2024/01/18(木) 20:36:36.73 ID:318qGf4h.net >>613 Vectorを継承してStackを作るようなヤツが現れないようにするためもあるぞ
616 :デフォルトの名無しさん :2024/01/18(木) 20:39:00.79 ID:YnZ4cQvx.net Pythonは多重継承だが? >>612 >継承とか基本的にコンパイラの実装上の都合(性能とか)をプログラムの設計に押し付けているだけだから オントロジーは、情報の親/子関係を表現できます。RDFドキュメントの例でも触れましたが、 オブジェクト指向の継承と同じ概念と理解いただいてもよいと思います。そして、 オントロジーの「継承」の特徴は、次のようにオブジェクト指向と近いものです。 子は親の情報(=設定値)を引き継ぐ 多重継承ができる。(継承した全てのクラスの定義を漏れなく引き継ぐ) 継承の関係は、「subClassOf」と表現します。「子 is a 親」という関係です。 https://qiita.com/mininobu/items/bce0e0ad97ed17e0aff2
617 :デフォルトの名無しさん :2024/01/18(木) 20:53:38.83 ID:IdJKbIqV.net >>613 設計の初期の段階でクラス継承関係みたいな変更しづらい仕様を固めなくてはならないのは「早すぎる最適化」だということ。 継承関係の変更はえてして根底からの設計変更が必要になるけど、設計が熟成する前にクラスの依存関係を確定するのは非常に難しい。 adaptorパターンとかで影響を減らすことはできるけど、それなら最初から継承関係用のadaptorを用意したほうがいい。 c++のコンセプトをそのまま変数の型に使用できればずいぶん楽になるんだけどな。
618 :デフォルトの名無しさん :2024/01/18(木) 21:03:06.30 ID:bwFEBIOM.net モダンなプログラミング言語 Go、Rust、Zig、Nim、Julia、Elixirは クラスおよびその継承を言語仕様から排除している クラス継承は悪手であるとプログラミング言語界では結論が出ている
619 :デフォルトの名無しさん :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は クラスおよびその継承を言語仕様から排除している クラス継承は悪手であるとプログラミング言語界では結論が出ている
620 :デフォルトの名無しさん :2024/01/18(木) 21:14:26.20 ID:YnZ4cQvx.net Javaみたいな多重継承をサポートしていない言語なら、継承そのものを殆ど使わないほうがいいと思う 随意筋 不随意筋 ↖ ↗ チンポ 継承を使う場合は、必ず多重継承をもサポートしなければならないのだから!
621 :デフォルトの名無しさん :2024/01/18(木) 21:26:58.92 ID:XBwDmihy.net さまざまなユースケースの必要なUIまわりくらいでしか継承はもはや必須じゃないよね システムまわりでは継承使うとかえって将来的に保守をしにくくなる
622 :デフォルトの名無しさん :2024/01/18(木) 21:37:43.88 ID:iZjcVJFY.net >>618 Rustはメッセージングもないけどな Rustはオブジェクト指向じゃないという大きな根拠
623 :デフォルトの名無しさん :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 '''
624 :デフォルトの名無しさん :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.不適切な関係; } しかしながらクリントンが自分のチンポをコントロールすることは不可能 クリントンは同じクリントンでも、人格とチン格は違うからだ
625 :デフォルトの名無しさん :2024/01/18(木) 21:50:12.81 ID:p4+mv2Ay.net 継承は開発者の手腕によって神にも悪魔にもなる きっちりとした仕様書とノウハウがあれば保守性に長けたプログラムがちゃんと出来上がるよ
626 :デフォルトの名無しさん :2024/01/18(木) 21:52:27.18 ID:bwFEBIOM.net >>622 Rustも他の言語と同様にメソッド呼び出しがあり 内部構造の秘匿もできるため オブジェクト指向
627 :デフォルトの名無しさん :2024/01/18(木) 21:59:50.46 ID:YnZ4cQvx.net >>611 継承が必須だということなら、多重継承をサポートしていないJavaは欠陥言語となる 多重継承をサポートしていないということは即ち、他のやり方で代用できると考えていい 継承を使いこなしたいのであれば、Pythonのような多重継承をサポートしている言語をマスターすべき
628 :デフォルトの名無しさん :2024/01/18(木) 22:22:16.51 ID:k9qVbfct.net >>623 引用オナニー要らないよw 変態プレイは一人でやってください
629 :デフォルトの名無しさん :2024/01/18(木) 22:31:39.02 ID:p4+mv2Ay.net >>627 継承の継承を使えりゃ十分じゃね? Kotlinやってるけど多重継承できなくて困ったことはない あと改善版継承のようなsealed classは優秀
630 :デフォルトの名無しさん :2024/01/18(木) 22:45:13.36 ID:OdzmVMko.net javaのやってる継承は継承もどき 本物の継承はpythonにしかできない
631 :デフォルトの名無しさん :2024/01/18(木) 23:16:36.55 ID:BMLfw7Fm.net ほんとはみんな継承をやりたいんじゃなくて、ポリモーフィズムと情報の隠蔽をやりたいだけなんだよね
632 :デフォルトの名無しさん :2024/01/18(木) 23:31:00.54 ID:jl137W3w.net >>603-605 Erlangとかあるけどね でもUnixなプロセスモデルに適合させようすると 変数とおなじアドレス空間にオブジェクトを置く よくあるタイプになってしまう
633 :デフォルトの名無しさん :2024/01/18(木) 23:51:38.17 ID:6/8H82z6.net 情報隠蔽は情報不足と見分けがつかない スクリプトに不足している情報を明示したいだけなのがGo、Rust
634 :デフォルトの名無しさん :2024/01/19(金) 01:05:45.75 ID:Bxqp/mLl.net >>633 まずはこの議論における基礎知識としてRustのトレイト(trait)を学習することをおすすめする
635 :デフォルトの名無しさん :2024/01/19(金) 01:09:24.73 ID:dQ/RTsAV.net >>632 そのへんも自分らが本来のオブジェクト指向を実装してるんだぜなんてことを言ってないことから、 >>571 の主張が出鱈目なのが分かっていいよね
636 :デフォルトの名無しさん :2024/01/19(金) 01:19:07.65 ID:5qNxVIXw.net 「本来のオブジェクト志向」、体験するのが無理という難点がある まさか令和の時代にSmalltalk触れってわけにもいかないし
637 :デフォルトの名無しさん :2024/01/19(金) 01:24:17.77 ID:dQ/RTsAV.net smalltalkのスレッドまわりはjavaとだいたい同じだった記憶があるし「本来のオブジェクト指向」とはきっと違うはず
638 :デフォルトの名無しさん :2024/01/19(金) 08:10:41.28 ID:iTaoyDeQ.net >>636 Smalltalkは多重継承をサポートしていないぞ?
639 :デフォルトの名無しさん :2024/01/19(金) 08:49:00.44 ID:MC8t1NGB.net クラス継承ですらデメリットが大きいためモダンなプログラミング言語では採用されていないのに クラス多重継承なんてあまりにもダメすぎるため採用しているメジャーな言語はPython Perl C++のダメ言語御三家のみ クラス多重継承を採用していない言語が正しい
640 :デフォルトの名無しさん :2024/01/19(金) 09:04:50.86 ID:oSBLpXih.net 継承は凡人には使いこなせなかった なので、機能として存在する意味がないし、下手に使うと有害なので廃止された
641 :デフォルトの名無しさん :2024/01/19(金) 09:30:06.32 ID:iTaoyDeQ.net 多重継承は曖昧だというが、自然言語処理はその曖昧さが大切になる。チンポは随意筋であり不随意筋である。 >>639 >クラス多重継承なんてあまりにもダメすぎるため 最終的に,クラス階層は最上位クラスを含めた 最大8 階層から構成され,「伝統的な日本の絵画」 に属する用語に対応する 55 クラスと解説文中か ら抽出した139 クラスが配置された。ただし,そ のうち 32 クラスが複数の上位クラスをもつとい う多重継承が示された。例えば,「ngyc:絵巻物」 は「ngyc:伝統的な日本の絵画」と,「ngyc:表具の 形式」の下位クラスである「ngyc:巻子」の 2 つの クラスを継承する(図 2)。こうした多重継承は, 本質属性をもつ基本概念と機能を表すロール概念 を分離することで,基本概念による属性継承に限 った階層関係に変更するという考え方もあり 10), 「ngyc:伝統的な日本の絵画」がロール概念で, 「ngyc:表具の形式」が基本概念と捉えることもで きる。しかし,本研究ではテキストからの情報抽 出に即して配置し,多重継承を許容した階層を導 き出した。 http://www.mslis.jp/am2019yoko/05_kobayashi.pdf 随意筋 不随意筋 ↖ ↗ チンポ
642 :デフォルトの名無しさん :2024/01/19(金) 09:43:00.08 ID:sTJV5iPD.net もう下品な比喩はいいからw
643 :デフォルトの名無しさん :2024/01/19(金) 10:56:52.36 ID:HG/MrdYG.net ガンダムで例えてくれ
644 :デフォルトの名無しさん :2024/01/19(金) 11:09:31.72 ID:NQtmyzQy.net 継承無くてもポリモーフィズムはできる それでいい
645 :デフォルトの名無しさん :2024/01/19(金) 11:30:43.26 ID:HG/MrdYG.net テンプレートおよびジェネリクスは禁止で それでいい
646 :デフォルトの名無しさん :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++のダメ言語御三家のみ 流行とかパラダイムが全てでは無いにせよ、オブジェクト指向=人工知能ということなら、 自然言語処理における意味解釈は語のルーツを掘り下げるための「多重継承」がメインになる 随意筋 不随意筋 ↖ ↗ チンポ 文脈によって同一オブジェクトが真逆の振る舞いをするということね!
647 :デフォルトの名無しさん :2024/01/19(金) 11:40:54.55 ID:arzVgFZ3.net もう継承はゴミってことで結論出てるのになんでそんなに無くてはならないって拘るの?
648 :デフォルトの名無しさん :2024/01/19(金) 11:50:05.51 ID:iTaoyDeQ.net >>647 最新調査でPythonが人気なのと、Pythonが多重継承をサポートしているのは、どう説明するのかな?
649 :デフォルトの名無しさん :2024/01/19(金) 12:04:44.60 ID:iTaoyDeQ.net 集約と継承を使い分けることが大切ね! >>623 >欲しかったのはバナナだけなのに、あなたが得たのはバナナを持っていたゴリラと、ジャングル全体だった。 ジャングルーーーーーーーーーー ┃ ゴリラーーーー ┃ ┃ ┃ バナナ ┃ ┃ ┃ ーーーーーーー ┃ ┃ ┃ ーーーーーーーーーーーーーーー クリントンーーーーーーーーーー ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ーーーーーーーーーーーーーーー ┃チンポ┃  ̄ ̄ ̄ ̄
650 :デフォルトの名無しさん :2024/01/19(金) 12:26:06.50 ID:SK8TlxrV.net >>631 多態性・情報隠蔽ですら無くて、単にインスタンス間でやり取りするときのインターフェイスとプロトコルを確定しておきたいだけだよ。 継承みたいなコンパイラ都合のお作法はうざったいだけだし、インターフェイスとプロトコルを守っているなら多態かどうかもどうでもいい。結果的に多態になるけど、あくまで結果論。
651 :デフォルトの名無しさん :2024/01/19(金) 12:31:42.38 ID:arzVgFZ3.net >>648 pythonで複雑なシステムは普通の感性を持ってれば組まないし別にいいんじゃない? 継承がゴミだと言われる理由を考えてみて
652 :デフォルトの名無しさん :2024/01/19(金) 12:38:25.66 ID:SK8TlxrV.net オブジェクト指向がオワコンというのは正しくて、よりインスタンス間のルール管理に注力した契約プログラムとかに発展的解消してんじゃないのかね。
653 :デフォルトの名無しさん :2024/01/19(金) 12:44:39.23 ID:arzVgFZ3.net >>650 インスタンス間でやり取りするときのインターフェイスとプロトコルを確定(カプセル化)することがまさしく不要な情報の隠蔽なのでは? それでカプセル化したらポリモーフィズムに基づいてアクセスさせるか~みたいな感じでしょ?
654 :デフォルトの名無しさん :2024/01/19(金) 12:45:36.30 ID:arzVgFZ3.net そんでカプセル化したものを継承させるのはプログラムが煩雑になるからやめましょうよ、継承の実装を省くならクラスもいらないねってそういう話じゃん
655 :デフォルトの名無しさん :2024/01/19(金) 12:52:25.37 ID:rg+QtK0B.net >>646 多重継承の中でも型継承さえできれば十分ならインターフェースでよくね? それなら他の言語でもできるぞい✌
656 :デフォルトの名無しさん :2024/01/19(金) 12:54:01.11 ID:SK8TlxrV.net >>653 そう、そう。 実装の結果ついてきた結果論。 スタートはインターフェイスとプロトコル。
657 :デフォルトの名無しさん :2024/01/19(金) 12:54:57.24 ID:iTaoyDeQ.net オンラインゲームのアップデートは「カプセル化したものを継承」では? >>654 >そんでカプセル化したものを継承させるのはプログラムが煩雑になるからやめましょうよ、 大型アップデート情報 バージョン6.5[後期] (2023/11/21 更新) https://hiroba.dqx.jp/sc/topics/detail/0e4f5cc9f4f3f7f1651a6b9f9214e5b1/ システムのアップデートは一般的に「継承」と自分は思うが、丸ごと作り直したほうが良いのかな?
658 :デフォルトの名無しさん :2024/01/19(金) 13:07:12.61 ID:iTaoyDeQ.net 私見としてはオンラインゲームと言えども、大型バージョンアップ時は丸ごと作り直したほうがいいと思う ドラクエ10のバージョン7ということなら、すべてを再インストール化でもいい
659 :デフォルトの名無しさん :2024/01/19(金) 13:15:20.79 ID:arzVgFZ3.net >>657 オンラインゲームのアップデートってなに?もっと具体的に頼む バグ修正?新機能の追加?新キャラの追加? バグ修正や新機能はカプセル化の対応部分の丸ごと書き換え等いろいろあるだろうね 新キャラ追加はカプセル化したクラスモデルを継承して作り上げて、それをロードしてやれば、ポリモーフィズムに基づいて動いてくれるだろうね
660 :デフォルトの名無しさん :2024/01/19(金) 13:17:20.00 ID:2+AapLKd.net さすがにアプデを継承と考えるのはややこしくなるからやめたほうがいい
661 :デフォルトの名無しさん :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
662 :デフォルトの名無しさん :2024/01/19(金) 14:00:28.63 ID:arzVgFZ3.net >>661 うん、新キャラ新技はカプセル化の継承だね そんな表面層の部分を指して継承だ継承だ騒いでたの?
663 :デフォルトの名無しさん :2024/01/19(金) 14:14:12.14 ID:arzVgFZ3.net あ、継承をゴミと言ってるのであって、インターフェースやトレイトは存分に使うべきものだから 勘違いしてもらったら困るぞ
664 :デフォルトの名無しさん :2024/01/19(金) 14:21:52.28 ID:arzVgFZ3.net 新キャラ新技くらいならカプセル化の継承でもなくてインターフェースをただ実装するだけで済ませてるか>>661 自分の作品見てたら画面追加は継承を使ってたわ
665 :デフォルトの名無しさん :2024/01/19(金) 14:23:53.15 ID:2Txscu7W.net >>663 継承自体はただの機能なので良いも悪いもない。 継承を理解していない人、不適切な使い方をしている人が存在するだけ。 どんな使い方をしても不具合が出ない機能なんて無い。
666 :デフォルトの名無しさん :2024/01/19(金) 14:33:48.49 ID:arzVgFZ3.net >>665 大いに同意 継承は基底クラスがよほど煩雑にならない程度なら使ってもよい ただ煩雑に組む輩等が多すぎたから継承を実装しないプログラム言語が生まれた それだけなんだ
667 :デフォルトの名無しさん :2024/01/19(金) 14:51:07.26 ID:2+AapLKd.net お勉強発表会はたのちいね
668 :デフォルトの名無しさん :2024/01/19(金) 14:54:55.85 ID:arzVgFZ3.net >>667 むちゃくちゃ楽しい
669 :デフォルトの名無しさん :2024/01/19(金) 14:59:58.61 ID:2Txscu7W.net >>667 と暇人が申しております
670 :デフォルトの名無しさん :2024/01/19(金) 17:41:08.81 ID:wxu2zgr7.net >>665 継承は設計を初期の段階で固める「早すぎる最適化」だから避けるべき。 やるなら継承関係の実装だけ切り出したadapter用のholder templateを用意したほうがまだマシ。
671 :デフォルトの名無しさん :2024/01/19(金) 18:11:39.79 ID:Hi84WC+x.net >>670 それは将来の変更可能性が低くない場合。 実際変更可能性が低いケースなんかいくらでもあり、その場合避ける理由にならない。
672 :デフォルトの名無しさん :2024/01/19(金) 18:21:46.43 ID:9QtN1Vnk.net >>670 つまりinterfaceで十分ってことだな
673 :デフォルトの名無しさん :2024/01/19(金) 19:20:32.13 ID:iTaoyDeQ.net _w 、... ョ ┌┐ ィ ′  ̄+ ヘe、 j「. .¬气¬''..~''~ ,.ルw、.ーu、す ^^"~~l|~~^''' ォ′ .,. l| ┐ .√ j| _~+,.、. . .,/. ょ_/ 、j「 { `¬.. 〃 .、l| 、 .. ~^. ~ ` ~^ . ;. ョ __ . j| ~ラ¬¬+ |.  ̄.  ̄.. . オ |.. ォ ,、 k、 ,j〃. L_. _ェ ~'――'~. ^^^^^^ ̄´  ̄′  ̄ ̄
674 :デフォルトの名無しさん :2024/01/19(金) 19:28:18.36 ID:r1TqRAYd.net 一人で書き込みお疲れ様。
675 :デフォルトの名無しさん :2024/01/19(金) 19:43:32.99 ID:SK8TlxrV.net >>671 熟練の設計者が慣れた問題領域やるんでもなければ無理だろ。
676 :デフォルトの名無しさん :2024/01/19(金) 19:52:40.51 ID:SK8TlxrV.net >>672 だいたいインターフェイスで十分だわ。もっと機能強化したのが出てこないかね。 c++のコンセプトをインターフェイスに使いたいところ。
677 :デフォルトの名無しさん :2024/01/19(金) 20:09:04.02 ID:XrKZZkrv.net >>675 超大型建築より普通の一軒家の方が数、つまりニーズが圧倒的に多い アプリは常にスケールする可能性がある、というのは理論的な話で実際スケールするアプリなんかほんの一握り。結局作ってそのままなんていくらでもある。変更が無いケースで熟練どうたらとか全く無関係。
678 :デフォルトの名無しさん :2024/01/19(金) 20:34:16.00 ID:SK8TlxrV.net >>677 普通の一軒家とか、問題領域の知識が無くて失敗する事例の宝庫だろ。あとになって大抵の人間は「コンセントが足りない」と言うしな。 変更しないままなのは「変更しなくていい」じゃなくて「変更は不可能に近いから不便・危険でも諦める」だからな。
679 :デフォルトの名無しさん :2024/01/19(金) 20:49:36.09 ID:XrKZZkrv.net 結局継承で都合が悪いケースなんて極一部というのが現実。 ヤグニの原則に反して嬉しいのは客の金でただで勉強・実験したいエンジニアだけ。
680 :デフォルトの名無しさん :2024/01/19(金) 21:05:02.67 ID:SK8TlxrV.net >>679 まあ、いいんじゃない? 初期に設計したクソ仕様を客に「大したことはないから変更しない」と放置できるなら。
681 :デフォルトの名無しさん :2024/01/19(金) 21:27:25.19 ID:K5SD+kWD.net >>672 インターフェースだけだとコピペ継承が乱立するんだよ そこでインターフェースのデフォルト実装等クラス継承と同じ実装継承を使うことになる でもクラス継承はとにかく悪だと思ってる人は実装継承のメリットとデメリットを正しく理解できてないから結局同じ問題を引き起こすだけ
682 :デフォルトの名無しさん :2024/01/19(金) 22:05:02.77 ID:yy9dhl7c.net >>681 インターフェイスと実装は永続性や影響範囲が違うんだから、密に関連づけるのは悪設計。 継承はさらに基底と派生の関係性もガチガチに固めるから、根元になる基底がクソ設計だとどうしようもない。
683 :デフォルトの名無しさん :2024/01/19(金) 22:20:13.70 ID:XrKZZkrv.net >>680 5chで勝手にクソ仕様認定してるクソレスを気にする人はいないw
684 :デフォルトの名無しさん :2024/01/19(金) 22:21:58.98 ID:sTJV5iPD.net 顧客に設計なんか分からないから突き進むだろ
685 :デフォルトの名無しさん :2024/01/19(金) 22:22:17.78 ID:EWU8L+d2.net >>681 その点ではRustのtraitが最も良いね Rustのtraitでのデフォルト実装は各型のメンバーや固有メソッドを呼び出せないので実装継承の問題が起きない そのtrait(とそのtrait制約)のメソッドしか呼び出せないから移譲と合成の形になる
686 :デフォルトの名無しさん :2024/01/19(金) 22:54:39.62 ID:2Txscu7W.net >>685 こういう感じで言語によって前提が違う場合があるから抽象的な議論の有効性はかなり微妙
687 :デフォルトの名無しさん :2024/01/19(金) 23:13:57.01 ID:k/iqMx14.net >>685 はい残念 Traitのデフォルト実装も実装継承だからクラス継承のデメリットの大半を”継承”してる メリットとデメリットを理解して使い分けられるようにならないうちは結局のところ何使っても同じ
688 :デフォルトの名無しさん :2024/01/19(金) 23:19:40.83 ID:EWU8L+d2.net >>687 いいえ 説明したようにRustのtraitに実装継承はありません
689 :デフォルトの名無しさん :2024/01/19(金) 23:28:42.74 ID:2Txscu7W.net 何で堂々と嘘つく? 嘘言った人謝ってください
690 :デフォルトの名無しさん :2024/01/19(金) 23:32:10.71 ID:EWU8L+d2.net >>687 はコードを書いたことがないのか あるいは意図的に嘘ついているのか
691 :デフォルトの名無しさん :2024/01/19(金) 23:44:00.48 ID:jOoBVxG+.net インターフェースは継承と違ってインターフェースもとのプロパティをオーバーロードして定義し直すから、継承のわけわからん隠蔽されてないプロパティでごっちゃごちゃにならないのがいい(java民)
692 :デフォルトの名無しさん :2024/01/20(土) 02:15:01.44 ID:pJVjc8l1.net オブシコくんどこいったん? インターフェイスは人間が理解しやすくするためのものだと力説しなよ
693 :デフォルトの名無しさん :2024/01/20(土) 02:28:42.63 ID:9SMgv4xr.net 疑似マルチスレッド君も反応ないんやけど、こないならQiita更新してくれよー
694 :デフォルトの名無しさん :2024/01/20(土) 03:07:14.53 ID:ppE6WkEJ.net >>685 >>687 これはデフォルト実装が同じtrait内メソッドと結合することまで実装継承と言うか話なんじゃないかな 実装継承の定義をtraitに拡張する時に生じた無理が意味の拡散を産んで無意味な争いを招いただけというかなんというか
695 :デフォルトの名無しさん :2024/01/20(土) 03:09:43.76 ID:ppE6WkEJ.net 書き途中で「書き込む」ボタンを押しちゃった。てへ >>685 >>687 これはデフォルト実装が同じtrait内のメソッドと結合することまで実装継承と言うかという話なんじゃないか 実装継承の定義をtraitへ無理やり拡張する時に生じた意味の拡散ですれ違ってるだけに見える
696 :デフォルトの名無しさん :2024/01/20(土) 05:41:23.80 ID:OqC8H1ED.net >>694 そもそもはある具体型A(もしくはクラスA以下同様)の実装が別の具体型Bの実装として継承されることを指すよね 一方でRustのトレイトのデフォルト実装では具体型の実装は全く出て来なくて具体型とは切り離されているよね したがってある具体型の実装が別の具体型の実装として継承されることは起きないため明確かな
697 :デフォルトの名無しさん :2024/01/20(土) 09:43:00.30 ID:tKcafxZR.net 継承用の基底クラスを提供するのはライブラリやフレームワークで、フロント屋はその提供された基底クラスを継承して使う フロント屋は用意された基底クラスを使う以外はインターフェースやシールドクラスで継承もどきをやるだけで事足りてる
698 :デフォルトの名無しさん :2024/01/20(土) 10:27:27.05 ID:mMSNo4e1.net staticおじさんが結局正しかったね。
699 :デフォルトの名無しさん :2024/01/20(土) 10:38:22.56 ID:WbtYcj4O.net うん、知らんけど
700 :デフォルトの名無しさん :2024/01/20(土) 11:13:01.53 ID:ppE6WkEJ.net >>696 いま思い出したことなんだけど。具体型の継承はできないと思うけど、traitをtraitに実装するということが出来る traitAにデフォルト実装を書いて、traitBに実装すると、traitBを実装した型はtraitAのデフォルト実装を引き継ぐ
701 :デフォルトの名無しさん :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を実装するため自動的に利用可能) }
702 :デフォルトの名無しさん :2024/01/20(土) 11:37:18.66 ID:ppE6WkEJ.net Rustに多重継承は存在しないという場合、意味的にはフィールドを継承しないことと、 スーパートレイトを使用すれば、トレイトのデフォルト実装を別のトレイトに暗黙では引き継がないことを指すんじゃないかな かな、というのは、まあここら辺は人によって受け取り方が違うから議論しても仕方のないことなんだけど
703 :デフォルトの名無しさん :2024/01/20(土) 12:00:42.41 ID:+uoYRouQ.net >>700 >>701 それは実装継承ではないよ なぜならtraitは具体型ではなく、さらにRustの場合はデフォルト実装から具体型の固有フィールド(メンバ変数)や固有メソッドに一切アクセスができない つまり実装継承における問題が発生しない
704 :デフォルトの名無しさん :2024/01/20(土) 12:26:39.60 ID:pJVjc8l1.net 実装継承ではないのか、実装継承における問題が発生しないだけなのか、どっちなんだい?
705 :デフォルトの名無しさん :2024/01/20(土) 12:38:21.50 ID:+uoYRouQ.net >>704 両方 まず実装継承とは具体型の実装が別の具体型に継承されることだから該当しない 次に>>701 が例示している件に対して >// TraitBをTraitAを実装するすべての型に対して実装する >impl<T: TraitA> TraitB for T {} これは実装継承ではないだけでなく、類似しているように見えても、実装継承の問題と同じことは発生しない
706 :デフォルトの名無しさん :2024/01/20(土) 12:39:32.26 ID:BTn7foKi.net 実装継承ができないと不便じゃない? リソース管理を一元化したくなったりとかしないの?
707 :デフォルトの名無しさん :2024/01/20(土) 12:40:39.50 ID:BTn7foKi.net Rustにも実装継承はあるんじゃないかな
708 :デフォルトの名無しさん :2024/01/20(土) 12:53:48.29 ID:UT8XEnd7.net >>706 Rustでは異なる型の間でコードを共有一元化するためにトレイト制約を使ってジェネリックにコードを書ける そのコードは特定の型に対して一切書かれていないため実装継承とならないだけでなく実装継承と類似の問題も発生しない >>707 Rustに実装継承はない
709 :デフォルトの名無しさん :2024/01/20(土) 12:58:32.97 ID:S3QqAIL4.net ジェネリックで書いてコンパイラに整合性を取らせる うむ、完璧だ
710 :デフォルトの名無しさん :2024/01/20(土) 13:04:04.37 ID:BTn7foKi.net Structの合成があるじゃないか 実装継承の問題が発生しないのはわかったけど 実装継承の便利さが失われてたら元も子もないじゃん リソース管理を一元化したくなったりとかしないの?
711 :デフォルトの名無しさん :2024/01/20(土) 13:08:56.68 ID:BTn7foKi.net オブシコは機能とデータを一緒に管理することだけど それができないRustは不便なのでRustは滅びます
712 :デフォルトの名無しさん :2024/01/20(土) 13:16:14.55 ID:UT8XEnd7.net >>709 Rustはそのためにトレイト制約がありコンパイラは整合性を必ず確認できる >>710 Rustではトレイト制約を伴うジェネリックコードにより異なる型間でも安全にコードを共有化できる >>711 Rustでも型(データ)に対してメソッド(機能)を実装できる
713 :デフォルトの名無しさん :2024/01/20(土) 13:18:48.25 ID:BTn7foKi.net >>712 データにメソッドを生やして継承もできるん?
714 :デフォルトの名無しさん :2024/01/20(土) 13:20:04.95 ID:BTn7foKi.net オブシコにおいて実装の継承は正義です Rustに正義はあるのかを問うています
715 :デフォルトの名無しさん :2024/01/20(土) 13:34:19.14 ID:UT8XEnd7.net >>713 やりたいことの本質は異なる型の間でのコードの共有一元化でしょう Rustではトレイト制約を用いて特定の型に依存しない形でコードの共有一元化ができます >>714 オブジェクト指向に実装の継承は必要ありません
716 :デフォルトの名無しさん :2024/01/20(土) 13:35:44.30 ID:JKkFvgES.net 誰かさ、適当な文法で単一のC言語ソースファイルを出力するトランスレータ作ってくんない? 仮想関数テーブルとかRTTIとかそれならなんとかなるだろ?
717 :デフォルトの名無しさん :2024/01/20(土) 13:36:27.03 ID:BTn7foKi.net じゃあオブシコはオワコンかも知れませんね
718 :デフォルトの名無しさん :2024/01/20(土) 13:44:22.78 ID:tKcafxZR.net さすがRust有識者だ😳 トレイトへの理解度が高い
719 :デフォルトの名無しさん :2024/01/20(土) 14:51:20.08 ID:pJVjc8l1.net 継承はすべてのオブジェクトに共通のデータと手続きを強制するからな 途中で一部しか共通してないオブジェクトの存在が判明したら、 クラスツリーをがっつり再設計しないといけなくなる こんなものをオブシコに入れちゃったやつの罪は深い
720 :デフォルトの名無しさん :2024/01/20(土) 15:05:28.23 ID:UvH2GUkc.net >機能とデータを一緒に カリー化された関数を部分適用すればいい じゃあ何故カリー化と部分適用はオワコンではないのか 無意味だからだ 意味を見出せないから終わったという判断もできない
721 :デフォルトの名無しさん :2024/01/20(土) 15:06:09.94 ID:ppE6WkEJ.net 能力の高いプログラマーしかプロジェクトに参加しないこと前提ならば継承の副作用は目立たないけど Javaのような大規模開発向けの言語に継承を入れたのは間違ってたなあ Javaの仕様を考えた時は、親クラスは能力の高いエンジニアが書くという前提だったんだろうね
722 :デフォルトの名無しさん :2024/01/20(土) 15:25:38.27 ID:WbtYcj4O.net >>719 再設計は不要 はい光速の論破
723 :デフォルトの名無しさん :2024/01/20(土) 15:56:26.55 ID:BTn7foKi.net 大規模開発向けにはRustを採用すべきだ
724 :デフォルトの名無しさん :2024/01/20(土) 16:02:56.24 ID:JKkFvgES.net アスペクト指向との統一解ってことなのかな ろくに勉強してないんだけど
725 :デフォルトの名無しさん :2024/01/20(土) 16:28:12.97 ID:JKkFvgES.net もともとアスペクト指向の提唱者たちが言い始めたことだからね どんなに上手くクラスツリーを設計しても何らかのコードを横断的に埋め込みたくなるニーズがなくならないって
726 :デフォルトの名無しさん :2024/01/20(土) 17:05:53.11 ID:pJVjc8l1.net >>722 つまんねーのに無理すんな
727 :デフォルトの名無しさん :2024/01/20(土) 23:20:19.94 ID:ppE6WkEJ.net Rustは学習コストが重すぎるからねえ スタックフレームとか、ライフタイムとか、そこら辺の知識は普通のPGには余計だろう Rustのスクリプト言語版が出たら流行るかなー
728 :デフォルトの名無しさん :2024/01/21(日) 00:07:59.00 ID:bASnz3O7.net RustじゃなくてもGoくらいでちょうどいい
729 :デフォルトの名無しさん :2024/01/21(日) 08:12:46.78 ID:yW5L0zfB.net >>723 お前Rustのことわかってない上にプログラムできないじゃん つかとっとと埋めてしまえよこんなスレタイだけでキチガイがわくスレ 真面目に語りたい人ならマ板でやる
730 :デフォルトの名無しさん :2024/01/21(日) 11:29:38.85 ID:oaoSrz7+.net >>729 俺のことは関係ない、俺は世の中のことを言ってる そんなことも読み取れない認知能力チンパンジーの分際で 俺様に文句言うなんて100年早えわ お前はRustだけ頑張ってろアホンダラ 俺は日本の未来を考えとく
731 :デフォルトの名無しさん :2024/01/21(日) 11:31:12.83 ID:oaoSrz7+.net Rustの未来も俺が決める Rustはもっとオブシコ頑張ったが良い Rustは学習コストが高すぎると言われている これはオブシコで解決できるはずだ
732 :デフォルトの名無しさん :2024/01/21(日) 13:06:59.82 ID:JVSLhHIM.net Rustってそんなに学習コストが高いか? C++11以降のがトチ狂ってると思うんだけど
733 :デフォルトの名無しさん :2024/01/21(日) 13:40:55.67 ID:FqjwRk5K.net スマポより生ポのが気持ちいい だからわたしは生ポインタ
734 :デフォルトの名無しさん :2024/01/21(日) 15:09:59.21 ID:LGH4j5ie.net >>705 >まず実装継承とは具体型の実装が別の具体型に継承されることだから該当しない これは間違い 実装継承とは文字通り「実装」が「継承」されること <== この意味を理解できるかどうかが重要 実装継承における問題というのはこれも文字通り「実装」が「継承」されることによって起きる 継承元が具体型扱いかどうかは関係ない >>704 >実装継承ではないのか、実装継承における問題が発生しないだけなのか、どっちなんだい? Rustのトレイトデフォルト実装は実装継承の一種でもあるし、実装継承ににおける問題も発生する C++等一部の言語で発生する実装継承における問題の一つが発生しにくいようになってるだけ
735 :デフォルトの名無しさん :2024/01/21(日) 21:44:12.50 ID:r/H1GIpX.net >>734 Rustに実装継承はない Rustのトレイトのデフォルト実装では、いわゆるメンバ変数やメンバ関数にアクセスできない したがってRustでは実装継承と同様の問題は発生しない
736 :デフォルトの名無しさん :2024/01/22(月) 00:42:25.64 ID:CM1Sn+EA.net トレイトはインターフェースとも継承とも違う新しい考え そこを誤解してはならない
737 :デフォルトの名無しさん :2024/01/22(月) 02:11:51.31 ID:d/h6/f8z.net >>735 実装は継承してるけれども実装継承ではない? 「募ってはいるが募集はしていない」より酷くね?
738 :デフォルトの名無しさん :2024/01/22(月) 02:24:04.21 ID:WDLNMI9J.net >>737 Rustに実装継承はない Rustのトレイトのデフォルト実装からは、いわゆるメンバ変数やメンバ関数にアクセスできない メンバ変数やメンバ関数にアクセスできる部分はトレイトのデフォルト実装から分離されている その部分はトレイトを実装するときに各型で個別に実装する したがってRustでは実装継承はなく問題も発生しない
739 :デフォルトの名無しさん :2024/01/22(月) 12:41:11.25 ID:SpT9Xs4x.net 実装継承は派生側に開放する部分と基底側で閉鎖する部分の管理が難しいから、やはり「早すぎる最適化」になりがち。 開放/閉鎖の原則を守るためには基底側と派生側のインターフェイスとプロトコルを厳密に管理する必要があるけど、そこまでサポートしているオブジェクト指向言語てあったっけ?
740 :デフォルトの名無しさん :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
741 :デフォルトの名無しさん :2024/01/22(月) 15:21:25.58 ID:eIK4O4RB.net 最新鋭のRust言語と同等の最小コンパイル単位でよければもっとクリーンなオブジェクト指向言語があり得たって話で、 残念なことに30年前のハードウェアでやんなきゃいけなかった 仮想関数の方がデフォであるようなC++ 文字列じゃなくて関数ポインタの配列のインデックスであるようなObjective-C ガベコレの無いJava こだわる人は今からでも作ればいい ソースを一気に引数に取って単一のC言語のソースファイルを出力するトランスレータを作ればいい
742 :デフォルトの名無しさん :2024/01/23(火) 22:17:38.84 ID:3AfREKFo.net オブシコプログラムの難しいところってオブジェクト同士の連携が オブジェクトに書かれるところだと思うんだよ 全体のフローがよくわからなくなる オブジェクトには自律的に他のオブジェクトと連携することをやらなくさせて コーディネートする処理を関数型や手続き型で書くのがいんじゃないかね 昔はオブジェクトが知性を持ってるかのように書くのが良いオブシコだと言われてたけど スパゲティ製造工場にしかならんかった
743 :デフォルトの名無しさん :2024/01/23(火) 22:19:52.82 ID:lLzKFCPg.net ObjectiveCの[]←こんな奴でメッセージ送ると幸せになれるよ
744 :デフォルトの名無しさん :2024/01/23(火) 22:19:59.28 ID:3AfREKFo.net フロー制御をオブシコでやりだしたら危険信号、これがぼくの経験から導き出された結論
745 :デフォルトの名無しさん :2024/01/23(火) 22:23:03.86 ID:PPNQFWhj.net おしりがおまんこになっちゃうのがオブジェクト指向
746 :デフォルトの名無しさん :2024/01/24(水) 00:11:12.99 ID:X/KtyNlm.net >>738 基本的な実装継承の問題を理解してないから話噛み合わないね メンバ変数・メンバ関数の話はFragile Base Class Problem(FBCP)について言及してるつもりなんだろうけど メンバ変数やメンバ関数にアクセスできるかどうかはFBCPの根本的な発生条件とは関係ないよ 継承元のメソッド実装がオーバーライドされた継承先のメソッドを呼び出せるならFBCPは発生する 当たり前だけどFBCPは実装継承の問題のうちの一つであってすべてではないからね ちなみにトレイトのデフォルト実装も別のトレイトのメソッド経由でメンバ変数やメンバ関数にアクセスできる クラス継承でベースクラスのメソッドがオーバーライドされたメソッド経由でメンバ変数やメンバ関数にアクセスするのと同じ
747 :デフォルトの名無しさん :2024/01/24(水) 00:14:41.63 ID:1XOdKji/.net >>744 イベントループをブラックボックス化したのは 「次のイベント」の種類ごとに分岐する際にifならbool値、switchなら整数のようなものしか 使えない言語の問題をライブラリでなんとかしようとした結果だ
748 :デフォルトの名無しさん :2024/01/24(水) 00:16:21.62 ID:X/KtyNlm.net ついでに言っておくとRustのDeref/DerefMutも実装継承の一種なんだけどこっちはFBCPは発生しない
749 :デフォルトの名無しさん :2024/01/24(水) 02:14:43.30 ID:fgSFyL+S.net >>746 Rustには基底クラスが存在しないため FBCPも含めて実装継承に関する問題は発生しないよ
750 :デフォルトの名無しさん :2024/01/24(水) 12:30:29.92 ID:JqKAHMdE.net 影響力ゼロの人がどれだけオワコンオワコン繰り返しても全く影響無い。
751 :デフォルトの名無しさん :2024/01/24(水) 13:30:09.74 ID:1XOdKji/.net それなら人の力ではなく天変地異の影響を主に想定したほうがいい
752 :デフォルトの名無しさん :2024/01/24(水) 16:22:26.10 ID:XaeHtqc/.net 妻がダイエットのために乗馬を始めたんだけど一ヶ月で10キロ痩せたよ 馬がね
753 :デフォルトの名無しさん :2024/01/27(土) 12:58:37.96 ID:mbfTQf92.net has a関係は被害者と加害者が別人で、責任の連鎖がある 鎖を切って悪い影響を0にする変更はしやすい is aは影響力を不変にする 責任の連鎖をなくして自分自身の責任とする
754 :デフォルトの名無しさん :2024/01/27(土) 19:38:08.87 ID:w8m8MtP7.net 241 伝説の名無しさん sage 2020/10/13(火) 15:00:15.08 「胸がドキドキする」というのはいわば生理現象であり、抑えることはほぼ不可能だ。 月末のクレジットカードの支払額に、想像以上に可愛かったデリヘル嬢のおマンコにと胸を 突かれるのは悪いことではない。 翻って「チンポがシコシコする」というのは能動的な衝動であり、極めて不埒な責任転嫁である。 シコシコはチンポが勝手にやったことであり、決してチンポの持ち主の意向ではないという、どこぞの 政治家の「秘書が勝手にやったこと」のような言い逃れがしばしば聞かれ、あまつさえそれがまかり 通ってきたことは周知の事実である。 チンポからシコシコを奪取し、各人の掌に戻る日は果たしてやってくるのだろうか……。
755 :デフォルトの名無しさん :2024/01/27(土) 22:55:15.08 ID:QdyqwSfC.net 責任という概念自体に違和感を表明する者がよくいるが 馬クラスと動物クラスには責任の擦り合いや利害対立がなさそうなところが共感されるんじゃないか
756 :デフォルトの名無しさん :2024/01/27(土) 22:55:50.75 ID:BuZgAgXz.net 令和になっても継承批判は聞きたくないね 手垢ついてるとかいうレベルじゃないぞ OOPには価値がない OOPのメリットとやらは無意味だ というふうな大きい批判が聞きたい
757 :デフォルトの名無しさん :2024/01/27(土) 22:56:54.43 ID:BuZgAgXz.net あ、>>756 は別に特定のレスにむけたレスじゃなくて ざっくりとした意見ね
758 :デフォルトの名無しさん :2024/01/27(土) 23:08:28.46 ID:9xE1RMNT.net オブジェクト指向は継承という一つの要素が終わっただけだしなあ 未だ現役すぎる
759 :デフォルトの名無しさん :2024/01/28(日) 00:58:58.58 ID:stV8Z8Wq.net 何らかの違和感の解消がオブジェクト指向のメリットだとするなら 元から違和感などなかった奴にとって無価値である
760 :デフォルトの名無しさん :2024/01/28(日) 03:30:55.01 ID:z8UBzo+x.net 5chになにを期待してんだかな
761 :デフォルトの名無しさん :2024/01/28(日) 14:48:42.54 ID:EVWA08mD.net >>756 概念的にはインターフェイスとコンポジションに発展的解消したから、オブジェクト指向はオワコンだろ。
762 :デフォルトの名無しさん :2024/01/28(日) 14:56:56.93 ID:z8UBzo+x.net インターフェイスもコンポジションも人間が簡易に理解するためのものだろ なめてんのか
763 :デフォルトの名無しさん :2024/01/28(日) 15:18:10.03 ID:gBYyPSdU.net >>761 それオブジェクトの継承が別の概念に変わっただけでカプセル化とポリモーフィズムは健在じゃん… もっとおもしろいこと言ってくれ…
764 :デフォルトの名無しさん :2024/01/28(日) 16:44:30.08 ID:nAHL+G+L.net オブジェクト指向プログラミングのコアコンセプトは「データと操作をまとめて一つの型として扱うこと」これだけ オブジェクト指向プログラミングではなくオブジェクト指向言語といった場合は ブーチの定義が普及したせいでカプセル化、ポリモーフィズム(基本はサブタイプポリモーフィズム)、継承の3点セットを基準にすることが多いが 言語機能としての継承はオブジェクト指向プログラミングに必須のものではないし ポリモーフィズムもオブジェクト指向言語特有のものではないので両方ともコアコンセプトではない
765 :デフォルトの名無しさん :2024/01/28(日) 17:24:51.96 ID:EVWA08mD.net >>763 オブジェクトのカプセル化はインターフェイスとデータを密結合するけど、インターフェイスによるカプセル化はデータと密結合しない。 オブジェクトのポリモーフィズムはオブジェクト同士が(継承関係とかで)密結合するけど、インターフェイスは継承関係とかの密接な関係を結ぶこと無しに(理想的には)ダックタイピングで多態できる。 まあ、そこまでのダックタイピングをサポートするインターフェイスとか知らんけど。 c++のコンセプトがそのまま型になったらいいんだけどなぁ。
766 :デフォルトの名無しさん :2024/01/28(日) 17:54:19.13 ID:uVCrPT47.net オブジェクトという言葉と同じでカプセル化という言葉は人によって意味が違うので困る
767 :デフォルトの名無しさん :2024/01/28(日) 19:52:00.86 ID:cMZBK/kO.net 70 名無しヒーリング 2021/04/26(月) 09:45:57.57 ID:jZDy/LpM 先生、実際にシコシコするのはチンポでなく俺の右手だと思います。 ✖チンポがシコシコする ○ 俺の右手がチンポをシコシコする 71 名無しヒーリング 2021/04/26(月) 09:56:38.18 ID:jZDy/LpM あと、「胸がドキドキする」と「チンポをシコシコする」は比較対象になりません。 「胸がドキドキする」は「チンポがヒリヒリする」のように状態・感覚を擬音語で現しているのであって、 「チンポをシコシコする」は「胸をモミモミする」の様に人間や動物が対象に対して何かを行う行為の表現だと思います。
768 :デフォルトの名無しさん :2024/01/29(月) 09:05:57.54 ID:MhZcn14S.net くだらない比喩でいつまやってんだ?
769 :デフォルトの名無しさん :2024/01/29(月) 15:05:39.33 ID:oNy2vKqL.net >>767 だからシコシコは男性器を擦る擬音で勃起のことではない 君は女性かな? それともシコシコが勃起を表す地方が日本のどこかにあるのか どっちにしろいくらがんばってもメジャーなコピペになれないのは大多数の人に表現がピンとこないのが原因だと思うよ
770 :デフォルトの名無しさん :2024/02/01(木) 21:11:10.96 ID:RS6y7MOu.net PHPでアブストラクトやりまくってる これやってればいい ここまで来るのに2年かかったわ
771 :デフォルトの名無しさん :2024/02/04(日) 19:38:06.66 ID:/UMw8Y/Y.net 再利用しようにもパーツに分解できない大きなプログラムのスパゲッティ化を防ぐために ひと塊のルーチンを“関数”として入り口出口を決めましょうがカリー化まで続く一方の流れで その塊をどうやって集団として機能に固めたり制御するのかを考えるのがオブジェクト指向 そういう上位レベルでの制御やメンテナンスの汎用的な考えから出てきた概念を 小さいレベルでのプログラムAの脚を車輪に付け替えるにはとか プログラムAの塊を継承してプログラムBにするのが“オブジェクト指向”なんだよ!って 鬼子でしかないC++最初に来ちゃったせいで現代に至るまで あれがオブジェクト指向だと思い込んでるおじいちゃんがですね…
772 :デフォルトの名無しさん :2024/02/04(日) 20:30:59.20 ID:owhn6I10.net おじいちゃん構文丸出しでおじいちゃん批判ww しかも中身が間違いだらけとかwww
773 :デフォルトの名無しさん :2024/02/04(日) 21:58:45.40 ID:nqsMiwRK.net インターフェース楽しいな~ 継承無しでコーディングできる~
774 :デフォルトの名無しさん :2024/02/04(日) 23:05:40.25 ID:iyTJzl7x.net 塊って言いたいだけ
775 :デフォルトの名無しさん :2024/02/04(日) 23:11:46.13 ID:SuDI4pWX.net >ひと塊のルーチンを“関数”として入り口出口を決めましょう これ現役引退してるような世代の方ですよね?
776 :デフォルトの名無しさん :2024/02/05(月) 10:19:20.77 ID:z455Qu8w.net 役割で固めるってのを忘れてる
777 :デフォルトの名無しさん :2024/02/05(月) 11:38:56.86 ID:iuJxPrpx.net 横断的関心事の意味が分からんと常々思っていたけど 役割で固めるのをやめるという意味なのかね 固めようと思ったことがない奴にとっては無意味なことだ
778 :デフォルトの名無しさん :2024/02/05(月) 12:31:22.93 ID:29NJAnme.net 横断的にシコシコする役割の塊がオブシコである
779 :デフォルトの名無しさん :2024/02/05(月) 17:30:42.79 ID:UM+1T8m6.net オブジェクト指向はモジュラリティを高めるために考え出されたものだが「どの抽象化階層のモジュラリティを高めるものなのか」という大前提を理解していないと何を見てもオブジェクト指向だと感じるようになる
780 :デフォルトの名無しさん :2024/02/05(月) 23:45:04.18 ID:29NJAnme.net そりゃオブシコするぐらいだからモジャラリティは高いだろ
781 :デフォルトの名無しさん :2024/02/07(水) 14:59:43.29 ID:LJRNIYaK.net 1. 簡単な言葉を使う 頭が良い人は、複雑なことや専門知識も「簡単な言葉」で説明することができます。 この能力は、深い理解があるからできること。相手が理解しやすいように情報を整理して伝えることは思いやりでもあります。 https://news.yahoo.co.jp/expert/articles/9bb7a62121796847a941127e3d5040008fedd464 クリントン大統領にどんな強大な権限が有っても、自らのチンポがしこしこしてしまうのは止められない! class チンポ extends クリントン{ super.不適切な関係; } クリントンの再定義、クリントンの拡張された人格ということだ!
782 :デフォルトの名無しさん :2024/02/13(火) 12:31:45.94 ID:1UgkqCq+.net 世界一オブジェクト指向に忠実なメインクラスできたで class Main(): def do(): pass m=Main() m.do()
783 :デフォルトの名無しさん :2024/02/13(火) 15:11:48.80 ID:g/oXQBQp.net オブジェクト指向はオワコン 継承はよくない文化
784 :デフォルトの名無しさん :2024/02/13(火) 17:38:57.37 ID:TeIoV+iR.net Template Methodパターン便利ですよ
785 :デフォルトの名無しさん :2024/02/13(火) 18:33:53.66 ID:vbRTXFPD.net has a関係は抽象度の低いクラスを参照することはマナー違反ではない is a関係は自分よりも抽象度低いクラスを継承したらマナー違反だよな
786 :デフォルトの名無しさん :2024/02/13(火) 19:00:08.50 ID:mLNp/E4P.net 継承を理解してれば問題無い 理解していないけどら問題無く使える道具は存在しない つまり須く低レベルということ
787 :デフォルトの名無しさん :2024/02/13(火) 19:17:02.49 ID:022XTqy3.net >>786 俺は使えるから問題ないんだが部下や上司に無能がいると困る 全ての言語で機能ごと消去するべき
788 :デフォルトの名無しさん :2024/02/13(火) 19:19:14.84 ID:cHpLMfgk.net C/C++でいいところを無能のためにRustでわざわざメモリ管理を強制的に縛るのと一緒やね
789 :デフォルトの名無しさん :2024/02/13(火) 19:54:20.90 ID:XGO25OBO.net オブジェクト指向って>>1 みたいな頭の悪い人でもプログラミングできるようにするためにあるんだよ 難しいのは>>1 みたいな馬鹿が>>1 みたいな馬鹿のためにオブジェクト指向に則ってプログラミングする行為であり、>>1 みたいな馬鹿がオブジェクト指向で設計されたコードを扱うのは難しくない オブジェクト指向がオワコンな訳が無い
790 :デフォルトの名無しさん :2024/02/13(火) 20:27:17.94 ID:mLNp/E4P.net >>787 無能がいる限り何の解決にもなってない リスクが下がったと勘違いしてるだけ
791 :デフォルトの名無しさん :2024/02/13(火) 20:32:56.11 ID:VRA/nuAd.net >>788 Rustを使えない無能がC/C++を使って穴を生み出し続けている現実を見ようぜ
792 :デフォルトの名無しさん :2024/02/13(火) 21:20:27.36 ID:mLNp/E4P.net >>791 その無能がrust使ったところでろくなものは生み出せない 包丁で怪我する人がいるから包丁は悪、と言ってるのと同じ。 別に主張するのは自由だがそれで包丁が消滅することはない
793 :デフォルトの名無しさん :2024/02/14(水) 03:16:18.02 ID:7f34VUqx.net 頭の悪い人がプログラミングできるためってたまに見るけど疑わしいわ 頭の悪い人がちゃんと設計して、多態性を活用してるのを見たことがない ただメモリの自動解放とかライブラリに頼ってるだけで、 そういう利便性はオブジェクト指向とあんまり関係なくね?
794 :デフォルトの名無しさん :2024/02/14(水) 06:53:24.91 ID:1rro2+lE.net 知らないのか?今は転職ブームのせいで文系出身の頭悪いプログラマが大量発生してる そいつらのせいで言語が変わらなくては生けない時代になった
795 :デフォルトの名無しさん :2024/02/14(水) 08:07:28.98 ID:M2AyybwD.net 言語が変わっても頭悪かったらどうにもならないよw
796 :デフォルトの名無しさん :2024/02/14(水) 08:40:34.28 ID:y6T/tEC4.net >>795 多少はマシになるやろ
797 :デフォルトの名無しさん :2024/02/14(水) 10:07:41.88 ID:M2AyybwD.net >>796 無能じゃコンパイル通せないから動かせない つまり逆に悪くなってる
798 :デフォルトの名無しさん :2024/02/14(水) 10:15:13.33 ID:Z6/Yikm0.net >>797 無能が進捗管理で炙り出されるから全然マシ
799 :デフォルトの名無しさん :2024/02/14(水) 10:46:51.26 ID:4THDuETy.net >>797 本番段階でバグが出るよりマシ
800 :デフォルトの名無しさん :2024/02/14(水) 11:08:35.63 ID:t8DY/Tt9.net コンパイル通すのが難しいと無能はコンパイル通ったからOKという感覚になるので一長一短 何事も良い面悪い面があるのに無能は片面だけしか見ない
801 :デフォルトの名無しさん :2024/02/14(水) 11:22:35.02 ID:1xW2DpZI.net >>800 最低限コンパイラの通れば多少見れるコードになってるので、有能がコードをレビューしやすい
802 :デフォルトの名無しさん :2024/02/14(水) 12:27:44.94 ID:M2AyybwD.net >>798 それは言語の役割じゃない 全然マシでもなんでもなくて草
803 :デフォルトの名無しさん :2024/02/14(水) 12:31:09.06 ID:M2AyybwD.net >>799 どっちでも一緒 納品できないのに「本番でバグが出るよりは良い」と言い張るのはアタオカ
804 :デフォルトの名無しさん :2024/02/14(水) 13:02:59.82 ID:qQWVhIbb.net 現実は納期というものがあるから効率重視でCC++使って適当に作れたほうがありがたいんだよなあ バグなんてある程度は知らんぷりしていい わざわざRustを使って完璧を求めるのは無駄
805 :デフォルトの名無しさん :2024/02/14(水) 13:03:09.87 ID:OE64F1T2.net 長所も短所も両方知っている知識人を理想とするのは 商売とはあまり関係ない理想だ 商売を重視しないのであれば長所も短所もわりとどうでもいい
806 :デフォルトの名無しさん :2024/02/14(水) 13:18:52.38 ID:U1pcKTg+.net >>801 コンパイルを通しやすいかどうかとコードが見やすくなるかどうかに正の相関関係は無い 加えてコンパイルを通しにくくなればなるほどコンパイルを通すための手助けが当然必要になる 「身の丈に合った言語を」 by 萩豚
807 :デフォルトの名無しさん :2024/02/14(水) 13:20:42.45 ID:eD+V22zq.net Rust習得できない馬鹿が書いたC++コードの保守、やりたくなさすぎる
808 :デフォルトの名無しさん :2024/02/14(水) 13:57:57.05 ID:Z6/Yikm0.net >>803 本番でバグとか酷い炎上案件。 クライアントにとっては悪夢ですなぁ。 納期遅れのほうがまだ見える分マシ。
809 :デフォルトの名無しさん :2024/02/14(水) 13:59:03.81 ID:AmCG1+WQ.net >>806 コンパイルできる人材を確保できるかどうかは中途採用ガチャしまくればいける コンパイルできねえやつは捨てる、それだけだ
810 :デフォルトの名無しさん :2024/02/14(水) 14:56:27.36 ID:8lIAACZZ.net >>807 だれがあなたを頼るの?
811 :デフォルトの名無しさん :2024/02/14(水) 15:03:18.56 ID:8lIAACZZ.net >>808 都合良く「納品はできる」妄想を前提として話を進められるならどうとでもなる 結局無能でもどうにかなるなんて全く現実的ではない、rust信者の詐欺的妄言なのでどっちでも一緒
812 :デフォルトの名無しさん :2024/02/14(水) 16:53:53.91 ID:ry67cZRi.net >>809 技術者をまともに育成する術も評価する術も持たずガチャするしか脳の無い無能企業には有能なやつほど寄り付かない そうなると渋いと評判の某ガチャUR排出確率並み(0.3%)になるから100回回しても有能1人雇える確率は3割にも満たない 運良く雇えてたとしても数年以内に転職して抜ける確率は逆に8割以上 身の丈に合わない選択は破滅への近道
813 :デフォルトの名無しさん :2024/02/14(水) 17:49:37.27 ID:kwXXlBt4.net どこまでオブジェクト設計するべきかが良くわからん 例えばトランプゲームを作ろうとした時のカードについて 数字込みの絵柄と表示用の画像くらいしか必要ないと思うけど わざわざCardクラスCardDeckクラスとかを用意する必要があるの?とか
814 :デフォルトの名無しさん :2024/02/14(水) 18:11:12.61 ID:J37aOx7P.net Deckが内包するデータはCardの配列のみだとしても シャッフルやドローなんかの操作を配列として外から行うより Deckとして備えてる方がシンプルに保てそう
815 :デフォルトの名無しさん :2024/02/14(水) 18:32:43.17 ID:xYPMwtK4.net >>813 クラス以外のユーザー定義型がないならオブジェクト指向よりの作り方でなくてもCardクラスやCardDeckクラスくらいは作るんじゃない? それらにメソッドを生やしてゲームルールを実装していくのか それともそれらをデータとして扱う関数を別のところに書くことでゲームルールを実装していくのか それぞれ良い点悪い点があるので一度両方で作ってみるといいと思う
816 :デフォルトの名無しさん :2024/02/14(水) 18:36:07.49 ID:xYPMwtK4.net >>814 DeckモジュールとかGameモジュールにドローやシャッフルなどのDeckを操作する処理をまとめておくってのでも別に不都合ないよね?
817 :デフォルトの名無しさん :2024/02/14(水) 18:44:53.20 ID:OE64F1T2.net enumがオブジェクトではない言語では迷うが すべてがオブジェクトだったらenum Cardでいいのでは
818 :デフォルトの名無しさん :2024/02/14(水) 19:19:39.63 ID:g/tbjQoZ.net スートが切り札(トランプ)に変わるようなゲームでは 判定で「こいつはいまトランプだから」で例外処理するのか カード側で「いまトランプです」したらいいのかの設計の話だわな
819 :デフォルトの名無しさん :2024/02/15(木) 12:39:33.69 ID:q4O0G3u8.net >>793 >ライブラリに頼ってるだけで そのライブラリに頼ってるだけを実現できるのがオブジェクト指向の功績だと思ってる 昔のWin32APIみたいなライブラリとインスタンス生成してからインスタンス.メソッド形式で利用するライブラリと比較したらライブラリの扱いに対するお手軽&簡単度合いがぜんぜん違う
820 :デフォルトの名無しさん :2024/02/15(木) 19:49:13.54 ID:b088ZsVf.net いやwin32apiだろうがapiそのものがすでに「オブジェクト指向」だから 手軽とか簡単とかはオブジェクト指向とっくに通り越してそのように改良された結果ってだけ このスレ見てると「オブジェクト指向」が特別なナニカだと思ってる人も多くてアランケイも困惑するよw
821 :デフォルトの名無しさん :2024/02/15(木) 20:05:57.93 ID:Zy70aZMD.net 「オブジェクト指向」が特別なナニカじゃないのであれば、「オブジェクト指向プログラミング言語」は「プログラミング言語」でよくなってしまう これまで「オブジェクト指向プログラミング言語」という言葉を使った人間はとんでもないガイジということになる
822 :デフォルトの名無しさん :2024/02/15(木) 23:20:24.51 ID:ibzEiIzs.net 20年前のあれは何だった?どいつもこいつもオブジェクトだーと喚いてたくせに。屑どもが
823 :デフォルトの名無しさん :2024/02/16(金) 00:12:23.56 ID:L7DYjGhm.net ここまでくると糖質っぽいな オブジェクト指向はオワコンと言い続けて何年経過してんだよw
824 :デフォルトの名無しさん :2024/02/16(金) 06:40:28.27 ID:HTdB8AjD.net オワコンにオワコンと言ってなにが悪い
825 :デフォルトの名無しさん :2024/02/16(金) 08:47:18.11 ID:hfFr1EkU.net オブシコオhル けど、脳汁が出るのは、なんでもアリなC++なんだよなあ
826 :デフォルトの名無しさん :2024/02/16(金) 08:49:55.02 ID:TCjahJiL.net これこれ オウムみたいな感じ はなから議論をする気が無い オワコンオワコン繰り返して気持ちよくなるだけ
827 :デフォルトの名無しさん :2024/02/16(金) 17:46:12.70 ID:/xV361+6.net 非論理的=気持ちよくなる 専門用語を回避する現象?
828 :デフォルトの名無しさん :2024/02/16(金) 23:46:53.13 ID:7B7dg9RO.net 自分がオブジェクト指向で挫折したから あんなの一時の流行りでしかない!って喚いて溜飲を下げようとしてるけど そもそも理解しないで挫折してるから「あんなの」が永久に 90年代のC++の時の“自動車の車輪を付け替える”からアップデートしない
829 :デフォルトの名無しさん :2024/02/17(土) 01:14:52.71 ID:sBa/KHO/.net アップデートという目標は分かったが現時点では違う目標を持つ者にとって ふつうに考えると目標を達成するためには目標を変更しないのが合理的 問題は、どうすれば永久に合理的であり続けるのをやめられるか
830 :デフォルトの名無しさん :2024/02/17(土) 11:49:08.21 ID:f/G7Vx68.net オブシコで挫折してない人なんていません!!
831 :デフォルトの名無しさん :2024/02/17(土) 12:25:59.71 ID:hmS5aeTe.net 俺がいる 中途半端ってぶっちゃけ怖いよね >>826 議論っていうか、使えと言われた言語・ライブラリ(SDK)使うんだからね結局 好き・嫌い、とかって雑談してりゃいいんだよ 俺は、継承を使いこなせるいい漢になりたいぜ
832 :デフォルトの名無しさん :2024/02/17(土) 13:09:34.49 ID:SNH81JMI.net オブジェクト指向だろうがオブジェクト指向言語だろうが語りたいのならマ板でやれ 雑談どころかここで議論とか正気かよ。議論してもプログラム技術の役に立たないくらいわかるよな
833 :デフォルトの名無しさん :2024/02/17(土) 13:51:00.19 ID:f/G7Vx68.net >>831 はっきり言う、お前はオブシコのことを何もわかってない >>832 お前もだ オブシコは挫折してからが始まりだ
834 :デフォルトの名無しさん :2024/02/17(土) 13:53:44.82 ID:f/G7Vx68.net intではなくてMoneyだ Moneyを継承してYenを作れ stringではなくてAddressだ Addressを継承してPrefectureを作れ 本物のオブジェクト指向を経験しろ ぜったい挫折するから
835 :デフォルトの名無しさん :2024/02/17(土) 14:31:27.57 ID:JQbQK4DF.net >intではなくてMoneyだ 当たり前 >Moneyを継承してYenを作れ 意味不明 オブジェクト指向で作るならYenはMoneyの一属性 >stringではなくてAddressだ 当たり前 >Addressを継承してPrefectureを作れ 意味不明 オブジェクト指向だから挫折したのではなく間違ったオブジェクト指向を学ぼうとしたから挫折したんだな
836 :デフォルトの名無しさん :2024/02/17(土) 16:18:56.35 ID:f/G7Vx68.net ↑ オブシコ厨ってこんなシロートばかりなんですよ
837 :デフォルトの名無しさん :2024/02/17(土) 17:52:41.44 ID:chUgujl0.net >>832 ムに置いときゃ、ムに資するネタがまじるけどね 俺は後から来たけど
838 :デフォルトの名無しさん :2024/02/17(土) 17:56:31.13 ID:oJgej1EK.net >>835 MoneyにbaseCurrency問い合わせると“Yen”って返すように作るよなぁオブジェクトなんだから
839 :デフォルトの名無しさん :2024/02/17(土) 19:30:44.83 ID:2JOYf9WZ.net >>832 迷惑だからマに技術ネタ誘導すんな。
840 :デフォルトの名無しさん :2024/02/17(土) 23:59:55.91 ID:RsjvkJW8.net >>824 本当にオワコン化したものは話題にすらならんよ 今どきポケベルはオワコンなんてスレ建てる奴なんていないだろ? つまり、そういうこと
841 :デフォルトの名無しさん :2024/02/18(日) 02:06:18.29 ID:jMiNlzvA.net ポケベルを話題にした自分自身を否定するより オブジェクト指向にファイティングポーズする方がよっぽどポジティブじゃないか
842 :デフォルトの名無しさん :2024/02/18(日) 06:52:31.86 ID:AGcN1oEW.net APIやライブラリを一切使わず、自分自身で「処理をしてオブジェクトを返す部分」も作らずにどんなプログラムが作れるんだよ 現代でプログラム書いてるやつは意識しなくても使うしか無い手法じゃないか 使わずにHelloWorldすら書くのは超難しい
843 :デフォルトの名無しさん :2024/02/18(日) 07:05:06.57 ID:BTJ6Zkap.net システムコールだけでHello Worldやるの無茶大変だった思い出
844 :デフォルトの名無しさん :2024/02/18(日) 10:14:36.02 ID:5IBLHZNo.net API使ってればオブジェクト指向とか頭になんか湧いてるだろ
845 :デフォルトの名無しさん :2024/02/18(日) 10:16:24.04 ID:BTJ6Zkap.net >>844 そんなこと言われてなくね?
846 :デフォルトの名無しさん :2024/02/18(日) 11:06:51.79 ID:18G3CSzu.net 「APIそのものがオブジェクト指向」だと主張してるやつはいるね>>820
847 :デフォルトの名無しさん :2024/02/18(日) 12:13:41.03 ID:RIbrKfRB.net とりあえず1000行くらいベタ打ちでプログラム書いて 書いたのをリファクタリングついでにクラス分けして またダーッと書いてって繰り返せばいいよね?
848 :デフォルトの名無しさん :2024/02/18(日) 12:17:44.83 ID:NoFg1fuK.net >>847 今世紀に出てきた様々なプログラミング言語はほとんどがクラスをサポートしていない クラスは役に立たず害が大きいとの共通認識があるため
849 :デフォルトの名無しさん :2024/02/18(日) 13:06:18.47 ID:2M17hFnk.net >>848 バカの一つ覚え
850 :デフォルトの名無しさん :2024/02/18(日) 14:18:51.57 ID:jMiNlzvA.net APIは今でも関数とグローバル変数 stdinとかstdoutとか グローバル変数が一番最初にオワコン化し、オブジェクト指向は二番目以降と想定された
851 :デフォルトの名無しさん :2024/02/18(日) 16:50:37.61 ID:g+lvGDPK.net オブシコで書かれたAPIとかライブラリってのならある。ってなら書いた COMとかね 原理的には、ラッパがあれば、避けることはできる
852 :デフォルトの名無しさん :2024/02/18(日) 19:30:26.46 ID:K/iFT05J.net これで動くOSあるなら分からんでもない OS.boot()
853 :デフォルトの名無しさん :2024/02/18(日) 20:19:38.98 ID:FiBYienL.net 低レベルはまた違うでしょ ってだけではなんなので、ちょっとだけ手を動かしたよ https://github.com/tianocore/edk2/tree/master/MdeModulePkg/Library/UefiBootManagerLib
854 :デフォルトの名無しさん :2024/02/19(月) 01:20:09.81 ID:nPOSkLxV.net >>848 事実認識ができてない JavaScript、C#、Python、Ruby、C++、Java、Kotlin クラス扱える言語はいくらでもあるし、そもそもクラスや継承を使えない=オブジェクト指向じゃないって訳では無い クラスはお前みたいな馬鹿には使いこなせないからクラス以外でオブジェクト指向な書ける方法が模索されたんだよw
855 :デフォルトの名無しさん :2024/02/19(月) 01:36:14.67 ID:1O4I6mF/.net どの言語かに関係なく クラス継承でプログラミングするやつはバカしかいない
856 :デフォルトの名無しさん :2024/02/19(月) 02:23:23.32 ID:T5tehfX7.net 特定のルートクラスに縛られる継承はだいぶむかしにオブジェクト指向のあまり良くない実装として 仕様を残しながら使わない方がベターになってるわな 使うクラスをオブジェクトとして別個にクラスに組み込むコンポジションの方が主流 「継承というのがオブジェクト指向!」とかいつの時代のおじいちゃんだよ
857 :デフォルトの名無しさん :2024/02/19(月) 02:37:07.20 ID:TafNbO5j.net ↑2000年代で止まってるオッサン
858 :デフォルトの名無しさん :2024/02/19(月) 07:21:21.34 ID:94Ygw4Cz.net あの当時の人なら一度は、オレオレプロジェクトで継承を使いすぎた経験ってあると思うのね
859 :デフォルトの名無しさん :2024/02/19(月) 08:07:57.52 ID:GOMVHdKw.net 継承しまくって訳わからん事になるなら新しいクラスにした方がいいと思うけどなあ File -◯◯FileBase --◯◯FileStructure ---◯◯FileModel ----◯◯FileInstance みたいなのよりFile2を定義し直した方が遥かにマシ
860 :デフォルトの名無しさん :2024/02/19(月) 08:13:47.31 ID:Y0uHI/e6.net ファイル名なんかもそうだが File_20240219 のようなユニークIDつけておくといくら被っても困らない
861 :デフォルトの名無しさん :2024/02/19(月) 09:09:06.20 ID:94Ygw4Cz.net 重複(安易なコピペ)コードはちょっとでもいけませんってきつく言われて、 それを避けるように継承をテキトーに使いすぎた記憶はあるんだよね is-a 原則を守って、責任者が正しく設計しましょう
862 :デフォルトの名無しさん :2024/02/19(月) 09:20:08.17 ID:94Ygw4Cz.net 似たようなコードが出るなら、サブルーチンにすりゃよかったんだけどね あの頃は名前空間をあんまり使いこなせてなくて、なんでもクラスに押し込みゃいいと思ってた
863 :デフォルトの名無しさん :2024/02/19(月) 09:26:15.27 ID:5htgrxhu.net >>855 と、継承すら理解できない素人が申しております
864 :デフォルトの名無しさん :2024/02/19(月) 10:20:44.59 ID:stH4FHBR.net Rustが重複コードは二度と書かないってポリシーだっけ 最初の一歩踏み出すのにとんでもなく時間かかりそう
865 :デフォルトの名無しさん :2024/02/19(月) 10:25:51.91 ID:Xye0EN8a.net 何をもって重複コードとみなすのかなぁ たまたま別の機能で同じコードになったとかは まとめると後で痛い目に遭うよな?
866 :デフォルトの名無しさん :2024/02/19(月) 10:35:06.92 ID:62DfF/9H.net >>864 Rustは書かなきゃいけないボイラープレートが多いから重複コードも多い コピペ継承とマクロ継承がよく使われてる
867 :デフォルトの名無しさん :2024/02/19(月) 10:54:32.58 ID:VWZKMKLS.net c++ コンセプトをそのまま変数のインターフェイスに使えればなぁ、と思う事はある。
868 :デフォルトの名無しさん :2024/02/19(月) 11:18:30.32 ID:W0+AhDGC.net >>864 Rustも他の言語と同様に重複コードがあれば関数として切り出すだけだよ その時に異なる型に対してもトレイト境界により安全にジェネリック化がしやすく多用されてるね >>866 Rustは継承ではなく合成と移譲をするためその宣言は増えるけどそれらを重複コードとみなすのはありえないよ
869 :デフォルトの名無しさん :2024/02/19(月) 18:18:36.14 ID:NzCkUvZW.net >>868 どういう構造で作られているかは重複コードとみなすかどうかには一切関係ない 変更をロックステップで適用しなければいけないのならどういうものであれそれらは重複コード
870 :デフォルトの名無しさん :2024/02/20(火) 00:04:11.84 ID:LUfJNkJd.net スマポみたいな機能の重複回避には昔は継承を使った 今はジェネリクスを使う 昔の方法ではスタックのint型とヒープのInt型を統一できない
871 :デフォルトの名無しさん :2024/02/20(火) 02:06:05.00 ID:u4Uobn3a.net すべての型に対して全て同じ実装でよければジェネリクスで良いが一部の型でカスタマイズが必要になるといろんな障害が出てくる
872 :デフォルトの名無しさん :2024/02/20(火) 05:49:02.76 ID:/gOXQNrB.net >>871 それは普通によく起こることだが全く問題ない その型ごとの差異の機能を合成するだけで対応できる もちろんジェネリクスのままでよい
873 :デフォルトの名無しさん :2024/02/20(火) 06:10:00.38 ID:jusHGvnd.net インタプリタならそれでいいんだけどね。。(個人の感想です
874 :デフォルトの名無しさん :2024/02/20(火) 10:28:59.91 ID:EDso4HRp.net 一部の型でカスタマイズが必要な場合にジェネリクスを使おうとすると将来を見通したカスタマイズポイントを最初に確定しておく必要があって多くの場合現実的ではない 要はOCPを満たせないので変更に対して弱く保守性の低いプログラムになる 加えてRustではcoherenceの制限だったりspecializationやHKTが未サポートだったりで使える状況がかなり限定されている
875 :デフォルトの名無しさん :2024/02/20(火) 10:53:42.40 ID:C9p4KSn1.net >>873 Rustでも>>872 の「その型ごとの差異の機能を合成するだけでジェネリクスのまま対応」できるよ Rustは必要な機能のトレイト境界を指定することでコンパイル時点で静的にジェネリクスでも安全に呼び出すことが保証されるよ 呼び出し方法は静的ディスパッチによる単相化またはvtable利用の動的ディスパッチどちらも選択できるよ
876 :デフォルトの名無しさん :2024/02/20(火) 10:57:44.32 ID:cggt5bnJ.net そもそもRustが大規模開発にゃ向いて無い件
877 :デフォルトの名無しさん :2024/02/20(火) 11:08:20.16 ID:C9p4KSn1.net >>876 大規模開発もできるように作られたRustについて真逆のウソはよくないよ 既に大規模開発で採用しているGoogle Microsoft Amazonといった大手IT企業たちが 共同でRust Foundationを設立して資金を出して安定した環境でさらなる開発が進められているよ
878 :デフォルトの名無しさん :2024/02/20(火) 11:10:21.09 ID:z4RtXIEV.net それってまだ到達して無いって事じゃね?
879 :デフォルトの名無しさん :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」を開発し利 用していることを明らかにしました。
880 :デフォルトの名無しさん :2024/02/20(火) 13:22:34.01 ID:LUfJNkJd.net 大規模開発以外はオワコンゆえに構造化プログラミングはオワコン というのがオブジェクト指向の原点なのでオワコン論法を今更やめられない
881 :デフォルトの名無しさん :2024/02/20(火) 13:26:48.23 ID:oBR9eIxF.net >>877 そのどれもが大規模開発じゃ無いぞ 使われてるがチームは数名だぞ
882 :デフォルトの名無しさん :2024/02/20(火) 13:36:25.43 ID:AU1Zrlfs.net 数名で各ネットインフラをRustで開発できるなら今後はRustでいいな
883 :デフォルトの名無しさん :2024/02/20(火) 16:28:18.46 ID:ZAWp74Ua.net 「うちは大規模開発でやってる」という発言が出ないで、他人の情報に反応してそういう結論に切り替えるってことは つまり自分らでは使ってないってことかいな
884 :デフォルトの名無しさん :2024/02/20(火) 16:45:43.34 ID:rm//dl54.net できるできる詐欺が横行してるな
885 :デフォルトの名無しさん :2024/02/20(火) 18:35:02.11 ID:pzacWR0B.net 大規模開発は人数揃えるのが何より大切だからな COBOLかJava以外ありえない
886 :デフォルトの名無しさん :2024/02/20(火) 20:51:51.45 ID:lRk+yPyb.net 全部できるよ
887 :デフォルトの名無しさん :2024/02/21(水) 14:43:22.45 ID:Z35fBDP9.net MVCで入力処理ってどこにおくべき? AIとかに聞くとCに置けって言ってくるけど 移植(ライブラリ変更等)時に描画系入力系を まとめてVに置いておくと楽だと思うんだけど
888 :デフォルトの名無しさん :2024/02/21(水) 14:46:34.08 ID:QZ7TjEE8.net いまだにMVCとかやってるから海外のアプリに勝てないんだよな
889 :デフォルトの名無しさん :2024/02/21(水) 15:34:28.90 ID:C622TR9G.net M: 変数 V: public関数 C: private関数
890 :デフォルトの名無しさん :2024/02/21(水) 16:02:41.28 ID:IVa7P8gb.net >>887 MVCといってもクライアントサイドのMVCとサーバーサイドのMVCで考え方が違う また入力処理と言っても人によって指すものが違うので具体的にどういう処理を入力処理とみなしているか書かないとわからない さらに移植とライブラリ変更は一般的に違うものなので想定状況が伝わらない
891 :デフォルトの名無しさん :2024/02/21(水) 17:11:10.76 ID:RdIBo6ag.net M: member V: virtual C: constexpr // 空目
892 :デフォルトの名無しさん :2024/02/21(水) 18:43:28.52 ID:1mshJDzd.net Mutable Virtual C++
893 :デフォルトの名無しさん :2024/02/21(水) 20:19:29.17 ID:ryHNx0AS.net 用語や形にこだわるより先に仕様通り動くもの作れ。くだらないこだわりで何も始められないのはただのアホ
894 :デフォルトの名無しさん :2024/02/21(水) 21:53:18.35 ID:gKvdV+n9.net 唐突なストローマン論法で草 雑魚味が濃すぎる
895 :デフォルトの名無しさん :2024/02/21(水) 21:58:52.64 ID:1UKYnLzP.net >>887 元々は移植性のためにモデルはそのまんま環境と切り離した処理そのものを ヴューは人間の目に触れる画面レイアウト周り、そしてコントローラーは それらを繋ぐインターフェイスとして実装という考え方なので ゲームをPC、コンシュマー、モバイルと移植します画面周りはVです 操作されるゲームの中身はMです、つなぐ部分はCです …ん?マウスと十字キーとタッチパネル対応はどこまでがCだ?ってなるけど AIに聞けばテンプレどおりそら「Cに分けなさい」言われるわな
896 :デフォルトの名無しさん :2024/02/21(水) 22:04:57.80 ID:Ufq19E/Q.net ゲームとビジネスアプリとでは違って来るよな ゲームなら🎮や⌨はCだが、ビジネスアプリでは単にVの付属物だったりする
897 :デフォルトの名無しさん :2024/02/21(水) 22:11:27.33 ID:UHHgkSfj.net うそやん マウス対応やタッチパネル対応はViewやぞ AIに聞いてもそう答えるぞ
898 :デフォルトの名無しさん :2024/02/21(水) 23:59:03.36 ID:anjrCapC.net 「入力」の抽象度の違い ビューに依存した入力とそこから一段階抽象度が上がったビューに依存しない入力がある それを認識できてればどこに含めるか迷わない
899 :デフォルトの名無しさん :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)
900 :デフォルトの名無しさん :2024/02/23(金) 11:14:17.40 ID:GPv4EW4D.net きんたま切り落とした時点で男性ホルモンは著しく減衰して性欲は無くなるよ🥲
901 :デフォルトの名無しさん :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() ...
902 :デフォルトの名無しさん :2024/02/28(水) 21:12:31.15 ID:igsDoIyP.net >女湯入ってオカズ目に焼き付けてもチン◯ないからシコれませんのでね 人間に独立した人格が有るように、チンポにも独立したチン格が有る これは親クラスと子クラスの継承関係である チン格とはつまり「愚息」であり、自分にも他人にも成り得る これがオブジェクトの多態性と表現される オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋 このように時と場合によって真逆の性質を併せ持つことができる 随意筋 不随意筋 ↖ ↗ チンポ 自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
903 :デフォルトの名無しさん :2024/02/28(水) 21:59:59.89 ID:N6In+Wna.net 機能するかどうかだけが問題で、欲求があるかどうかはあんまり関係無いよな
904 :デフォルトの名無しさん :2024/02/29(木) 17:11:51.40 ID:lYDtPhZw.net オブジェクト指向では、オブジェクトの「機能」を意識することが大切ね! >>903 >機能するかどうかだけが問題で オブジェクト指向(OOP) は、データとそれに関連するメソッドを 「クラス」という単位でまとめて管理する開発手法です。 このアプローチにより、開発者は複雑な機能も再利用可能なモジュールとして効率的に構築できます。例えば、 新しい機能を開発する際、既存のクラスから必要なデータを取得し、必要に応じて新しい機能を追加することが可能です。 https://zenn.dev/cloud_ace/articles/29748ac0537c7f
905 :デフォルトの名無しさん :2024/02/29(木) 17:34:03.72 ID:l9BYiy+8.net モダンなプログラミング言語 Go、Rust、Zig、Nim、Julia、Elixirなどは クラスおよびその継承を言語仕様から排除しておりクラスは存在しない 各々の言語は全く異なる方針を採っている言語だがクラス排除だけは全てが同じ方針である クラスとその継承は悪手であるとプログラミング言語界では結論が出ている
906 :デフォルトの名無しさん :2024/02/29(木) 18:33:41.13 ID:j2QgmuXb.net むしろ、何段も継承されてわけわからん事になるのが嫌われてるだけなので swiftなんかはfinalつけてサブサブクラス禁止できるようにしてるな
907 :デフォルトの名無しさん :2024/02/29(木) 18:44:02.92 ID:SAazNRBP.net こんなスレで御託長文書くのはプログラム作れない人
908 :デフォルトの名無しさん :2024/02/29(木) 18:55:21.40 ID:8i6X/khC.net 悪手と言われると、極めたくなるんだよなあ
909 :デフォルトの名無しさん :2024/02/29(木) 21:12:27.90 ID:zvBPwraZ.net >>905 クラスと呼ばれるものがないだけで メソッドを生やせる構造体も継承も Elixir以外のすべての言語に存在する 君が無知なだけ
910 :デフォルトの名無しさん :2024/02/29(木) 21:41:50.06 ID:PlWfF7KT.net クラスが存在しないことが最重要だからクラスを採用しない言語が増えてるんだよ クラスは間違った手法『具象型から具象型への継承』となる禁忌のクラス継承を伴うからね オブジェクト指向に必要なカプセル化は構造体などでもちろん可能だから オブジェクト指向にはクラスは不要だよ そしてインターフェイスや型クラスなどによる正しい手法『抽象型から具象型への継承』が代わりにあればよい モダンな各プログラミング言語はそれらの方針をとっている だからクラスが採用されてないんだよ クラスは悪
911 :デフォルトの名無しさん :2024/02/29(木) 22:35:54.39 ID:8i6X/khC.net 継承に親兄弟を殺された人がいるようだが 世界は残酷なのだ
912 :デフォルトの名無しさん :2024/02/29(木) 22:42:52.64 ID:PlWfF7KT.net 悪い→『具象型から具象型への継承』←クラス 良い→『抽象型から具象型への継承』←インターフェース・型クラスなど
913 :デフォルトの名無しさん :2024/02/29(木) 22:58:22.40 ID:eayaXhXN.net 要は個人開発レベル小規模webサイトレベルなら継承の類不要?つうかDIだけでは駄目なん?
914 :デフォルトの名無しさん :2024/02/29(木) 23:10:15.09 ID:M4AFeBSO.net 規模にかかわらず同じ 抽象型からの継承は問題ない クラス継承はダメ
915 :デフォルトの名無しさん :2024/03/01(金) 08:38:11.92 ID:FDcCyCi3.net >>914 「抽象型の仕様が安定している限り」な。 抽象型の改変が入ったらインパクトが大きい。
916 :デフォルトの名無しさん :2024/03/01(金) 08:59:14.79 ID:PeOPXftI.net そこでダックタイピング(の併用)だな うん、継承一本ってのは、人類には早かった
917 :デフォルトの名無しさん :2024/03/01(金) 09:08:35.51 ID:JrOItvM9.net クラス継承は具象型からの継承なので多重継承の問題が発生する悪い方法だが 抽象型からの継承は多数あっても合成となり良い方法 >>915 抽象型は各機能毎に細かく多数用意されて合成して使うためそのような問題が起きない 抽象型の改変とは機能を変えることになるため別の抽象型として並行して扱える
918 :デフォルトの名無しさん :2024/03/01(金) 10:31:31.13 ID:Lv7uqw7J.net >>917 なら設計の初期に細かく多数の抽象型を決めなきゃいけない、ということになるわな。 未来を予測できる天才でもなければ厳しいな。
919 :デフォルトの名無しさん :2024/03/01(金) 10:32:36.36 ID:YMlxHHtw.net まあ、たいていのクラス設計は 製造終盤になると跡形も無いんだがな
920 :デフォルトの名無しさん :2024/03/01(金) 10:56:06.21 ID:67BTULI7.net >>918 クラスはピラミッド型の階層構造となり改変で他へ影響が大きく出る問題があり クラスは具象型なのでそれ自体がメンバ変数(フィールド変数)を持ち途中階層のクラスも持つため改変が非常に大変もしくは崩壊となりがち 抽象型でメンバ変数(フィールド変数)を持たないインタフェイスや型クラスではその問題が起きない それら抽象型による各機能の合成をとるため改変する場合も他機能への影響が限定的となり問題を分離することができる
921 :デフォルトの名無しさん :2024/03/01(金) 12:34:53.51 ID:JFzuIw6k.net 人間が理解しやすくなればなんでもいいシコ
922 :デフォルトの名無しさん :2024/03/01(金) 12:45:52.70 ID:FDcCyCi3.net >>920 メンバ変数の無い抽象型であっても、分離できるのは実装部分でしかなくて、「機能ではなく型の種類&名前で縛られる」という設計の初期の困難さは回避できていないよ。 まぁ、インターフェイスとかトレイル(Rustの偽物は論外)とかでもモジュール境界とモジュール間連携の問題は解決できていないからなぁ。何かいいアイディア無い?
923 :デフォルトの名無しさん :2024/03/01(金) 12:51:44.04 ID:9l2p08EB.net IDEのリファクタリング機能があれば何でもいいよ
924 :デフォルトの名無しさん :2024/03/01(金) 16:38:06.02 ID:gwVYOw6C.net >>905 バカの一つ覚え
925 :デフォルトの名無しさん :2024/03/01(金) 17:27:04.12 ID:PeOPXftI.net それが>>911 の人、何人かいるっぽい
926 :デフォルトの名無しさん :2024/03/01(金) 20:56:33.23 ID:KQ1HmSrc.net 継承には感謝しかないです
927 :デフォルトの名無しさん :2024/03/01(金) 21:29:01.44 ID:NM6ffmiH.net クラス継承さえ使わなければ 継承は便利だからね
928 :デフォルトの名無しさん :2024/03/01(金) 22:31:08.80 ID:qr8UCngy.net メソッドだけ継承できればいいよ
929 :デフォルトの名無しさん :2024/03/02(土) 07:16:17.19 ID:7IvxOyHp.net クラスとかメソッド集合としての機能だけあればいい。 その代わりに外延性と集合演算をサポートしてくれ。そうすりゃ継承みたいなクソツールは要らなくなる。
930 :デフォルトの名無しさん :2024/03/02(土) 11:56:05.36 ID:0RQhliLl.net クラスとか継承とかに不満持つのは不思議なんだが、他人の作ったコードやライブラリをうまく流用出来ずに文句言ってるのか? 自分で作る分には言語の機能にあっても使わなきゃいいだけだろうに 他の人が理解できないからだ、ってのならその「他の人」に言え
931 :デフォルトの名無しさん :2024/03/02(土) 12:17:52.47 ID:+4BUdsxu.net 人間が理解しやすくしなよ
932 :デフォルトの名無しさん :2024/03/02(土) 13:55:18.96 ID:ILWRlrIw.net >>930 他の人になんて言えば良い?
933 :デフォルトの名無しさん :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の関係)のほうが望ましいのです。 >できる限り実装継承は避けたほうがよいでしょう。
934 :デフォルトの名無しさん :2024/03/02(土) 13:58:52.73 ID:ILWRlrIw.net ねえ!他の人になんて言えばいいの!?
935 :デフォルトの名無しさん :2024/03/02(土) 14:38:32.67 ID:an2Rf2WF.net 「俺は継承に親を殺された。絶対赦さない。絶対にだ」
936 :デフォルトの名無しさん :2024/03/02(土) 14:43:33.20 ID:ILWRlrIw.net 。°(´∩ω∩`)°。
937 :デフォルトの名無しさん :2024/03/02(土) 14:47:09.39 ID:iW0xTm2n.net >>933 どこからの引用なのかちゃんと書こうよ https://postd.cc/is-go-object-oriented/
938 :デフォルトの名無しさん :2024/03/02(土) 15:01:00.73 ID:OiLnCmP5.net >>933 バカの一つ覚え乙
939 :デフォルトの名無しさん :2024/03/02(土) 15:26:08.25 ID:5qddeDE5.net >>937 丁寧な説明あって助かったありがとう 実装継承は問題があるためクラス継承を使うのは辞めた方がよさそうね そうするとクラス自体が不要なので今どきの言語にはクラスが無いわけなのね
940 :デフォルトの名無しさん :2024/03/02(土) 17:53:44.47 ID:JmA8+V/x.net 継承すると結合度が高くなり、基底クラスがいじりにくくなるから implements で名前だけ基底クラスで宣言した方がよい という経験則なわけね
941 :デフォルトの名無しさん :2024/03/02(土) 18:23:50.25 ID:C5B9iefL.net >>940 違うよ 基底クラスは一切使わずにインターフェース等を使う インターフェース等を備えていない言語ではやむをえないため抽象クラスで代替する
942 :デフォルトの名無しさん :2024/03/02(土) 21:21:19.79 ID:6JiP4UcJ.net 15年ぐらい前はstaticおじさんが馬鹿にされてたけど今じゃオブジェクト指向がオワコン呼ばわりかぁ Lisp使おう()
943 :デフォルトの名無しさん :2024/03/03(日) 00:19:19.60 ID:Ic67hcFY.net 処理系も書かずに使おう(笑)
944 :デフォルトの名無しさん :2024/03/03(日) 12:51:43.47 ID:s0HRTEoD.net オブジェクト指向に毒されてるpowershwll,python,ruby等も終わりかな F#に興味出てきたな
945 :デフォルトの名無しさん :2024/03/03(日) 13:22:58.46 ID:4PUy8wCJ.net あたりまえにオブジェクト指向使ってる現代でオブジェクト指向がオワコンって言うのはプログラム作らない人 ここの板のローカルルールくらい見ましょうね
946 :デフォルトの名無しさん :2024/03/03(日) 13:49:21.97 ID:HJzrw6yi.net やたらとオブシコしてたのからの回帰ってならわかる そういう意味なんだろうなと思う
947 :デフォルトの名無しさん :2024/03/03(日) 14:11:44.50 ID:0VvwZNDM.net >>940 何でそんなこと言うん?
948 :デフォルトの名無しさん :2024/03/03(日) 17:32:00.15 ID:7AiWdEnV.net https://twitter.com/i/status/1763848620204544172 オブジェクト指向にも同じことが言えます (deleted an unsolicited ad)
949 :デフォルトの名無しさん :2024/03/03(日) 17:33:19.72 ID:7AiWdEnV.net オブジェクト指向を実践してない人ほど継承はダメだといっておられる 現実をまったく見ていない理論でしかないわけです
950 :デフォルトの名無しさん :2024/03/03(日) 17:33:33.79 ID:m+AYakYE.net 40年前に構造化プログラミング(いまあたりまえのプログラムをブロックモジュールに分ける概念)についてけなかった人とかも 理解しないまま「構造化プログラミングはオワコン!これからはオブジェクト指向!」ってそもそも構造化プログラミングの 発展系がオブジェクト指向だってわからずこのアホウみたいにウキャウキャしてたのかしら
951 :デフォルトの名無しさん :2024/03/03(日) 18:10:26.26 ID:nBM3NOHP.net >>949 正しく理解しようよ ダメなのはクラス継承 抽象型の継承はOK オブジェクト指向もOK
952 :デフォルトの名無しさん :2024/03/03(日) 18:26:34.56 ID:zJ/qFUNe.net >>951 Pythonは文脈によって意味が変わる多重継承ね! 随意筋 不随意筋 ↖ ↗ チンポ
953 :デフォルトの名無しさん :2024/03/03(日) 20:11:50.76 ID:InukkrXD.net ついていけない人間がたくさん出てしまうパラダイムは多くの人間が使えないので自明にオワコン
954 :デフォルトの名無しさん :2024/03/03(日) 21:12:52.05 ID:vlko3Vgi.net >>950 ありそうな話だなあ
955 :デフォルトの名無しさん :2024/03/03(日) 21:35:56.29 ID:9XAeTkis.net >>933 Cの生みの親が作ったGoはともかく、Rustにクラスがなかったのはマジびびった。 Haskell覚えたときに、オブジェクト指向プログラミングの再利用性に疑問持って、 (実際にはしないけど)C++でクラス使わずテンプレートだけ使った方が再利用しやすいんじゃ…?とか思った。 そして最近、「スッキリわかるC言語」立ち読みしたら、C言語に(テンプレートとは違ってマクロっぽいが)ジェネリックっぽい機能が取り入れられてるみたい。 (使えないコンパイラがまだ多いのでLinuxのカーネル開発では禁止されてるみたいだけど) あと、デザインパターンも、関数型言語で普通にしてる事がいくつか書いてて、オブジェクト指向言語だと意識しないと出来ないんだと気づいた。 (例:イテレータ、テンプレート・メソッド、シングルトン、アブストラクト・ファクトリ、ストラテジなど)
956 :デフォルトの名無しさん :2024/03/03(日) 22:06:17.23 ID:mVaeStz7.net 広い意味のオブジェクト指向は今でも有用であって クラスを使ったオブジェクト指向が間違っていただけなので GoやRustなど新しい言語にはクラスが無いけど(クラスを使わない)オブジェクト指向ですよ
957 :デフォルトの名無しさん :2024/03/03(日) 22:11:46.53 ID:JkCR2ZDo.net >>953 おまえがオワコンなだけ。お前自身がついていけなくても、ついていけない人がたくさんいると思っていても 実際には多くの人がすでに実行してる。今やその辺の小学生でも https://www.nhk.or.jp/school/sougou/programming/
958 :デフォルトの名無しさん :2024/03/03(日) 22:27:37.47 ID:9RvqtVLq.net >>957 俺は「ついていけない人間がたくさん出てしまうパラダイム」の話をしているのに、お前は勝手に「俺がついていけない人がたくさんいると思っているパラダイム」の話を始めたな 俺の話を理解できていないのか、理解した上で関係なくお前のしたい話を始めたのか知らんが、それで俺にレスをつけておいて俺にオワコンと言ってくるなんて、なんてガイジなんだ 回線切って首吊って死んでくれよな
959 :デフォルトの名無しさん :2024/03/03(日) 22:50:31.38 ID:uAsMCupP.net お前らさあ。。 次スレどうする?
960 :デフォルトの名無しさん :2024/03/03(日) 23:01:06.99 ID:A1Y/Mibd.net つまりプロトタイプベースオブジェクト指向のJSは一歩も二歩も先に行ってたってこと?
961 :デフォルトの名無しさん :2024/03/03(日) 23:05:08.39 ID:slB98rWU.net >>958 おまえ生まれてから今までずっと 何言うてんねん
962 :デフォルトの名無しさん :2024/03/03(日) 23:24:09.12 ID:9XAeTkis.net >>960 まあ、JSは手続き型言語の皮をかぶったLispと言われる事もあるので、 そうとも言える。 ただLLだったので大規模開発に向かなかったのかと。 関数型言語と論理型言語は大きなカテゴリーでは宣言型言語になるんだけど、 オブジェクト指向も宣言的なプログラミングは目指してるんだよね。 メソッドチェーンと関数合成は向きが逆なだけで、やってることは同じだし。 Rust初めて見たときはC系統の文法のだけど、だいぶ関数型言語に寄ったなと思った。 しかも組み込み系の雑誌「interface」でだいぶ推してるし…。(お題を解く連載が続いてる) 何事かと。
963 :デフォルトの名無しさん :2024/03/04(月) 00:00:46.80 ID:ndPj2VnY.net >>962 >メソッドチェーンと関数合成は向きが逆なだけで、やってることは同じだし。 関数型のやり方によっては見た目は似せることができてもやってることは全然違う 関数型とオブジェクト指向で根本的に異なる部分
964 :デフォルトの名無しさん :2024/03/04(月) 00:42:55.59 ID:vyClhVzf.net 言われてみれば。 同じは言い過ぎだったね。 print関数と関数合成なんて、オブジェクト指向な人から見たらイミフだろうし。 高階関数に関数合成した関数渡すのも、オブジェクト指向じゃ関数オブジェクト(?)にメソッドチェーン渡すなんて、見たことない。(できるかは知らない) 割とよく使うのに。 あと、オブジェクト指向型言語で関数型プログラミング取り入れました!って言って ラムダ式を強制するのがウザい。 関数型言語はセクションやら、それこそ関数合成使って、なるべくラムダ式を使わない様に進化してるっちゅーねん。
965 :デフォルトの名無しさん :2024/03/04(月) 20:55:11.38 ID:OBoWisFX.net 「継承」についてだが、多重継承をサポートしていない言語ならなるべく使わないほうがよい
966 :デフォルトの名無しさん :2024/03/05(火) 14:40:45.25 ID:8Aciq0Ni.net >>930 不満を解消するために行動しているというのは誤解 ある行動をしなかった理由を考えている なぜ継承しなかったのか
967 :デフォルトの名無しさん :2024/03/06(水) 15:26:14.40 ID:7MRZ6H51.net >>965 逆だね あえて逆のこと言ったんだね
968 :デフォルトの名無しさん :2024/03/06(水) 16:32:28.41 ID:QczblYLZ.net >>967 Pythonは多重継承だが?
969 :デフォルトの名無しさん :2024/03/06(水) 17:05:29.94 ID:0Fz1GTqO.net 銀の弾丸はなく適材適所なだけなのに なるべく使わないって判断放棄してへん?
970 :デフォルトの名無しさん :2024/03/06(水) 17:58:25.40 ID:RxG6QCQE.net >>968 Pythonの話ちゃうやん
971 :デフォルトの名無しさん :2024/03/06(水) 18:04:07.44 ID:OsGV2nia.net >>968 おまえそのPythonでどんなアプリ作ったの? >>937 のリンク先から引用 >多重継承の問題の1つは、同一のメソッドが1つ以上の親クラスに存在しているときに、言語がどのメソッドを用いているのかが自明ではなく、あいまいだという点です。 これが絶対悪だというのはありえないにせよ、プログラム保守する上でこの問題はよく理解できるはず
972 :デフォルトの名無しさん :2024/03/06(水) 18:42:32.08 ID:T1kDuEf9.net 人間に独立した人格が有るように、チンポにも独立したチン格が有る これは親クラスと子クラスの継承関係である チン格とはつまり「愚息」であり、自分にも他人にも成り得る これがオブジェクトの多態性と表現される オシッコするときのチンポは随意筋、勃起するときのチンポは不随意筋 このように時と場合によって真逆の性質を併せ持つことができる 随意筋 不随意筋 ↖ ↗ チンポ 自然言語処理において語の意味は文脈によって変わるので、Pythonのような多重継承が不可欠ね!
973 :デフォルトの名無しさん :2024/03/06(水) 20:32:09.54 ID:RxG6QCQE.net >>972 継承関係無いやん
974 :デフォルトの名無しさん :2024/03/10(日) 16:41:48.65 ID:VoY5srQP.net https://twitter.com/frozensholder/status/1766678736836149638 四十肩 @frozensholder 男はチンボで物を考え女は子宮でモノを考える。それが世界の理。 (deleted an unsolicited ad)
280 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★
本文 スレッドタイトル 投稿者