2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

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

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
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★