前スレ
オブジェクト指向はオワコン?
https://mevius.5ch.io/test/read.cgi/tech/1721393540/
オブジェクト指向はオワコン? part2
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2026/08/13(木) 14:38:03.02ID:pdAcKRXu347デフォルトの名無しさん
2026/08/20(木) 09:08:56.05ID:q4+A3WuM オブジェクト指向じゃないほうがシンプルに作れるものを
オブジェクト指向で作ろうとするのは無駄でしかなく、オブジェクト指向の啓蒙にはならない
オブジェクト指向で作ろうとするのは無駄でしかなく、オブジェクト指向の啓蒙にはならない
348デフォルトの名無しさん
2026/08/20(木) 09:32:50.30ID:o7Pb5BUg AI時代に最適な言語とは
349デフォルトの名無しさん
2026/08/20(木) 09:39:55.23ID:m8+NKV8o >>348
英語、次点で日本語
英語、次点で日本語
350デフォルトの名無しさん
2026/08/20(木) 11:01:49.24ID:o7Pb5BUg 日本語は文字圧縮率高いからAIに向いてるよな
351デフォルトの名無しさん
2026/08/20(木) 12:05:54.04ID:vH5dPVEC >>350
向いてない
対AIの情報圧縮率は情報量/文字数じゃなくて情報量/トークン数なので日本語の情報圧縮率はむしろ低い
日本語に最適化された生成AIが出てきたとしても今の汎用生成AIで英語を使うのと同じレベルにはまずならない
ちなみに文字数ベースの情報圧縮率で言えば日本語より中国語のほうが上
向いてない
対AIの情報圧縮率は情報量/文字数じゃなくて情報量/トークン数なので日本語の情報圧縮率はむしろ低い
日本語に最適化された生成AIが出てきたとしても今の汎用生成AIで英語を使うのと同じレベルにはまずならない
ちなみに文字数ベースの情報圧縮率で言えば日本語より中国語のほうが上
352デフォルトの名無しさん
2026/08/20(木) 13:24:05.04ID:q4+A3WuM 言語ってやれることに縛りがないマシン語一択よ
353デフォルトの名無しさん
2026/08/20(木) 13:47:22.14ID:m8+NKV8o バイナリなんて扱いが面倒で
しかもCPUやOSによって全く使い物にならないから
それだけは無い
しかもCPUやOSによって全く使い物にならないから
それだけは無い
354デフォルトの名無しさん
2026/08/20(木) 14:18:30.50ID:s0ayJ18Z >>345
余りで場合分けしたりGCD求めるより素直に判定する方がええんか
余りで場合分けしたりGCD求めるより素直に判定する方がええんか
355デフォルトの名無しさん
2026/08/20(木) 16:44:10.19ID:qoBWelP1356デフォルトの名無しさん
2026/08/20(木) 16:59:35.71ID:Q5WTv99g 「FizzBuzzのプログラム書いて」の指示だけで済むのになに前時代的なことやってんの?www
357デフォルトの名無しさん
2026/08/20(木) 17:01:53.34ID:Z7Wddxg2 >>355
コンパイラは賢いから最適化するだろ
コンパイラは賢いから最適化するだろ
358デフォルトの名無しさん
2026/08/20(木) 19:35:41.56ID:v7D8p6Cq >>348
仕様そのものを検証できるプログラミング言語じゃない?
今までは人間が実装を書いてコンパイラに文法や型を検証させてたけどAIの能力が上がってからは人間が契約をまとめた仕様をAIに掲示してAIが実装するようになったからね
言うなれば人間が契約を所有しAIが実装を所有し検証器が両者の関係を所有する言語かな
気になって調べてみたらRustとVerusによる言語の二層化とかあるみたいね
仕様そのものを検証できるプログラミング言語じゃない?
今までは人間が実装を書いてコンパイラに文法や型を検証させてたけどAIの能力が上がってからは人間が契約をまとめた仕様をAIに掲示してAIが実装するようになったからね
言うなれば人間が契約を所有しAIが実装を所有し検証器が両者の関係を所有する言語かな
気になって調べてみたらRustとVerusによる言語の二層化とかあるみたいね
359デフォルトの名無しさん
2026/08/20(木) 19:40:52.66ID:IBxNVMcV >>346
まあ、モナドではあるが、厳密なモナド則には従わない。
と、思ったのですが、この限定的な状況では、モナド則を満たしていました。
また、そりゃ、void main(String[])内で、ベタに手続き型で書けば速いわけですが、
15と固定でGCDを作ってみたら、同じ速さになりました。手動展開するとベタなものと同じです。
オブジェクト指向設計の形式は同じとして計測。
まあ、モナドではあるが、厳密なモナド則には従わない。
と、思ったのですが、この限定的な状況では、モナド則を満たしていました。
また、そりゃ、void main(String[])内で、ベタに手続き型で書けば速いわけですが、
15と固定でGCDを作ってみたら、同じ速さになりました。手動展開するとベタなものと同じです。
オブジェクト指向設計の形式は同じとして計測。
360デフォルトの名無しさん
2026/08/20(木) 19:43:41.33ID:v7D8p6Cq >>356
trait implをあえて使うとそうなるっていう説明用サンプルじゃないの
trait implをあえて使うとそうなるっていう説明用サンプルじゃないの
361デフォルトの名無しさん
2026/08/20(木) 21:03:19.48ID:kHN2H/5S >>359
いやー俺も圏論詳しくないけど
君が言ってることはデタラメすぎる気がする
mapはただのファンクターじゃん
ファンクターとモナドは違うよね
モナドはflatMapの方だよ
圏論的構造のことをモナドと言ってる?
モナディックではなくてモナドチックってこと?
乙女チックみたいな話?
それならわかる
いやー俺も圏論詳しくないけど
君が言ってることはデタラメすぎる気がする
mapはただのファンクターじゃん
ファンクターとモナドは違うよね
モナドはflatMapの方だよ
圏論的構造のことをモナドと言ってる?
モナディックではなくてモナドチックってこと?
乙女チックみたいな話?
それならわかる
362デフォルトの名無しさん
2026/08/20(木) 21:48:07.29ID:kHN2H/5S 見せてやるよ、本物のモナドの力ってやつをな
C#
foreach (var i in Enumerable.Range(1, 100)) {
(int i, string s)[] ms = [
(3, "Fizz"),
(5, "Buzz"),
(7, "Pop"),
(11, "Jazz"),
(13, "Rock")
];
var s = string.Concat(ms
.SelectMany(m => i % m.i == 0 ? new[] { m.s } : [])
.DefaultIfEmpty(i.ToString()));
Console.WriteLine(s);
}
SelectManyがモナドです
ご清聴ありがとうございました
C#
foreach (var i in Enumerable.Range(1, 100)) {
(int i, string s)[] ms = [
(3, "Fizz"),
(5, "Buzz"),
(7, "Pop"),
(11, "Jazz"),
(13, "Rock")
];
var s = string.Concat(ms
.SelectMany(m => i % m.i == 0 ? new[] { m.s } : [])
.DefaultIfEmpty(i.ToString()));
Console.WriteLine(s);
}
SelectManyがモナドです
ご清聴ありがとうございました
363デフォルトの名無しさん
2026/08/20(木) 22:16:51.48ID:C4aTds+L error: Unexpected symbol `['
364デフォルトの名無しさん
2026/08/20(木) 22:20:08.69ID:IBxNVMcV >>361
モナドですけど何か?
モナドですけど何か?
365デフォルトの名無しさん
2026/08/20(木) 22:57:28.02ID:vi4f/pAg366デフォルトの名無しさん
2026/08/20(木) 23:13:28.71ID:z4h/0sw5367デフォルトの名無しさん
2026/08/20(木) 23:52:42.25ID:h+f/dAtq >>362の無能さは(1, 100)でよくわかる
100にするなら少なくともそこは105だろ
100にするなら少なくともそこは105だろ
368デフォルトの名無しさん
2026/08/21(金) 00:12:08.26ID:Gi1J9j3d >>364
違うと思うけど明日AIに聞いてみるわ、お休みモナ
違うと思うけど明日AIに聞いてみるわ、お休みモナ
369デフォルトの名無しさん
2026/08/21(金) 05:47:35.54ID:beX5364R >>362
生成AI製か
生成AI製か
370デフォルトの名無しさん
2026/08/21(金) 10:51:05.66ID:I6E5haBJ >>368
引っかかってるのはIEnumerable<T>やStream<T>がモナドかどうかではなく
それらがモナドとして使われてない処理をモナディックと言うかどうかでしょ?
俺は言わないと思うけど言う人がいてもその違いが重要じゃない限りスルーする
引っかかってるのはIEnumerable<T>やStream<T>がモナドかどうかではなく
それらがモナドとして使われてない処理をモナディックと言うかどうかでしょ?
俺は言わないと思うけど言う人がいてもその違いが重要じゃない限りスルーする
371デフォルトの名無しさん
2026/08/21(金) 11:31:05.64ID:Gi1J9j3d >>364
> モナドですけど何か?
AIに聞いてみたけど >>320 は値オブジェクトでStreamを使ってるだけでモナドではないそうだよ
全文はこちら
https://chatgpt.com/share/6a87b6cf-2020-83ee-b07e-f2e91e706ada
>>359
> モナド則を満たしていました
これも偽だよ
> モナドですけど何か?
AIに聞いてみたけど >>320 は値オブジェクトでStreamを使ってるだけでモナドではないそうだよ
全文はこちら
https://chatgpt.com/share/6a87b6cf-2020-83ee-b07e-f2e91e706ada
>>359
> モナド則を満たしていました
これも偽だよ
372デフォルトの名無しさん
2026/08/21(金) 11:47:36.75ID:Gi1J9j3d373デフォルトの名無しさん
2026/08/21(金) 11:48:44.92ID:ZIDlXGUM ( ´∀`)
374デフォルトの名無しさん
2026/08/21(金) 12:29:56.97ID:2CvgJbgX >>372
Functor, Applicative は合成も Functor, Applicative になるけど, Monad は閉じてない.
他言語知らぬが, Haskell では少なくともそう.
Functor, Applicative は合成も Functor, Applicative になるけど, Monad は閉じてない.
他言語知らぬが, Haskell では少なくともそう.
375デフォルトの名無しさん
2026/08/21(金) 12:58:18.07ID:r0Io5phJ >>371
モナドですけど何か?
モナドですけど何か?
376デフォルトの名無しさん
2026/08/21(金) 13:15:32.17ID:iTOGPWmY >論破されても同じ主張を根拠無く延々と繰り返す
>それが複おじ!!
汚コードを披露したがるところといい精神構造が一緒だよね
二代目複おじと呼ばれるのも納得
>それが複おじ!!
汚コードを披露したがるところといい精神構造が一緒だよね
二代目複おじと呼ばれるのも納得
377デフォルトの名無しさん
2026/08/21(金) 14:34:41.44ID:Ox2yfRDK flatMapすら使ってない方は論外として
こんな日常使うものを使っているだけでモナドと呼ぶかどうかという話だろ
flatMap: Stream<A> -> (A -> Stream<B>) -> Stream<B>
こんな日常使うものを使っているだけでモナドと呼ぶかどうかという話だろ
flatMap: Stream<A> -> (A -> Stream<B>) -> Stream<B>
378デフォルトの名無しさん
2026/08/21(金) 14:59:07.32ID:Eo21n+pB379デフォルトの名無しさん
2026/08/21(金) 15:01:40.43ID:KDkdbSVN リストってモナディックだぜっ!!
380デフォルトの名無しさん
2026/08/21(金) 15:15:54.95ID:beX5364R use Data::Monad::Identity;
sub rule {
my ($m, $str) = @_;
sub { my ($n, $s) = @{$_[0]}; Data::Monad::Identity->unit([$n, $n % $m ? $s : $s . $str]) };
}
for (1 .. 20) {
print Data::Monad::Identity->unit([$_, ""])
->flat_map(rule(3, "Fizz"))
->flat_map(rule(5, "Buzz"))
->value->[1] || $_, "\n";
}
sub rule {
my ($m, $str) = @_;
sub { my ($n, $s) = @{$_[0]}; Data::Monad::Identity->unit([$n, $n % $m ? $s : $s . $str]) };
}
for (1 .. 20) {
print Data::Monad::Identity->unit([$_, ""])
->flat_map(rule(3, "Fizz"))
->flat_map(rule(5, "Buzz"))
->value->[1] || $_, "\n";
}
381デフォルトの名無しさん
2026/08/21(金) 15:33:07.11ID:Gi1J9j3d >>377
モナド則満たすしモナドでしょ
https://paiza.io/projects/vlUBccWkc0ctYRvsyFJJnw
モナド則もそりゃそうなるでしょってものだしモナドはそういうものってことでいんじゃないかな
モナド則満たすしモナドでしょ
https://paiza.io/projects/vlUBccWkc0ctYRvsyFJJnw
モナド則もそりゃそうなるでしょってものだしモナドはそういうものってことでいんじゃないかな
382デフォルトの名無しさん
2026/08/21(金) 15:35:38.76ID:Gi1J9j3d >>374
わかりみが深い、むかしflatMapを自作しててわけわからんとなった経験がある、そういうことだったのね
わかりみが深い、むかしflatMapを自作しててわけわからんとなった経験がある、そういうことだったのね
383デフォルトの名無しさん
2026/08/21(金) 15:44:14.76ID:HqsLRPon もっと単純なMaybeやOptionもモナドだぞ
384デフォルトの名無しさん
2026/08/21(金) 16:13:20.18ID:beX5364R Finding the Reader Monad in FizzBuzz - Chat - PureScript Language Forum
ttps://discourse.purescript.org/t/finding-the-reader-monad-in-fizzbuzz/2460
Jul '21
FizzBuzz using Monad · GitHub
ttps://gist.github.com/maciejjaskowski/7f1734b33d5716c602db
(Scala)
ttps://discourse.purescript.org/t/finding-the-reader-monad-in-fizzbuzz/2460
Jul '21
FizzBuzz using Monad · GitHub
ttps://gist.github.com/maciejjaskowski/7f1734b33d5716c602db
(Scala)
385デフォルトの名無しさん
2026/08/21(金) 16:20:56.65ID:JOjsNGZv 結論
FizzBuzzでモナドを使うメリットはない
FizzBuzzでモナドを使うメリットはない
386デフォルトの名無しさん
2026/08/21(金) 16:32:46.73ID:+7OJU/se 適当なお題としてはGraphQLの応答とか
387デフォルトの名無しさん
2026/08/21(金) 16:54:22.13ID:beX5364R >>385
どういうものにメリットがあると思う?
どういうものにメリットがあると思う?
388デフォルトの名無しさん
2026/08/21(金) 16:57:15.65ID:oEi9UUz1 純粋関数縛りなHaskellで、モナド則を満たすデータ構造で副作用を表したのが肝であって
縛りのない言語でモナドを強調しても意味ない、ただ関数型チックな書き方がしたいだけの人
縛りのない言語でモナドを強調しても意味ない、ただ関数型チックな書き方がしたいだけの人
389デフォルトの名無しさん
2026/08/21(金) 17:15:28.71ID:beX5364R ま確かに興味本位だなw
390デフォルトの名無しさん
2026/08/21(金) 17:18:42.94ID:MKiwKoi2 普通の言語ならモナドに縛られずに書いた方が書きやすく見やすい
flatmapなどもモナドの観点なく使えばよい
flatmapなどもモナドの観点なく使えばよい
391デフォルトの名無しさん
2026/08/21(金) 17:34:36.23ID:r0Io5phJ https://paiza.io/projects/OHbT6kBvhYGdSm036ZGHCg
モナドプログラミングではなくMonadicプログラミング。
純粋ではないがMonadとみなせるものを扱う。
モナドプログラミングではなくMonadicプログラミング。
純粋ではないがMonadとみなせるものを扱う。
392デフォルトの名無しさん
2026/08/21(金) 17:36:15.66ID:beX5364R 普通の言語でモナドにこだわらずにflatmapを使うメリットって逆に分からん
階層リストの一層平坦化変形にメリットがあるとかかい?
階層リストの一層平坦化変形にメリットがあるとかかい?
393デフォルトの名無しさん
2026/08/21(金) 17:41:42.40ID:beX5364R >>391
もしかして、正直者だけにMainの他にも見えるのかな?
もしかして、正直者だけにMainの他にも見えるのかな?
394デフォルトの名無しさん
2026/08/21(金) 17:43:25.67ID:r0Io5phJ generator().map(fb -> fb.toText()).forEach(System.out::println);
3つの部分をドットでつないで、1行で書くことができる。
generator()はStreamを発生させ、class FizzBuzz限定下でStream.ofはreturnに相当する。
flatMapはstreamに定義されておりbindに相当する。そのため、ドットでつなぐことができる。
mapはflatMapで定義されるが、この場合、flat化が不要なのでflatMapの限定版として使用する。
限定下で、モナド則を満たしている。
もちろん、class FizzBuzzはオブジェクト指向で操作されている。
ここまでが圏論的オブジェクト指向だが、
Stream<FizzBuzz>からStream<String>に変換されていて、
StringはFizzBuzzの性質を「受け継いでいる」。
この部分は場のオブジェクト指向に相当する。
3つの部分をドットでつないで、1行で書くことができる。
generator()はStreamを発生させ、class FizzBuzz限定下でStream.ofはreturnに相当する。
flatMapはstreamに定義されておりbindに相当する。そのため、ドットでつなぐことができる。
mapはflatMapで定義されるが、この場合、flat化が不要なのでflatMapの限定版として使用する。
限定下で、モナド則を満たしている。
もちろん、class FizzBuzzはオブジェクト指向で操作されている。
ここまでが圏論的オブジェクト指向だが、
Stream<FizzBuzz>からStream<String>に変換されていて、
StringはFizzBuzzの性質を「受け継いでいる」。
この部分は場のオブジェクト指向に相当する。
395デフォルトの名無しさん
2026/08/21(金) 17:44:00.83ID:8LreK5vZ >>392
flatmapは各種データを扱う時にいつも使う
どんな分野のデータにも同じ構造が出てくるけど
説明しやすい例だと
アーティストは複数のアルバムを出している
アルバムには複数の曲が入っている
アーティストが出している曲全てを得るにはflatmap
flatmapは各種データを扱う時にいつも使う
どんな分野のデータにも同じ構造が出てくるけど
説明しやすい例だと
アーティストは複数のアルバムを出している
アルバムには複数の曲が入っている
アーティストが出している曲全てを得るにはflatmap
396デフォルトの名無しさん
2026/08/21(金) 17:45:01.94ID:r0Io5phJ >>393
うむ、正直者にだけ見えます。
うむ、正直者にだけ見えます。
397デフォルトの名無しさん
2026/08/21(金) 17:47:27.65ID:beX5364R398デフォルトの名無しさん
2026/08/21(金) 17:49:01.43ID:fMkK+Qnb >>394
場のオブジェクト指向なんて用語は存在しない
場のオブジェクト指向なんて用語は存在しない
399デフォルトの名無しさん
2026/08/21(金) 17:51:30.66ID:fMkK+Qnb400デフォルトの名無しさん
2026/08/21(金) 17:53:42.88ID:beX5364R 遅延リストの登場が必要なシーンて実践では意外と少ないんだよね。
使ってもいいんだろうけどもね。
データ構造は既にメモリ上にDOMみたいに展開されている場合が殆どだし
使ってもいいんだろうけどもね。
データ構造は既にメモリ上にDOMみたいに展開されている場合が殆どだし
401デフォルトの名無しさん
2026/08/21(金) 17:54:27.71ID:r0Io5phJ 詳細は語らないが、Stream<String>が、class FizzBuzzの性質を受け継いでいることに気づいた。
これは本家 場の量子論や量子アルゴリズムに応用できるだろう。
(量子コンピューティングにおける)位相kickbackの正しい姿が見えた感じ。
くだらないことをやっていたら、かなりのお宝を発見した、と思う。
これは本家 場の量子論や量子アルゴリズムに応用できるだろう。
(量子コンピューティングにおける)位相kickbackの正しい姿が見えた感じ。
くだらないことをやっていたら、かなりのお宝を発見した、と思う。
402デフォルトの名無しさん
2026/08/21(金) 17:57:46.76ID:r0Io5phJ >>398
そりゃそうだ、お盆前におれが作ったやつだから。
そりゃそうだ、お盆前におれが作ったやつだから。
403デフォルトの名無しさん
2026/08/21(金) 17:58:49.03ID:beX5364R もうご先祖様は帰ったぞ
404デフォルトの名無しさん
2026/08/21(金) 17:59:49.88ID:2k7SrpH+ >>394
Stream関手がListやMaybe/Optionなどと同じくモナド則を満たすのは良い
ただしFizzBuzz -> Stringの射を作れる段階で関手によるリフト(fmap)で
Stream<FizzBuzz> -> Stream<String>が得られるので
モナド則によるbind( >>= )はあえては必要ない
Stream関手がListやMaybe/Optionなどと同じくモナド則を満たすのは良い
ただしFizzBuzz -> Stringの射を作れる段階で関手によるリフト(fmap)で
Stream<FizzBuzz> -> Stream<String>が得られるので
モナド則によるbind( >>= )はあえては必要ない
405デフォルトの名無しさん
2026/08/21(金) 18:01:09.54ID:I1Nsd4kh >>400
すでにメモリ上にあっても一覧にはなっていないでしょ
あなたの言うように階層構造になっているんてしょ
それならflatmapなどを使えばそのまま一覧を得られるでしょ
あなたはflatmapを使わずにどうコードを書いてるの?
すでにメモリ上にあっても一覧にはなっていないでしょ
あなたの言うように階層構造になっているんてしょ
それならflatmapなどを使えばそのまま一覧を得られるでしょ
あなたはflatmapを使わずにどうコードを書いてるの?
406デフォルトの名無しさん
2026/08/21(金) 18:12:47.06ID:beX5364R >>405
深い方向に成長した階層構造ならループとアクセス演算子になっちゃうな
深い方向に成長した階層構造ならループとアクセス演算子になっちゃうな
407デフォルトの名無しさん
2026/08/21(金) 18:14:27.74ID:ulIeP98F なんかオブジェクト指向と関係なくね?
408デフォルトの名無しさん
2026/08/21(金) 18:18:43.06ID:r0Io5phJ >>404
ジェネリックをどう扱うかによって変わると思う。
ドットでつなぐというのはbindに相当する。
ともかく、純粋ではないので、「みなし」によってMonadとして扱い、
Monadの利便性を使う。圏論における自然変換っては(数学的な)「みなし」の一種なのかも。
ジェネリックをどう扱うかによって変わると思う。
ドットでつなぐというのはbindに相当する。
ともかく、純粋ではないので、「みなし」によってMonadとして扱い、
Monadの利便性を使う。圏論における自然変換っては(数学的な)「みなし」の一種なのかも。
409デフォルトの名無しさん
2026/08/21(金) 18:20:48.47ID:sroAx62X410デフォルトの名無しさん
2026/08/21(金) 18:25:11.45ID:r0Io5phJ >>407
Monadという対象(概念も含む)を扱っているのでオブジェクト指向でよいと思う。
とはいえ、おれの興味は量子コンピューティングへの応用(位相kickback)に移ってしまった。
わざわざ定数をclass FizzBuzzに押し込めたのは、それを場とみなすためだった。
Monadという対象(概念も含む)を扱っているのでオブジェクト指向でよいと思う。
とはいえ、おれの興味は量子コンピューティングへの応用(位相kickback)に移ってしまった。
わざわざ定数をclass FizzBuzzに押し込めたのは、それを場とみなすためだった。
411デフォルトの名無しさん
2026/08/21(金) 18:38:48.61ID:ulIeP98F 局所的な実装方法をウダウダやってるのがオブジェクト指向?
412デフォルトの名無しさん
2026/08/21(金) 18:48:20.85ID:8pVoXpeO 動くコード書けないやつがウダウダ長文連レス書くクソスレがこちらです
413デフォルトの名無しさん
2026/08/21(金) 18:58:30.38ID:C/iR3xUF まともなプログラミングをすると自然にオブジェクト指向になる
普通に関連データを構造体にまとめるとオブジェクト指向の第一歩
その構造体を用いる関数をそこに集めればオブジェクト指向の完成
言語によっては構造体に関連関数を紐付ける機能がある
構造体をクラスと呼ぶ言語もある
普通に関連データを構造体にまとめるとオブジェクト指向の第一歩
その構造体を用いる関数をそこに集めればオブジェクト指向の完成
言語によっては構造体に関連関数を紐付ける機能がある
構造体をクラスと呼ぶ言語もある
414デフォルトの名無しさん
2026/08/21(金) 19:10:15.58ID:+7OJU/se 良し悪しの話ではないけど
クラス指向だと限界があるからOOP言語にはほぼAOP/DIな魔法がついてくる
クラス指向だと限界があるからOOP言語にはほぼAOP/DIな魔法がついてくる
415デフォルトの名無しさん
2026/08/21(金) 19:29:01.99ID:YiF5GLcE そこは結局interfaceやtraitを使え!という結論になるよな
416デフォルトの名無しさん
2026/08/21(金) 20:29:52.42ID:p4A6Ej6J そもそもなんでこんなに沢山プログラム言語があるんだ
何個かでいいだろ
何個かでいいだろ
417デフォルトの名無しさん
2026/08/21(金) 20:37:11.24ID:tuPqJn8K418デフォルトの名無しさん
2026/08/21(金) 20:42:54.89ID:tuPqJn8K ところがC言語とほぼ同じ速さで動くRustが登場
これまでより高い安全性を満たしつつ機能も洗練されている
ただし習得に少しかかる問題があった
ところがAIにより学習問題は解決
コンパイルが通るだけで様々な安全性を満たしてくれるため
コード生成させる時もAIと相性が抜群に良い
これまでより高い安全性を満たしつつ機能も洗練されている
ただし習得に少しかかる問題があった
ところがAIにより学習問題は解決
コンパイルが通るだけで様々な安全性を満たしてくれるため
コード生成させる時もAIと相性が抜群に良い
419デフォルトの名無しさん
2026/08/21(金) 21:00:17.29ID:Gi1J9j3d でもコンパイルが遅くてプログラムの規模が大きくなると
コンパイルが終わらないんだろ、大変だな
コンパイルが終わらないんだろ、大変だな
420デフォルトの名無しさん
2026/08/21(金) 21:05:03.75ID:lo3FELaH >>414
クラス指向なんて言葉ないだろ
クラス指向なんて言葉ないだろ
421デフォルトの名無しさん
2026/08/21(金) 21:21:14.34ID:+7OJU/se422デフォルトの名無しさん
2026/08/21(金) 21:50:54.93ID:Gi1J9j3d モデリングすることが良いことだというバイアスが
オブジェクト指向の印象を良くないものにしているような気がする
シンプルな処理をシンプルに書くのが大事だ
Enterprise Hello Worldを見てそう思った
https://github.com/Wolfdp/Hello-World-Enterprise-Edition-CSharp
オブジェクト指向の印象を良くないものにしているような気がする
シンプルな処理をシンプルに書くのが大事だ
Enterprise Hello Worldを見てそう思った
https://github.com/Wolfdp/Hello-World-Enterprise-Edition-CSharp
423デフォルトの名無しさん
2026/08/21(金) 22:22:12.13ID:Ld+jRNtV HelloWorldをのコードを見て結論を出してる人がいてワロタ
424デフォルトの名無しさん
2026/08/21(金) 22:47:45.44ID:Gi1J9j3d それなwww
425デフォルトの名無しさん
2026/08/21(金) 23:04:12.29ID:kH6z448d 思ったんだけどさ
AIで全部書ける
AIで完全に書ける
のであればわざわメモリ安全の言語じゃなきてもよくない
完全に書けるのならAIが配列や動的に確保してくれた位置を考えてそれ以上にループとかが進まないように制限してくれるよね
後で自分で追記する時メモリ安全じゃないよ言うのだったら「AIで全てが書ける」わけではないと言うことになるし
AIで全部書ける
AIで完全に書ける
のであればわざわメモリ安全の言語じゃなきてもよくない
完全に書けるのならAIが配列や動的に確保してくれた位置を考えてそれ以上にループとかが進まないように制限してくれるよね
後で自分で追記する時メモリ安全じゃないよ言うのだったら「AIで全てが書ける」わけではないと言うことになるし
426デフォルトの名無しさん
2026/08/21(金) 23:17:11.89ID:vPcZCoYZ >>425
これまで長い年月をかけて書かれたコードのメモリ安全性を証明する試みがいくつも行われてきた
しかしいずれも完成しておらず与えられたコードが安全かどうか確実に判定できない現実がある
これはAIが出力したコードが安全かどうか100%の判定ができないことを意味する
これまで長い年月をかけて書かれたコードのメモリ安全性を証明する試みがいくつも行われてきた
しかしいずれも完成しておらず与えられたコードが安全かどうか確実に判定できない現実がある
これはAIが出力したコードが安全かどうか100%の判定ができないことを意味する
427デフォルトの名無しさん
2026/08/21(金) 23:20:29.95ID:Gi1J9j3d > AIで完全に書ける
Rustじゃないと確認できなくね?
Rustじゃないと確認できなくね?
428デフォルトの名無しさん
2026/08/21(金) 23:22:58.22ID:1+5SHfXi プログラミング言語の中でRustだけがメモリ安全性からデータ競合安全性までRustの言語仕様により100%保証できるよ
つまりコンパイルが通れば100%保証される
AIはコンパイルエラーを見ながらコンパイルが通るまで頑張るだけで100%保証されるからAIとRustは相性が最高に良いんだよ
つまりコンパイルが通れば100%保証される
AIはコンパイルエラーを見ながらコンパイルが通るまで頑張るだけで100%保証されるからAIとRustは相性が最高に良いんだよ
429デフォルトの名無しさん
2026/08/21(金) 23:25:20.18ID:Gi1J9j3d JavaScriptラインタイムのBunはAIで作られていて
プログラム言語をZigからRustに変えた
Zigだとメモリ管理のバグが頻発して開発コストが高かったからだ
いまのAIでは無理だな、Rustへのトランスパイラを定理証明器で作るとか
そういう方向が現実的なんじゃねえかな
プログラム言語をZigからRustに変えた
Zigだとメモリ管理のバグが頻発して開発コストが高かったからだ
いまのAIでは無理だな、Rustへのトランスパイラを定理証明器で作るとか
そういう方向が現実的なんじゃねえかな
430デフォルトの名無しさん
2026/08/21(金) 23:29:28.16ID:kGpPvADd コンパイルパスさせるために
端折ったりバグ埋め込んだり平気でやりそう
端折ったりバグ埋め込んだり平気でやりそう
431デフォルトの名無しさん
2026/08/21(金) 23:35:21.17ID:Gi1J9j3d たしかに、人間だとそういうのあまり心配しなくて良いけど
それは人間の性格によるところがあるように思う
AIにも人格を芽生えさせてある程度の時間言動を追跡して
信頼できる人格か判定しないといけないのかのー
それは人間の性格によるところがあるように思う
AIにも人格を芽生えさせてある程度の時間言動を追跡して
信頼できる人格か判定しないといけないのかのー
432デフォルトの名無しさん
2026/08/21(金) 23:37:21.28ID:bIYKcSt2 >>430
それはコンパイル関係なく
人間の指示にわずかな漏れがあればAIは何でもやる
だから穴を検知するためAIにテストを生成させる
テスト生成に漏れがないかだけに専念させるAIに漏れをチェックさせる
その生成されたテストをコンパイル頑張るAIに与えてテストも同時に通させる
それはコンパイル関係なく
人間の指示にわずかな漏れがあればAIは何でもやる
だから穴を検知するためAIにテストを生成させる
テスト生成に漏れがないかだけに専念させるAIに漏れをチェックさせる
その生成されたテストをコンパイル頑張るAIに与えてテストも同時に通させる
433デフォルトの名無しさん
2026/08/21(金) 23:52:29.29ID:YfDi7NQj434デフォルトの名無しさん
2026/08/22(土) 00:15:51.49ID:zJHTHuDu435デフォルトの名無しさん
2026/08/22(土) 06:26:02.05ID:k3gSlcbb AIはマシン語で書けばいいんだよ
チェックするときはそれを逆コンパイルして好きな言語で読めばいいのさ
チェックするときはそれを逆コンパイルして好きな言語で読めばいいのさ
436デフォルトの名無しさん
2026/08/22(土) 06:30:48.14ID:o8Yeunra C++はそのうちメモリ安全性も取り込むと思うけど
437デフォルトの名無しさん
2026/08/22(土) 06:43:46.82ID:bgDHCveK >>436
それC++11から15年間頑張って来たけど無理だった
それC++11から15年間頑張って来たけど無理だった
438デフォルトの名無しさん
2026/08/22(土) 07:51:36.35ID:5sbOUOoc >>382
flatMap自作できるの?
flatMap自作できるの?
439デフォルトの名無しさん
2026/08/22(土) 07:58:34.83ID:06Fuc+wc ソフトウエアとして実現されているものはすべからく自作可能である(ニーチェ)
ただし、それが面倒くさくて煩雑だったり、既にあるモノをわざわざ作る意義が乏しいことは多々ある(プラトン)
ただし、それが面倒くさくて煩雑だったり、既にあるモノをわざわざ作る意義が乏しいことは多々ある(プラトン)
440デフォルトの名無しさん
2026/08/22(土) 09:31:26.30ID:06Fuc+wc そしてオブジェクト指向を迂闊に導入すると
ソフトウエアはぐちゃぐちゃになる
ここまで得られた知見ということで一旦結論
ソフトウエアはぐちゃぐちゃになる
ここまで得られた知見ということで一旦結論
441デフォルトの名無しさん
2026/08/22(土) 09:35:48.28ID:qikEO/T7 処理単位を明確に分割するのがオブジェクト指向のメリットでもあるんだけど
どうやったらオブジェクト指向でプログラムがぐちゃぐちゃになるってんだか
それは単にクラス分けとか失敗してるだけだろうね
どうやったらオブジェクト指向でプログラムがぐちゃぐちゃになるってんだか
それは単にクラス分けとか失敗してるだけだろうね
442デフォルトの名無しさん
2026/08/22(土) 09:38:45.72ID:06Fuc+wc そういう局所の書き方話ではなくてソフトウエアシステム全体に影響を及ぼす話
というか「処理単位を明確に分割する」って何だよw
そういうおためごかしがどのくらい混乱を招いて来たか反省する脳は
たぶん君にはなさそうだな
というか「処理単位を明確に分割する」って何だよw
そういうおためごかしがどのくらい混乱を招いて来たか反省する脳は
たぶん君にはなさそうだな
443デフォルトの名無しさん
2026/08/22(土) 09:39:43.51ID:06Fuc+wc さー、オブジェクト指向厨にけんかを売りましたw
444デフォルトの名無しさん
2026/08/22(土) 09:42:15.91ID:06Fuc+wc オブジェクト指向って何でこんなカルト迷信みたいに広まったんだろうね
ほんと、人によるの物事の受け止め方や、それによって脳に生じたノイズって面白い
いや詰まらない
ほんと、人によるの物事の受け止め方や、それによって脳に生じたノイズって面白い
いや詰まらない
445デフォルトの名無しさん
2026/08/22(土) 09:42:24.26ID:W68OZL8L 関数の切り分け方に比べるとメンバーやオブジェクトをどう設定するかは人によって相当分かれる。
その事実を明らかに無視したバカがオブジェクト厨になる
その事実を明らかに無視したバカがオブジェクト厨になる
446デフォルトの名無しさん
2026/08/22(土) 09:47:50.99ID:06Fuc+wc オブジェクト指向厨って結構、感覚的で
その方が直感的にわかりやすいと思ったからとか
平然と言ってくちゃくちゃしたコード書いて悦に入ったり不況活動した理り人を批判する
人畜無害じゃないんだよね。有害
オブジェクト指向が流行ったココ30年くらい、それは日本で丸投げ中抜き派遣作業が発展した時期と奇遇にも一致するんだけれど
この時代は、コンピューターサイエンス、ソフトウエア工学の暗黒時代だったと思っている
その方が直感的にわかりやすいと思ったからとか
平然と言ってくちゃくちゃしたコード書いて悦に入ったり不況活動した理り人を批判する
人畜無害じゃないんだよね。有害
オブジェクト指向が流行ったココ30年くらい、それは日本で丸投げ中抜き派遣作業が発展した時期と奇遇にも一致するんだけれど
この時代は、コンピューターサイエンス、ソフトウエア工学の暗黒時代だったと思っている
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】 高市首相 「円安ホクホク」発言に、米国が「What the fuck 」と日本に通知したことが判明 [お断り★]
- 外務省がアメリカ側に強く抗議したと発表 沖縄・那覇市の強盗殺人事件で海兵隊の男逮捕 [少考さん★]
- 「運動音痴にとって、体育の授業は『公開処刑』」 運動嫌いを生みだす日本の教育の問題点★2 [征夷大将軍★]
- 【速報】高市首相の「寝てない」にSNS賛否「命がけで頑張っている」「アピールはもうけっこう」 海外メディアも注目 (共同通信) [少考さん★]
- 【沖縄】米海兵隊の20歳男を強盗殺人容疑で逮捕 那覇市のホテルで女性殺害し財布など奪った疑い 「私は知りません」容疑否認 [ぐれ★]
- 【アジア大会】大村秀章知事が会見 「アジア版五輪」の成功を強調「やり切ることができた」 [首都圏の虎★]
- 2026 MotoGP Lap70【日本GP】
- とらせん 連覇 大祝勝会 13
- 東京競馬4回2日目
- 巨専】
- 【ATP】テニス総合実況スレ2026 Part 104【WTA】
- 京都競馬 4回2日目京都大賞典
- 北京の裕福な家庭出身で26年前に行方不明になった孫美華さん(当時30代)、山東省の寒村で変わり果てた姿で発見される [377482965]
- 日本料理、アジアで一番不味いとの評価頂く。→日本人なぜか発狂 [668024367]
- 【悲報】日本人、気づき始める「あれ?俺たちなんか貧しくなってね?」wwwwwwwwwwwwwwwwwwwwwwww [379664288]
- 



ハズレのお🏡




- 【実況】博衣こよりのえちえち空の軌跡the2nd🧪★1★2
- 【朗報】公明党代表、在日韓国人3世であることを表明wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww [339035499]