探検


Rust part35

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2026/03/26(木) 17:38:27.46ID:GquiOMQN
公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust

公式ドキュメント
https://www.rust-lang.org/learn

Web上の実行環境
https://play.rust-lang.org

※Rustを学びたい人はまず最初に公式のThe Bookを読むこと
https://doc.rust-lang.org/book/

※Rustを学ぶ際に犯しがちな12の過ち
https://dystroy.org/blog/how-not-to-learn-rust

※Rustのasyncについて知りたければ「async-book」は必読
https://rust-lang.github.io/async-book/

※次スレは原則>>980が立てること

前スレ
Rust part34
https://mevius.5ch.io/test/read.cgi/tech/1764213923/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2026/03/26(木) 17:44:45.64ID:/A2TJEsK
Rustってネットで持ち上げられすぎてね?
https://mevius.5ch.io/test/read.cgi/tech/1774264073/
2026/03/26(木) 23:37:11.41ID:on3OYL06
排斥すべきゴミ言語 C++ Rust 他
https://mevius.5ch.io/test/read.cgi/tech/1643696741/
結局C++とRustってどっちが良いの? 9traits
https://mevius.5ch.io/test/read.cgi/tech/1701997063/
Rustアンチスレ
https://mevius.5ch.io/test/read.cgi/tech/1509028624/
競プロにおいてのRust
https://mevius.5ch.io/test/read.cgi/tech/1663352373/
Rust(unsafe) vs C
https://mevius.5ch.io/test/read.cgi/tech/1646151892/
C/C++のソースをRustへ全力で置き換えるスレ
https://mevius.5ch.io/test/read.cgi/tech/1681777958/
Rust最強(仮)
https://mevius.5ch.io/test/read.cgi/tech/1735954922/
Rust vs Go
https://mevius.5ch.io/test/read.cgi/tech/1654019126/
そんなにRust,Rust言うならゲームエンジンでも
https://mevius.5ch.io/test/read.cgi/tech/1678619820/
4デフォルトの名無しさん
垢版 |
2026/03/27(金) 12:40:13.02ID:28KmzJCh
>>1
O2
5デフォルトの名無しさん
垢版 |
2026/03/28(土) 11:50:32.89ID:L7DgUnT2
平和教育
2026/03/28(土) 13:59:31.26ID:7hTfs29Q
このスレにたくさん居た驚き屋ってみんなユーチューブに行っちゃったの?
7デフォルトの名無しさん
垢版 |
2026/03/28(土) 18:09:39.44ID:bGEwGsfW
C/C++に帰っていったのかも
2026/03/28(土) 19:17:07.39ID:k/wIpYgd
C/C++ スレも過疎ってるよ。
2026/03/29(日) 09:27:46.70ID:WM1+84P1
>>2 が本スレ
10デフォルトの名無しさん
垢版 |
2026/03/29(日) 09:38:24.40ID:oVNe4Z1+
>>9
お薬飲み忘れないでくださいね
2026/03/30(月) 09:06:54.86ID:5wdn67hL
パワハラ相談ok?
2026/03/30(月) 09:15:48.26ID:uHyZT4VR
マ板でやれ
2026/03/30(月) 09:56:36.51ID:I2JABxny
>>11
Rustに関係してるなら
14デフォルトの名無しさん
垢版 |
2026/03/30(月) 12:56:14.90ID:DCKz4jDK
>>6
驚き屋ワロタ
2026/03/31(火) 10:11:39.67ID:n6tX/a/a
そもそも5chの老人たちの中に、Rustみたいなモダンな言語に追従できるやつがどれだけいると思うよ?
2026/03/31(火) 10:21:24.67ID:KnjKAoJu
Rustはもうモダンとは言えなくなってきた
2026/03/31(火) 12:18:12.35ID:CuQGcCRp
若い連中は言語なんか気にせずヴァイブコーディングだからな
いまだにコードに拘ってる時点でもはや老人
2026/03/31(火) 12:46:25.45ID:AlHCA6K6
なぜおっさんは若者にこだわるのか
2026/03/31(火) 14:51:46.81ID:spN5Do5t
若い頃にC++で苦労したシニア世代じゃないとRustの利用価値は分からないと思う
昔のC++の闇を知らない世代だと逆に学習曲線のハードルが高そう
2026/03/31(火) 15:12:27.16ID:QdNcx+/W
そもそもモダンに見えない
2026/03/31(火) 17:25:53.74ID:cAe5OwwO
Rustは最もモダンなプログラミング言語の一つ
2026/03/31(火) 17:55:05.13ID:928a46qt
モダンな掲示板へようこそ
2026/03/31(火) 18:15:59.81ID:ex4j+ioW
大正モダン言語
2026/03/31(火) 19:12:06.49ID:Oj7yaFIa
喪男の言語?
25デフォルトの名無しさん
垢版 |
2026/03/31(火) 19:17:21.02ID:JC3Yte+1
そんな、だれもlispに追い付けてないのにモダンなとか言われても。いやforthは追い越してるかもしれんが。
2026/03/31(火) 21:25:52.94ID:To6kXul2
for文使ってデータ処理して結果をVecにpushしていくよくある処理を、
for文使わずにモダンにイテレータメソッドチェーンにしてVecへはextendまたはcollectすると、
モダンな方が実行速くなったという記事があるけど、
仕組みと理由が納得できた。
27デフォルトの名無しさん
垢版 |
2026/04/01(水) 02:59:46.92ID:ofxXkZf9
Haskellからパクってるからそっちが正しい
2026/04/01(水) 04:18:43.29ID:xJ0ct01b
>>26
真にモダンな言語ならそういう差異は生まれない
2026/04/01(水) 05:28:52.52ID:uzR/ljvY
Rustはモダン以前の問題
30デフォルトの名無しさん
垢版 |
2026/04/01(水) 08:05:55.47ID:DdHYyClr
>>25
思想としてはFORTHの足元にも及ばん。Joyのほうがマシ。
もっとスタックフレーム指向で計算モデルを整理すれば追い越せるかもね。
31デフォルトの名無しさん
垢版 |
2026/04/01(水) 09:19:59.52ID:xuu8v5s6
ffmpegがcからRustに書き直してるそうで
速度が10倍遅くなるそうだ
32デフォルトの名無しさん
垢版 |
2026/04/01(水) 09:41:52.99ID:NaVwgxhR
>>31
それはすごい。せめて3倍くらいにおさえないとやる気なくしそう。
33デフォルトの名無しさん
垢版 |
2026/04/01(水) 09:46:04.28ID:NaVwgxhR
>>30
ああ、もしかして誤解をあたえた?forth だけはlisp を追い越してるかもしれんが、Rust ほかは全然だよね。ということで。
2026/04/01(水) 10:13:27.43ID:uR5aXfOa
lispは人工知能分野で強い
35デフォルトの名無しさん
垢版 |
2026/04/01(水) 10:42:41.71ID:m42idOiz
Rustの論文書いたぞ。
感想聞かせてくれ。
英語、フランス語、日本語。
日本語版はスクロールすれば下の方にある。

https://files.catbox.moe/6x0oat.pdf
2026/04/01(水) 10:42:55.58ID:+JgI7+JT
Q. RustとLispとForthどれが一番モダンなプログラミング言語ですか?

A. Rust、Lisp、Forthのモダン性についての比較は難しいですが、以下の点が挙げられます

Rust: 高安全性とセキュリティが求められる分野での使用が増加しており、特にブラウザ開発やIoTアプリケーションで注目されています。

Lisp: 関数型プログラミングの先駆者であり、メタプログラミングやAI研究において重要な役割を果たしていますが、現代のモダンプログラミング言語としてはあまり一般的ではありません。

Forth: 1950年代に開発された言語で、手続き型プログラミングの典型ですが、現代のモダンプログラミング言語としてはあまり普及していません。
2026/04/01(水) 12:52:35.77ID:EXuQGRF6
>>35
おじいちゃんの独り言じゃないかw
AIの反応が優しすぎて涙が出る

Rustについても誤解してる
38デフォルトの名無しさん
垢版 |
2026/04/01(水) 13:21:01.81ID:kbo32WwY
どっちがモダンかという比較において年度で比べるのが間違ってることをAIに教えたい
2026/04/01(水) 14:07:44.19ID:+JgI7+JT
モダンなプログラミング言語は、効率性・柔軟性・安全性を重視した現代のソフトウェア開発向けの最新言語です。
以下のような特徴を持っています。
・効率的で読みやすい構文:コードの保守性や生産性を向上させる設計。
・柔軟性と拡張性:大規模システムやクラウド環境での開発に適応。
・安全性の重視:型安全やエラーハンドリングの改善によりバグを減らす。
・非同期処理や並列処理への対応:高性能なシステム開発をサポート。
・コンポーネントベース設計やマイクロサービスとの親和性:再利用性やスケーラビリティを確保。
2026/04/01(水) 14:27:46.02ID:90OzJL3I
Common Lisp なら型安全以外はだいたい実現出来ているな。
41デフォルトの名無しさん
垢版 |
2026/04/01(水) 16:17:02.41ID:ofxXkZf9
aiコピペぉぢさんの魅力
2026/04/01(水) 18:26:42.69ID:6004iURp
この業界のポストモダニズムはLisp回帰か
悪くないな
43デフォルトの名無しさん
垢版 |
2026/04/01(水) 18:42:13.79ID:VcpJKmZe
Lispは逆ポーランド記法にしてくれればいいんだけどなぁ。
44デフォルトの名無しさん
垢版 |
2026/04/01(水) 18:48:21.58ID:nHAG/zls
>>40
その型安全が全ての根幹で最重要
Rustの場合はトレイト境界を満たすことも含まれるから例えばデータ競合も型安全で防いでいる
2026/04/01(水) 18:59:07.33ID:uR5aXfOa
lispにないってことは型安全って実は要らないんじゃないの
2026/04/01(水) 20:04:18.85ID:HI4Ei+8M
AIにも見捨てられたrust
2026/04/01(水) 20:16:49.60ID:FqTiZbYB
AIの盟主アンソロピックがAIにRust標準ライブラリの知識だけでRustによるCコンパイラ作成を完全自動生成
することに成功

Building a C compiler with a team of parallel Claudes
https://www.anthropic.com/engineering/building-c-compiler

To stress test it, I tasked 16 agents with writing a Rust-based C compiler, from scratch, capable of compiling the Linux kernel.

This was a clean-room implementation (Claude did not have internet access at any point during its development); it depends only on the Rust standard library.
2026/04/01(水) 22:09:40.33ID:MDHn2U4E
>>47
> Published Feb 05, 2026
> The compiler, however, is not without limitations. These include:
...
> The generated code is not very efficient. Even with all optimizations enabled, it outputs less efficient code than GCC with all optimizations disabled.
2026/04/01(水) 23:06:32.19ID:hE3ksIrA
>>47
>Rust標準ライブラリの知識だけで
これは完全な嘘
GCCパクリまくり

つか何ヶ月も前の終わった話を
持ち出さなきゃいけないくらい下火なのか
2026/04/02(木) 04:13:32.57ID:0tEnir0Q
Rewriting Project Claw Code
https://github.com/instructkr/claw-code

Rust port is now in progress on the dev/rust branch and is expected to be merged into main today.
The Rust implementation aims to deliver a faster, memory-safe harness runtime.
Stay tuned — this will be the definitive version of the project.
51デフォルトの名無しさん
垢版 |
2026/04/02(木) 05:10:06.62ID:aOhhC3sx
今時cコンパイラ作ったからなんやねん
驚き屋しか見ないやろそんなもん
2026/04/02(木) 05:52:15.84ID:oYRBSVZt
>>35
これが論文? バカじゃねえの
老人ホームから逃げ出してきたのか?
2026/04/02(木) 08:32:10.79ID:Pv3GlJQ+
>>45
Lisp にないのではなく Common Lisp にないって話。
高度な型システムはあって型システムをカスタマイズする仕組み (メタオブジェクトプロトコル) もあるけど静的に整合性を検証したりはしない。
Common Lisp は実行時エラーになったらそのままデバッグモードに入ってエラーが出たときの環境を調査したり書き換えたりしてプログラムを停止せずに続けられる仕組みがある。
ランタイムと人間もシステムの一部であるという思想なので運用の前提が Rust とは違う。

まあどれだけガチガチに型で固めてもどうせ不具合は出るもんだという前提に立つと Common Lisp のほうが現実的な場面は結構あるかもしれない。
ちなみに Lisp 系言語には静的型を指向するものもあるよ。
2026/04/02(木) 08:53:57.87ID:ilDp+XM6
>>50
一瞬で10万スターが付いた今最も勢いのあるAIプロジェクトがRust製というのが時代の流れを感じるなぁ
2026/04/02(木) 09:15:14.75ID:yjFQYCWc
最初pythonで作られたやつじゃん
訴えることができるならやってみろ、おしりぺんぺん!ってしてるみたいなもんだからpython, rustだけじゃなくtypescript以外の他言語でも実装していくかもね
2026/04/02(木) 09:30:43.18ID:PxKK70mR
速さと安全を両立して読み書きしやすいRustが採用された
2026/04/02(木) 10:14:23.38ID:nLN6kwQi
>>53
null safetyな言語ある?
typed racketですらダメだからlisp系とは根本的に相性悪いんだろうと思ってる
2026/04/02(木) 11:02:34.20ID:Pv3GlJQ+
>>57
Typed Racket は漸進的型付け。
根本的には動的な言語であるという前提で部分的に静的な検査を導入しただけで、それほど強くは静的型検査を指向してない。

Lisp 系でかなり強く静的型に寄ってるのは Carp だと思う。
Lisp 系にしては GC がないという思い切った設計になっていてメモリ管理は Rust を参考にした借用モデルを使っている。
でもまあ Lisp らしさって動的な部分にあると思うんで、あえて Lisp でやる価値もそんなには無いかなぁ……という気持ちもある。
2026/04/02(木) 12:03:57.72ID:nLN6kwQi
>>58
Carpもnull safetyは備えてないみたいだね

NimもそうだったしCにコンパイルする言語は
null safety無しのほうが実装難易度が低いんだろうね
2026/04/02(木) 15:11:37.94ID:MesiONUo
>>59
何のことを null safety と言ってる?
carp でヌルを発生させる方法を私には見つけられない。
2026/04/02(木) 15:39:44.80ID:SafmFYPD
>>56
最初からRustで書けないのが面倒だよなあ
62デフォルトの名無しさん
垢版 |
2026/04/02(木) 15:51:47.74ID:yRG5BhG0
最初からRustで書けば良いのに
2026/04/02(木) 16:36:34.32ID:qaRusPoi
整合性チェックが広範囲に波及するから
git branchとか使わないと最初からRustで書くのはしんどい

面倒だからバージョン管理使わない派の人だと
変更を元に戻すのも面倒になって詰む
2026/04/02(木) 21:41:38.38ID:m86EP1l0
https://www1.daiwair.jp/qlviewer/e-cast/2509059702scTvDPnFfu/index.html
2026/04/02(木) 21:56:28.14ID:kg/iANJt
>>51
人を全く介さずにCコンパイラのコードを自動生成させたのは初めて
なぜ作らせるものをCコンパイラにしたかというとLinuxをコンパイルできて動くという点で実用性を示せる題材だから
そして自動生成したRustコード製によるCコンパイラという点
2026/04/02(木) 22:01:32.25ID:kke3s+iC
>>65
Opus 4の頃からやってると書いてあろうが
読んでないのか?
2026/04/02(木) 22:04:03.56ID:kke3s+iC
今回は2週間$20,000かけて作った
2カ月前からほったらかしのドッグフード
2026/04/02(木) 22:41:56.70ID:FyGzgj0m
https://www.youtube.com/watch?v=YVbKTpfRbcc
2026/04/02(木) 23:00:31.82ID:nCfHHKC5
()乙
70デフォルトの名無しさん
垢版 |
2026/04/03(金) 05:57:18.54ID:yM/K8j9Z
このスレで発達イジリやめようや
ム板なんて多少なりとも発達気味な人多いんだから仲間だぜ
2026/04/03(金) 13:12:20.76ID:6+PqGN3H
>>47
もともと、Cコンパイラのソースコードは、完全なものから最小のものまで色々なレベルの物がネットに転がっている
から、AIは当然の事ながらそれを学習しているだろうから、有利に働くと思う。
ブロック崩しのソースコードがネットにあるから「ブロック崩しのコードを書いて」と言えば書けるのは当然なのと
同じ。そもそもブロック崩しとは何かがAIは言葉以上には実は分かってない。
2026/04/03(金) 13:15:16.12ID:6+PqGN3H
>>71
[追加]
・現実のCコンパイラは速度を上げるために複雑なコードになっていることが多い。
・最適化するために、最適化層に至る前の層も複雑なコードになっていることが多い。
・例えば、後半部分を LLVM にして良いなら劇的に簡素化される。
2026/04/03(金) 13:27:25.61ID:6+PqGN3H
>>72
[追加2]
・どういう仕様書に基づいて生成させたのかも重要。
・人間用のANSIの仕様書は難解。
・プログラマーとコーダーを分けて考える人がいる様に、仕様書を分かりやすく書いておけば、
 それをこーどに直すのは易しくなる。
・例えば、・・・の時には・・・とする、というような場合分けを丁寧に自然言語の言葉に書いておけば
 それをプログラミング言語に直すのは容易になる。
 しかし、そのように書かずに人間的な言葉でなんとなく書いてあれば、コードに直すのは難しくなる。
2026/04/03(金) 13:30:38.34ID:6+PqGN3H
>>73
[追加3]
・ANSIのC言語でも、前処理(preprocess)のマクロ展開は難解な部分とされていて、分かりにくい言葉で書いてある事が有名。
 それ故に仕様に曖昧さが残るといわれている。
・もしその部分を丁寧に書き直して分かりやすくすれば、コードに直すのは容易になる。
・しかし、現実のプログラマーの仕事は、そのような曖昧さの残る難解な仕様書から、本当に分かる仕様に
 変える作業も含まれている。
2026/04/03(金) 14:05:34.52ID:2ETSx3BA
>>31
ffmpeg公式の4/1ツイートは失敗したrav1dへの皮肉だよね
https://x.com/FFmpeg/status/2039115531744334180
2026/04/03(金) 15:30:36.38ID:F5W3qCzK
>>71-74
お前暇すぎだろw
そんな暇なら無駄レスする前にAnthropicのブログ読めよ
2026/04/03(金) 15:34:35.61ID:10SimIQT
あと該当リポジトリのissue読めば多くの技術者がどういう評価を下してるかも分かるぞ
2026/04/03(金) 16:58:50.19ID:RagznB4O
>>71
ネットに繋いで学習しない>>47と明記されてるようだが
79デフォルトの名無しさん
垢版 |
2026/04/03(金) 17:58:22.12ID:THNHLqPb
Rustは遅い
でも安全
速度はマシンスペック上げれば良い
安全性はスペックのように気軽に上げれない
2026/04/03(金) 18:41:15.95ID:G/Qu8/zs
それはそう。
でも現実に今、目の前にあるカスいコンピュータがカスだという状況もある。
2026/04/03(金) 18:41:36.43ID:x397iypp
>>78
バカかw
ネットに繋いでないのとネットにある情報を学習してないのと違いが分からないのかよ
>>47の「Rust標準ライブラリの知識だけで」みたいなミスリーディングは意図的かと思ってたが真剣に理解できてないだけだったんだなww
2026/04/03(金) 19:11:02.89ID:MHJr5lbm
AIがなかったらRustにもワンチャンあったかもだけど
もう駄目じゃね
2026/04/03(金) 22:37:05.83ID:qJdyuUnQ
>>82
AIにC/C++コードを吐かせると危険なことが判った
そのためC/C++分野は全てRustが貰っていくことになった
2026/04/04(土) 04:31:12.79ID:Cs59TOTF
ハァ?
2026/04/04(土) 05:51:12.38ID:mX6fz6x7
複雑になるとダングリングポインタが生じるコードなど紛れ込ませてくる
AIにはそれが起きないRustコードを吐かせるしかない
2026/04/04(土) 08:15:08.62ID:IsX4OVwK
人間にやりやすいのは AI (LLM) にもやりやすい。
人間が間違えるものは AI (LLM) も同じように間違える。
良くも悪くも LLM は人間の言語活動の模倣なんだよ。
2026/04/04(土) 09:10:52.49ID:AOlbSYAF
Claude Codeとかに書かせてても結構人間的なミスをするよね彼らはコンパイルエラーを見ながら修正するループを高速に回せるから最終的には動くものを出してくるけど
エラーにできない言語だと厳しい
2026/04/04(土) 09:28:08.66ID:UIphgm7C
丸投げだと初歩レベルの脆弱性をバシバシ仕込む、AIエージェントによる丸投げが業務レベルでも当たり前になってる世界で
熟練のプログラマでも初歩レベルの脆弱性をバシバシ仕込めるC/C++は本当にいいところがない
2026/04/04(土) 10:26:19.68ID:mX6fz6x7
コンパイルエラーにしてくれる領域が広ければ広いほど生成AIと相性いいね
そしてRustが最もコンパイルエラーにしてくれる領域が広い
2026/04/04(土) 10:45:18.04ID:IsX4OVwK
Rust の型システムの使い難さは静的検査の厳格さとのトレードオフ「ではない」という評価も有る。
つまりシンプルに出来が悪い (部分が多い) と考えられている。
それでもなお C++ とかより大幅にマシではあるんだが、これからもっと良い言語が生まれる余地はありそう。
2026/04/04(土) 10:56:30.76ID:4FyxPBQK
同期Rustはいい感じ
非同期Rustは未完成のゴミ
92デフォルトの名無しさん
垢版 |
2026/04/04(土) 11:29:51.98ID:nknXm3L+
>>90
Traitが基本的に早すぎる最適化に寄った言語設計だから、大規模プログラムとかインクリメンタル開発とかと相性が悪いというだけじゃない?

RUSTにも静的ダックタイピングとか構造的部分型とかは欲しい所。
(c++にも無い)concept の静的インターフェイス化とかやってる言語ないんかな?
93デフォルトの名無しさん
垢版 |
2026/04/04(土) 14:54:37.43ID:DnqazZjB
>Rust の型システムの使い難さは静的検査の厳格さとのトレードオフ「ではない」
めっちゃわかります
94デフォルトの名無しさん
垢版 |
2026/04/04(土) 16:19:50.94ID:YwPet25v
Rustの次の言語に期待だね
2026/04/04(土) 17:37:48.07ID:14SBX3ig
Rustはまだコンパイル時間が短すぎるから次の言語に期待する人の気持ちも分かる
わいはもう十分だけど
2026/04/04(土) 17:44:19.49ID:ImdimEgi
次に来るのはもうAI前提の仕様記述言語みたいなものだろうから、もうどうでもいい話だわな
2026/04/04(土) 17:45:08.37ID:Et656lmM
>>95
>Rustはまだコンパイル時間が短すぎる
長すぎるの間違い??
2026/04/04(土) 19:47:20.42ID:IsX4OVwK
>>97
もっとよい言語が出来たとしたらコンパイル時間がもっと長くなる (から Rust のコンパイル時間は相対的に短い) という皮肉だろ。
2026/04/04(土) 20:42:56.36ID:NTmmpnC8
>>98
ほんまかいな。
2026/04/04(土) 21:13:02.82ID:8gDjRiNB
Rustの比較対象がまだ存在しない未来の言語になってる時点でなあ
現状Rust一択だと認めざるを得ない
2026/04/04(土) 21:55:03.89ID:IsX4OVwK
Rust が良いとしても Rust ほど高度な言語機能が必要ないケースで使えばそれは不必要に設計コストやコンパイル時間を浪費してるってことになる。
牛刀をもって鶏を割くってやつだ。
そんなにいつも Rust が唯一の選択肢だとは思わないな。
102デフォルトの名無しさん
垢版 |
2026/04/04(土) 22:09:29.16ID:YNwVoyVe
最近JavaやC#使うならRustでいいと思ってる
2026/04/04(土) 22:14:19.34ID:UIphgm7C
Rust自体はAIで生成してもう手で書かないわけだから、もうそのへんの事務のおっちゃんでも楽勝なレベルで難しいってのは問題にならなくなったけど
コンパイル時間についてはAIでも消えないからなあ
2026/04/04(土) 22:48:21.08ID:4FyxPBQK
そのうち、AIがビルド後のバイナリを返してくれるようになる
2026/04/04(土) 23:18:07.88ID:Ztj6AW9o
技術的に可能であることと一般に普及することは異なる。
データセンターが AI のために使っている電力は想像以上に伸びているようで、昨今のエネルギー事情を考えれば AI に依存しきってしまうのはリスクが大きい。
2026/04/05(日) 00:58:42.68ID:F54ATllK
AIが生成した複雑なC/C++コードが安全かどうかを実行前に静的に調べる方法が存在しない点がネックだよな
107デフォルトの名無しさん
垢版 |
2026/04/05(日) 08:59:00.48ID:Y9kNLDjG
>>106
動かしてみたら分かるからいいよ
あとコードレビューも役に立つ
2026/04/05(日) 09:25:41.40ID:L+aDzCgV
コンパイルエラーにしてくれるRustはAIと相性がいいな
109デフォルトの名無しさん
垢版 |
2026/04/05(日) 09:42:39.10ID:DED/Pe1O
java c#てプログラマから嫌われすぎやろ
これ使ってるoss見たことないし
まあ実際うんこだけども
2026/04/05(日) 09:53:25.63ID:/mb8IM7A
Java も C# もそれなりに存在感はあるし、 (昔はともかく) 今の言語仕様は使いやすいよ。
動作環境をサンドボックス化出来るというのもセキュリティが重要な場面では有用。
ただ、当初に計画されていたほどには理想的にポータブルには出来なかったし、環境の分離はネイティブハイパーバイザのほうが性能が出るので相対的に価値が失われてしまったという事情はある。
なんだかんだで Android が Java の技術を基盤にしているというのもある。
Java や C# のクソなところは嫌でも使わざるを得ない場面があるってところだ。
2026/04/05(日) 10:34:34.18ID:C/SsMe5V
C#はともかくJavaのOSS見たことないのは流石に他の言語ディスっていいレベルじゃないぞ
2026/04/05(日) 11:46:55.84ID:FoBe4JDO
Rustの一番の問題は誰も使ってないってことなんだよ
AIすらRustを苦手
2026/04/05(日) 12:58:19.83ID:BRL6LaRE
JavaはOracleが余計な事してから仕事以外で使う気失せた
2026/04/05(日) 13:53:18.71ID:TqRoiUsj
今はOSSでもAI関係以外は入れないのが普通だろうし
PythonやElectronばっかりで、SwingとかEclipseのあれの上で動いてるツールとかは
若者だと見たことないのは普通かも
2026/04/05(日) 14:35:32.54ID:f04am/uo
見えてるOSSの範囲が狭すぎじゃね?

ローカルのデスクトップ環境にインストールするアプリやツール類に限った話ならJavaやC#が少ないのは当然だよね
2026/04/05(日) 14:37:55.85ID:v0UkFdzD
どうしてボコボコダウンロードしまくるの?

小さなライブラリをビルドするだけなのに

リリースごとのアーカイブにまとめないでリリースになんの意味があるの?

どうしてもなんどもダウンロードさせるなら
リリースアーカイブを配布するのやめなよ
2026/04/05(日) 14:48:05.67ID:NEaqMhcx
>>116
最初の1回しかダウンロードしないだろ
その後はオフラインで開発できている
118デフォルトの名無しさん
垢版 |
2026/04/05(日) 15:41:29.97ID:oCiRlrq4
>>113
ほんそれ
AIが生成した複雑なC/C++コードじゃなくて
AIが生成したRustコードを基にAIが生成した複雑なC/C++コードを吐かせれば良いのでは
怪しいかどうかはRustコードの方を観れば良い
119デフォルトの名無しさん
垢版 |
2026/04/05(日) 16:22:33.87ID:bGlugctW
バイブコーティングだと
シェア1位がTypeScriptで
2位がRustだという記事を見かけた
2026/04/05(日) 16:48:53.67ID:litg8zUp
まぁJavaScriptとか明らかに学習量多いはずなのに
普通に動かないコード出してくるからな
やはりコンパイル時点である程度チェック出来ない言語はLLMには厳しい
2026/04/05(日) 17:17:09.33ID:l5XY6ccM
>>115
C#のOSSはコード資産の量としてはまあまあ多いけど、
ライブラリばっかりで単独で使えるものは極めて少ないから、C#使ってないなら視界に入らないのはまあ仕方ない
Javaが見えてないのはさすがによほどの初心者か、そうでなければ見たいものしか見えない病気としか考えられない
122デフォルトの名無しさん
垢版 |
2026/04/06(月) 09:22:31.70ID:AlX6s9FN
Javaはオワコン
javascriptよりオワコン
123デフォルトの名無しさん
垢版 |
2026/04/06(月) 11:07:44.10ID:Uu462njx
java c#はベンダーもキモいし仕事でしか使いたくない
2026/04/06(月) 18:27:08.53ID:v46pEjjN
JavaはWeb系の自社開発みたいな、消滅してもさして困らないところではシェア低いけど
公共系の社会の基盤になってるようなところではシェア高いから安泰だろう
2026/04/06(月) 18:40:19.98ID:E+qwik4U
Javaを極度に嫌ってる人はOO苦手が多いイメージ
126デフォルトの名無しさん
垢版 |
2026/04/06(月) 19:09:25.51ID:ty62ENXf
Javaはマインクラフトの実績がある時点で他の言語は足を切って寝ないといけないよ
2026/04/06(月) 21:44:48.31ID:HVioHVSB
javaもRsutを同じ土方言語じゃん
仲良くしろよ
128デフォルトの名無しさん
垢版 |
2026/04/07(火) 08:11:55.39ID:Vptkccy3
JAVAはnullが無ければマシなんだけどね。
2026/04/07(火) 09:07:05.81ID:rSlNzsH8
今後はJava捨ててRustでええやろ
130デフォルトの名無しさん
垢版 |
2026/04/07(火) 09:27:34.15ID:DtEXGk+w
もうほとんどRustに書き換えたけどRustええわ
ビルドがどんどん重くなってるのが今難点だけどaxumもレスポンスが素晴らしい
131デフォルトの名無しさん
垢版 |
2026/04/07(火) 09:32:03.73ID:w0AumQGj
正直api程度なら書き味も含めてgoでいいような
2026/04/07(火) 09:34:57.96ID:ltYuNqp5
見た目でRustをパクってる新言語はいくつもあるけど、Goをパクってる言語はない
だから書き味でGoはないと思う
133デフォルトの名無しさん
垢版 |
2026/04/07(火) 09:50:38.12ID:DtEXGk+w
>>131
api程度ってwww
134デフォルトの名無しさん
垢版 |
2026/04/07(火) 09:56:35.24ID:SbtBc+j8
Goの書き味最悪なんだが
使う理由は「クラウドアプリでなんか強いらしい」とかじゃないの
2026/04/07(火) 10:34:15.84ID:wKJkoA5G
Go は C を順当かつ「最低限度に」改良したくらいのポジションだと思う。
こういうのでいいんだよこういうので……という手頃感を感じている人は多いと思うが他の言語がこぞって真似したくなるほどのインパクトはない。
高度な抽象化は皆が想像するほど必要ではないしむしろ害悪なことが多い (不必要な抽象レイヤを構築するために手間をかけてしまう事例が多い) という発見が Go の思想の前提にある。
そして実行時の性能も普通は CPU より I/O のほうが足を引っ張っているので無茶苦茶に最適化を頑張る必要はなくランタイムライブラリを頑張ってチューニングしておいたほうが効果的としている。
だからマイクロベンチマークでは Go はそれほど成績は良くないのにアプリケーションの性能は悪くない。
キッチリするよりも素朴で良いというのが良い書き味に感じるか不快と感じるかは人による。
136デフォルトの名無しさん
垢版 |
2026/04/07(火) 10:50:47.38ID:Oo0xf57T
Rustは過剰だしなあってときの代替がgolangしかないだけ
2026/04/07(火) 10:51:03.73ID:pQwUsn+c
GoはC言語並の素朴さで並行プログラミング対応のスクリプト言語のようなもの
その範囲内においてメリットを感じる領域と人たちがいる
その領域でもガッチリ書くならRust
2026/04/07(火) 11:17:17.12ID:wKJkoA5G
なんだかんだで大手が採用しているというのは安心感がある。
もちろん言語として及第点以上だというのは大前提として、さらに選択肢を絞り込むとなったらやっぱりそういう安心感が左右してしまうってのはある。
良し悪しを論じる前にそもそも知られてなければ選択肢に上がらないってのもあるから名前を知る機会が多いほうが使われやすい。
2026/04/07(火) 12:23:05.41ID:e4Wa3H7U
Goは標準ライブラリが充実していて枯れてるから、AIがブレにくいのは強みだね
その点Rustは周辺がカオスすぎて収束しにくく、AIにとっても人間にとっても厳しい面がある
2026/04/07(火) 13:24:24.75ID:lXvdAi3j
Goは例外なくしてる上にChdir()の戻り値無視してファイル作ってもスルーするから
暴走する前にkillする思想のRustユーザには受けない
そんなレベルまでC言語に寄せなくてもいいと思う
141デフォルトの名無しさん
垢版 |
2026/04/07(火) 15:26:31.45ID:F9tsDpYG
やっぱ大手が採用してる言語っていうのがでかいのでは
メンテとか含めてコントリビュータ依存にならないのは大事だと思う
2026/04/07(火) 15:35:43.98ID:ltYuNqp5
crates.ioの運営費って大手が負担してくれてるのかな?
143デフォルトの名無しさん
垢版 |
2026/04/07(火) 15:54:22.15ID:SbtBc+j8
Rust Foundationが出してるやろ
大元は大手含むスポンサーだが金以外でどこまで関与してるかは分からん
144デフォルトの名無しさん
垢版 |
2026/04/07(火) 18:00:18.99ID:w0AumQGj
ぽまいらももっとgo布教汁!w
2026/04/07(火) 18:09:01.10ID:9XpSlAE/
Goは使える領域が狭すぎてな
文法も弱すぎる
2026/04/07(火) 18:20:47.76ID:lXvdAi3j
// 文字型定義(Go布教用)
#[allow(non_camel_case_types)]
type rune = char;
147デフォルトの名無しさん
垢版 |
2026/04/07(火) 18:22:07.75ID:SbtBc+j8
2026/04/07(火) 18:26:37.81ID:lXvdAi3j
Goの文字型はルーン文字だった記憶がある
2026/04/07(火) 19:26:03.07ID:wKJkoA5G
>>144
良し悪しとは別に好き嫌いがあるのでな。
プログラミング言語は機械の動作を合理的に記述する道具であるだけでなく人が読み書きするということを忘れるな。
2026/04/07(火) 20:02:02.27ID:p35zndma
>>149
残念ながら人が読み書きする時代は終わってしまったのだ
2026/04/07(火) 20:09:17.49ID:POqEOZG8
書かないはギリあっても読まないはまだ無理やろ
2026/04/08(水) 03:39:14.58ID:6B9Kd+9S
>>150
AIは、やりたいことが定型に近い場合は伝えやすいが、他の人が余りやってない独自なことは、詳細を自然言語で
伝えるのがめんどくさくなるので、プロググラミング言語で書いた方がむしろ効率がいい。
2026/04/08(水) 04:47:02.02ID:4o+hArCd
まだそんなこと言ってるのかよw
154デフォルトの名無しさん
垢版 |
2026/04/08(水) 10:45:30.93ID:ydGAkrsp
馬鹿には無理
2026/04/08(水) 11:03:19.42ID:GY5CyZ3Y
>>153
Excel の簡単なプログラムだけしている様な人は AI で全て出来ると思っている人が多いが、
もっと難しいプログラムをしている人は、そうではないと言っている人が多いと思う。
2026/04/08(水) 11:13:00.04ID:GY5CyZ3Y
AI に関して :
1.「枯れた技術(Webフロントエンドなど)には強い反面、非常に特殊なハードウェア制御や、
 まだ世の中にコードが少ない新しいライブラリ、低レイヤーの最適化などでは精度が落ちます」
2. AIは、「もっともらしいが微妙に間違っているコード」を書いてくることが有る。
2026/04/08(水) 11:15:27.58ID:GY5CyZ3Y
>>156
3. 間違っていてもそれが発覚するのがレアなコードの場合、テストしただけではすり抜ける事が多い。
 そのため、コード自体を良く見て頭の仲でシミュレーションし、どんな場合でも、
 あるいは、レアケースな場合でも、安定して動作するかどうかを見極める事が必要である。
2026/04/08(水) 11:26:53.82ID:8655VXTE
OpenClawの人はOpusレベルのモデルを使うなら
AIが自己テストと検証でコミットしていいと言うなら、人間はレビューもせず無確認でコミットしてよく
実際にそれで開発を回して問題も起きては無いと言っている
2026/04/08(水) 12:30:20.16ID:GY5CyZ3Y
>>158
nVidiaのCEOは、既に AI が AGI に達したと言ってみることもあれば、AI は人間から仕事を奪うものではない、
などと言ってみたり、よく分からない状態にある。
2026/04/08(水) 12:53:28.67ID:GY5CyZ3Y
>>153
まだHTMLの仕様書を作る前の段階(今から数十年前)で、それを考えるのを今の最新AIに丸投げしても、
良い仕様書が出来るとは思えない。
だから人間が考えないと。仕様書を考えるのもプログラミングの一部。
それに、それを表示するブラウザ(Chrome)のプログラミングも、細かい指示なしに全部丸投げでAIが作れる段階には
ないと思う。
それに機能追加とか、バグ取り、機能修正なども今の AI には難しいと思う。
161デフォルトの名無しさん
垢版 |
2026/04/08(水) 13:09:48.60ID:ydGAkrsp
AIωがあなたの仕様書にはバグがありますって言ってくれる時代まだかな
2026/04/08(水) 16:54:52.26ID:4o+hArCd
>>155
2年前ぐらいのことの話?
2026/04/08(水) 23:22:27.68ID:4WwzAcB7
Firefoxがクラッシュする原因の最大15%がメモリのビット反転によるものだという分析結果
https://gigazine.net/news/20260306-firefox-bit-flip/
2026/04/09(木) 10:40:51.74ID:3Zln/ZOX
>>163
Firefoxも安心安全のRustを採用すればこんなことにならないのに馬鹿だなw
2026/04/09(木) 10:45:53.93ID:OR2bjU4a
Rustのメモリ安全あればECCも要らなくなるというのか
2026/04/09(木) 10:59:01.83ID:Zxit+kdi
宇宙線のいたずらも防げる
2026/04/09(木) 11:33:37.23ID:oPrq6+h1
>>164
Firefoxのメモリ管理部分はC++で書かれたまま
Rustになっていない
2026/04/09(木) 11:42:31.05ID:42cFNN15
メモリ安全とミドリ安全って似てるな
2026/04/09(木) 11:52:20.87ID:ytPrDBLw
>>163
今だにFFの人のかなりの割合が元パワーユーザーか何かで
年期の入ったPCを使い続けてヘタっているのに
CPUやメモリをオーバークロックしてるのでは
170デフォルトの名無しさん
垢版 |
2026/04/09(木) 12:13:37.47ID:81bKrnxx
Rustの本家本元がこれじゃあ広まらんわ
2026/04/09(木) 12:47:23.19ID:0JHbnyAx
何年も前にFirefoxは資金難でRustを手放してIT大手各社で結成したRust Foundationへ移管したよな
Webブラウザについて今はむしろChromeやEdgeのRust化が進行している
2026/04/09(木) 13:57:53.06ID:/OVoEbDm
Linuxの時もそうだったが、指摘された問題点を信者はいつも全否定してきた。
2026/04/09(木) 14:04:44.64ID:jVvXPQcg
Firefox開発者「 ちくしょー! Rustさえ手放さなければー! 」
↑こんな感じか
いろいろ難しいんだな
2026/04/09(木) 14:54:59.98ID:gFjbzMfn
>>173
Rust を使えなくなる形で手放したわけではないし、実態としては管理の手間が消えただけなので Firefox 開発者が後悔するような要素はないよ。
175デフォルトの名無しさん
垢版 |
2026/04/09(木) 18:09:39.95ID:h6oj+eaX
やっぱ自分で管理するよりコストも手間も減って助かってるってことね
Mozillaやるやん
2026/04/09(木) 18:10:42.16ID:gdIWt2RC
ビット反転なんて初めて聞いたけど、そんなのが起こるのはそもそもコンピューターとして失格だろ
177デフォルトの名無しさん
垢版 |
2026/04/09(木) 18:13:29.62ID:h6oj+eaX
>>176
ビット反転とかはプログラマーしか使わなさそう
2026/04/09(木) 18:51:34.51ID:rpUf5jxB
>>164
リンク先の記事のいう「ビット反転」とは、ソフトウェアでなく、ハードウェアに起因するもので、
ソフトウェア実行時の不具合の多くはソフトウェアそのものや実行環境との相性によるものですが、ハードウェアが
原因で不具合が発生する場合もあります。Firefox開発チームの一員であるガブリエレ・スヴェルト氏は、
「Firefoxのクラッシュのうち最大15%はメモリに存在する物理的な欠陥が原因だった」という興味深い調査結果を報告しています。
とのことだ。
2026/04/09(木) 18:56:38.90ID:YjgLqYsY
>>176
残念ながらビット反転は普通に起きるので
サーバ向けのメモリには反転したビットを訂正できる機能が付いてるし
もっと高信頼なシステムだと複数のCPUで結果を突き合わせながら実行したりするのです…
2026/04/09(木) 19:15:40.07ID:Zxit+kdi
マリオ64 RTA 宇宙線
で検索
181デフォルトの名無しさん
垢版 |
2026/04/09(木) 19:38:51.15ID:81bKrnxx
宇宙線信じてる奴いるの?
2026/04/09(木) 19:51:58.47ID:UcCfM8nT
>>181
ホントそれ

よく引用されるIBMの統計
Studies by IBM in the 1990s suggest that computers typically experience about one cosmic-ray-induced error per 256 megabytes of RAM per month.

最近の第3者研究
https://arxiv.org/html/2407.16487v3

Not all studies agree that cosmic rays dominate DRAM errors in production clusters; a recent large‑scale HPC analysis found no clear correlation between cosmic rays and observed DRAM errors at their sites, suggesting other failure modes and system factors matter. Treat published rates as context, not absolute truth.
2026/04/09(木) 20:44:03.29ID:l4aVIbNc
宇宙線由来だけでなく半導体パッケージ内の微量放射性物質などの原因でもメモリのビットエラーは起きている
プログラムが常駐するサーバ用途などでは実際に問題が発生しているため
エラー自動訂正のECCメモリが使われてるよ
2026/04/09(木) 21:33:26.42ID:Zxit+kdi
宇宙線はネタ半分だけど可能性は否定できない
2026/04/09(木) 21:36:52.90ID:KZZf2uuq
宇宙線信者w
2026/04/09(木) 21:59:22.56ID:GkRbkozH
でも、再現性の無いバグという物は、ハードウェアや宇宙船が原因でも良くあることなんだ。
典型的には、変数の初期化し忘れ。
後は、Window の WM_XXXX メッセージが、非常に特殊ケースで順序が変わったり、来なかったり、余分に着たりすること。
あるいは、滅多に来ないが、0 での除算が起きるとか。
あるいは、マルチスレッドで微妙にタイミングがずれることがあるのが、実験ではなかなか発見できないとか。
ゲームの場合なら、2つのポリゴンの境界の目には見えないスキマみたいなところですり抜けが起きるとか、
シーン切り替わった時に2つのキャラが同じ座標に出現して重なって動かなくなったり、それが変なロジックにはまって
ハングアップのような事が起きたりとか。
その他、非常に多くの事が原因で再現性の低いバグが入り込む。
2026/04/09(木) 22:00:17.12ID:GkRbkozH
>>186
誤: でも、再現性の無いバグという物は、ハードウェアや宇宙船が原因でも良くあることなんだ。
正: でも、再現性の無いバグというものは、ハードウェアや宇宙線が原因でなくても良くあることなんだ。
2026/04/09(木) 22:12:13.74ID:jVvXPQcg
>でも、再現性の無いバグという物は、ハードウェアや宇宙船が原因でも良くあることなんだ。
典型的には、変数の初期化し忘れ。

↑脳がバグりそうになった
2026/04/09(木) 22:12:32.69ID:GkRbkozH
Windowsアプリだったら、CreateWindow() 直後に CMyWnd::OnSize() (WM_SIZE) が必ず来ることを当てにして、そこで
サイズが決定した/変更された後の処理をまとめて書いておいたとしても、特殊ケースでは、WM_SIZE メッセージが思った
タイミングでやってこないがために、サイズを発端とした多くの変数の変更や初期化が行われないとか。
子ウィンドウが初期化されるタイミングでは、親ウィンドウのそのような変数が初期化されていることを前提にして良い
のかどうか、OSの仕様をよく確認する必要がある。
基本クラスの初期化のタイミングが仮想関数やメンバ変数が絡んだ時に、盲点となる場合もありえる。
良くあるのは、メンバ変数の「親」の this を、メンバ変数に渡したような時に、thisのメンバがまだ
初期化されて無いのに、親クラスのメンバ変数を呼んでしまっているとか。
或いは、多重継承した時は、cast する時に、アドレスが変化してしまうときがあるとか。
もっと言うと形式的には同じ仮想関数なのに、引数の this と、関数定義部分の this は、実はアドレス偏差が
あって同じ値ではなくなっていることが有るが、余り語られることは無い、とかもある。
項いう事に気付かずにプログラムしていても、再現性の無いバグの原因になるかもしれない。
2026/04/09(木) 22:20:45.11ID:GkRbkozH
よく知られていることでは有るが、WM_LBUTTONDOWN に対して、WM_LBUTTONUP が対に来るのが基本では有るが、
Window A でボタンを押して、Window B でボタンを離すと、Window A には、WM_LBUTTONUP は来ない、という現象がある。
WM_LBUTTONUP が必ず来ることを仮定するとバグるが、実験ではそのようなことは発覚しにくいので再現性の低いバグになる。
或いは、MessageBox() が、Modal Dialog 的に出て停止しているときに、Windows OS の TaskBar の右下の小さな縦長の長方形
を押すと、全ての Window が画面から消えてしまうが、同じアプリだが MessageBox() の Owner 以外を RESTORE すると、
Modal Loop が想定したのとは異なる状態になって非常に分かりにくい現象が起きる。
2026/04/09(木) 22:21:42.03ID:DPHjL9UN
ビット反転エラーだと判明したのは
例えば本来指しているへきポインタ値がランダムに1bitだけおかしいなど
バグでは起きえないことが起きていたわけだろ
2026/04/09(木) 23:29:20.03ID:FBPUyiOq
>>191
2026/04/09(木) 23:29:36.11ID:FBPUyiOq
>>191

Gabriele Svelto
@gabrielesvelto
And to reinforce this estimate I've looked at the numbers we got from the users who run the memory tester after having experienced a crash: for every two crashes we think are caused by a bit-flip the memory tester found one genuine hardware issue. Keep in mind that this is not doing an extensive test of all the machine's RAM, it only checks up to 1 GiB of memory and runs for no longer than 3 seconds... and it has found lots of real issues! 4/5
2026/04/09(木) 23:32:33.30ID:FBPUyiOq
メモリテスターで分かる程度にヘタレタ機器らしいね。
基盤直付けのMacでもそういう症状があったとの事。

Gabriele Svelto
@gabrielesvelto
And for the record I'm looking at this mostly on computers and phones, but this affects *every* device. Routers, printers, etc... you name it. That fancy ARM-based MacBook with RAM soldered on the CPU package? We've got plenty of crashes from those, good luck replacing that RAM without super-specialized equipment and an extraordinarily talented technician doing the job. 5/5
195デフォルトの名無しさん
垢版 |
2026/04/10(金) 21:49:17.98ID:iPdQWZjF
>>188
宇宙船からコンピュータを守る方法ってないの??????
2026/04/10(金) 23:49:03.66ID:o0b/zdzM
銅で3重に覆う
2026/04/11(土) 12:01:35.29ID:LbBmkmf/
トイレを3個用意する
2026/04/11(土) 14:26:28.76ID:1WgCf3pZ
>>195
金属ケースの中に入れるだけでも効果が有ると言われている。
だから、自作PCの透明ケースを使う人はアホ。
せっかく金属で覆っていたのに。
2026/04/11(土) 14:31:13.36ID:1WgCf3pZ
ちなみに、宇宙線は通常、空からやって来るので、ケースの置き方にもよるが、PCケースの空に近い面が金属で有れば、
だいぶましになるが、斜めから入っていることもあるので、側面も金属である方がいい。
鉛などの「重い金属」は効果が高いと言われている。電磁波に対しては電気を通しやすいものも効果が高いと言われている。
通常、鉛は人体に毒性があるので、鉄、胴、アルミなどが使われる。
なお、同じ金属であれば、分厚い方が効果が高いと言われている。
2026/04/11(土) 15:03:04.00ID:3RqrtGa1
現代の集積密度のコンピュータだとシールドで宇宙線を防ぐのはそれほど効果がない。
アクリルとかよりは金属のほうが効果があるのは本当だけどどっちにしろ些細な効果しかないので考えるだけ無駄。

半導体の設計の時点でビット反転を検出できる仕組みが必要だと考えられていてそれが ECC なんだが主要なメーカは家庭用途・オフィス用途程度では ECC なしでも充分な信頼性があると言い張ってる。
でも大規模に運用されているソフトウェア (もちろん Firefox もそう) のエラーリポートでは実際問題としてメモリのビット反転による問題が結構な割合を占めている事実もある。
201デフォルトの名無しさん
垢版 |
2026/04/11(土) 15:18:32.36ID:/355Vd7N
宇宙線でレジスタ書き換わるとかメモリ書き換わるとか普通にあるから、想定したコード書けばいいだけ
下手すると通信ケーブルとかバスラインでも変な値に化けることあるよ
組み込みとかやってるならチェックサムや再送入れとくと良いとされる
2026/04/11(土) 16:02:45.79ID:uegNdhui
なんのスレやねん
203デフォルトの名無しさん
垢版 |
2026/04/11(土) 16:50:44.45ID:TSmUXAnd
キチガイのスレ
2026/04/11(土) 19:11:33.84ID:0B705h32
Rustスレ的にはどうでもいいことに限って
複おじの琴線に触れて自演がはじまってしまう
2026/04/12(日) 10:41:43.56ID:+2yrPciI
こんなスレどうでもよくないと思ってるの複おじだけや
206デフォルトの名無しさん
垢版 |
2026/04/12(日) 11:00:37.90ID:QUPgzH9+
部屋の電灯を蛍光灯からLEDに変更したら
紫外線か高エネルギー粒子が増えたのか
保存してたBDディスクの劣化が速くなった気がする
207デフォルトの名無しさん
垢版 |
2026/04/12(日) 11:05:09.66ID:QUPgzH9+
>チェックサムや再送入れとく
伝送部分はそれで解決してもレジスタやメモリ書き換わるのはどうすんの
2026/04/12(日) 11:36:21.82ID:hroZv3bW
そらメモリもプロセッサも冗長化して多数決よ
209デフォルトの名無しさん
垢版 |
2026/04/13(月) 05:27:51.48ID:AQ43DQHn
rustling 全部終わってから日本語版があることに気付いたorz
https://github.com/sotanengel/rustlings-jp
2026/04/14(火) 08:14:28.77ID:HrRZ6VRg
Servo v0.1.0 (LTS) がリリースされたぞ
近ごろ勢いづいてる
2026/04/14(火) 22:18:27.45ID:c+wb1hIp
Servoは5chが正常にレンダリングされるところまでいくにはどれぐらいかかるだろうか
CursorのところがAIエージェント丸投げで、Googleがレンダリングできるブラウザをゼロから作ったって自慢してたりもしたけど・・・
212デフォルトの名無しさん
垢版 |
2026/04/14(火) 22:21:31.01ID:6WzUJ2sS
ladybirdでよくね
213デフォルトの名無しさん
垢版 |
2026/04/16(木) 20:51:20.79ID:ViCqQvsN
いいね

Servo on Android just got a big refresh:

- Material 3 design
- A dedicated tablet layout
- A new browsing history view

https://github.com/servo/servo/pull/43795

https://floss.social/@servo/116414209371196954
2026/04/16(木) 21:05:28.52ID:c8LMMwfC
>>213
PC用ももう少しservoshellに手を入れてほしいが
あくまでテスト用UIて扱いなのかな
2026/04/16(木) 21:05:34.95ID:HYpkdpsG
まず間違いなくBlinkがAIによってRustにリライトされる方が早いから、もはやどうでもいいな
216デフォルトの名無しさん
垢版 |
2026/04/16(木) 21:37:43.72ID:KnBd0vCL
ossもai製のうんこプルリクが多くてメンテナが困ってるそうな
217デフォルトの名無しさん
垢版 |
2026/04/17(金) 12:20:00.71ID:SdRfjPRe
理解した上で使ってればいいけどな
2026/04/17(金) 23:06:34.67ID:h0U2lv7A
実際AI丸投げのプルリクやら技術記事やら投稿してるやつらは溢れるほどいるけど
金に直結する企業ならまだしも、個人でそんなことやって何か承認欲求満たされるもんなのかね?
2026/04/18(土) 09:09:42.19ID:24rQZZsz
具体的に自分が欲しい機能があるなら単に要望を出すだけよりは(AI 丸投げでコードとして質が低くても) プルリクエストの形になっているほうが効果的な可能性はある。
今までその機能を欲しいと思ってなかった人が使い勝手を確かめて有用だと認識すれば真っ当なパッチを作ってくれるかもしれないので。
プルリクエストをすることが目的になってるやつはなんかおかしいなとは思う。
220デフォルトの名無しさん
垢版 |
2026/04/18(土) 13:26:29.15ID:kc4KzRQe
日本に第三帝国を造るらしいぞ🇯🇵
https://x.com/teamjces
https://farcaster.xyz/teamjces
2026/04/20(月) 23:34:47.77ID:xAz+L9GI
やぱCよりも遅いの?
なんでリヌースは認めたんだろ。
2026/04/21(火) 00:42:09.88ID:+pyYDuvR
もちろんCより速いこともある
抽象度の高い記述がそのまま最適化されやすくなるために起こり得る
223デフォルトの名無しさん
垢版 |
2026/04/21(火) 05:19:40.46ID:pDbBUe3v
>>211
試していないから現状はどうなのか分からんが、あと数ヶ月くらいで出来るようになるか?


@servo is now capable of rendering @Mastodon !

Servo is becoming usable, such a good news ! (this post was also created from #servo)

#webbrowser #rust

https://mastodon.social/@rsm92/116435935388464051
2026/04/21(火) 09:47:55.09ID:xGSCt845
今のServoで5ch、普通にレンダリングされるけど?
レス先のポップアップとかも
細かい挙動までは知らんけど
2026/04/21(火) 10:34:05.37ID:y4EoT83t
まだそんな話をしてるレベルなんだな
226デフォルトの名無しさん
垢版 |
2026/04/21(火) 11:00:33.55ID:7MzMcSNo
Linux Foundationに移管されて息を吹き返したか
227デフォルトの名無しさん
垢版 |
2026/04/21(火) 13:11:11.02ID:iraWl7Ia
この更新ペースだと完成しても使おうってならんくね
228デフォルトの名無しさん
垢版 |
2026/04/21(火) 13:39:08.62ID:KEMHWJRA
そもそも何のために開発が続いているのか
2026/04/21(火) 15:10:27.32ID:ISKzkPjC
生物多様性と同じ。
実装の多様性に乏しい状態は規格の健全さを損なう。
230デフォルトの名無しさん
垢版 |
2026/04/21(火) 17:43:20.42ID:B8y60nW9
ブラウザってよくメモリリークぽい挙動するから期待してる
2026/04/21(火) 18:13:02.91ID:+sZpzapn
Firefox「…」
2026/04/21(火) 19:15:36.83ID:xGSCt845
>>228
Tauriのレンダリングエンジンとしての活用が期待されている
内部のコンポーネント単体でも使い出があるだろう
2026/04/21(火) 20:12:18.80ID:uU3lW19K
最近はAndroidとかOpenHarmonyサポートが入ったりしてるから
アプリへの組み込みレンダリングエンジンとして期待されてるんだろうね
2026/04/22(水) 10:10:10.37ID:CrCQGIhA
でも完成するのは20年後とかなんだろ
235デフォルトの名無しさん
垢版 |
2026/04/22(水) 10:23:53.32ID:NK33y0Zl
>>234
お前が完成させるんじゃい!
2026/04/22(水) 10:28:05.93ID:EhACh6me
>>232
Tauriアプリ配布にServoエンジン同梱になれば
サイズが増えるがよろしいか?
2026/04/22(水) 10:45:15.42ID:QDwc5NQF
約100MB増量ですな
2026/04/22(水) 11:11:33.98ID:3a+AH+qU
>>236
選択式になるんだよ
同梱したい人だけが同梱する
239デフォルトの名無しさん
垢版 |
2026/04/24(金) 00:45:01.17ID:w9BWmGi3
プログラミング完全初心者のパソコンの大先生だけどrust始めるね
240デフォルトの名無しさん
垢版 |
2026/04/24(金) 05:59:45.19ID:nHzBl2mT
RustってCを学んでからやったほうがいいと思ってたんだけれど、どうなん?
Cをやる前にthe book読んだら全く以て意味不明だったわ
わいの頭の問題かもしれんがw
241デフォルトの名無しさん
垢版 |
2026/04/24(金) 06:56:13.61ID:ujeIaTWF
まあCSをしっかり学んでからやる言語だよね
人によっては数学から必要
2026/04/24(金) 07:29:27.02ID:WQ4w9aOP
C の延長線上にある低レイヤ向け言語ではあるけど型システムは抽象度の高い Haskell 風だし Lisp 系から持ち込まれたマクロも合わさったキメラ的デザインだよ。
低レイヤ側の人も高レイヤ側の人も馴染みにくい部分がある。
たぶん Rust と立場が近いのは C++ だと思う。
2026/04/24(金) 08:40:28.96ID:2P9tCzHi
Rustはアセンブラを知ってる人間がニヤニヤしながらイテレータを選ぶもんだろ。
2026/04/24(金) 09:34:54.93ID:IbRrFRqw
Rustやるならまずアセンブラだな
2026/04/24(金) 09:40:53.09ID:2P9tCzHi
そもそもCは高級アセンブラだ。
2026/04/24(金) 09:42:49.62ID:vxhIEr6g
74の履修は赦されたか
2026/04/24(金) 09:53:39.48ID:2P9tCzHi
まあ読め。下にスクロールしていったらフランス語版と日本語版が出てくる。

https://teamjces.github.io/www/paper/2026-03-31-compile.pdf
2026/04/24(金) 10:35:29.97ID:HbWkmlyi
rustなら右辺値参照なんて事を考えなくていいって事か。
2026/04/24(金) 11:39:47.06ID:l7yKi/mj
Rustと立場が近いのはC++と言う点は同意するが
RustとC++の相性は最悪
2026/04/24(金) 11:57:46.05ID:2P9tCzHi
継承なしのOOPならCでもできるし実際やってた。
251デフォルトの名無しさん
垢版 |
2026/04/24(金) 13:36:51.14ID:j7G9vljv
リーナスもc+はクソてゆってた
252デフォルトの名無しさん
垢版 |
2026/04/24(金) 20:34:07.35ID:L0BoTfH5
Cにプリプロセッサの皮被せたのがC++の最初だから
CでOOP出来ないわけないんだよね

今のTypeScriptみたいなもん
2026/04/24(金) 21:27:12.11ID:HbdFiTGP
オブジェクト指向自体はプログラムの構成というか方法論なのでプログラミング言語によらず可能といえば可能ではある。
でもプログラムは人が読み書きするものだからね。
オブジェクト指向の思想で書くのならオブジェクト指向に「見える」のが望ましいし、プログラミング言語として様々なサポートが充実していればより良い。
どれくらい充実していればオブジェクト指向言語と言えるのかは明瞭な基準があるわけではない。
254デフォルトの名無しさん
垢版 |
2026/04/24(金) 22:10:07.72ID:Yo/pC6tM
継承ありのOOPもCでできるし実際やってた。
2026/04/24(金) 22:10:51.90ID:IbRrFRqw
C++はいらない子だったのかもな
2026/04/24(金) 22:14:48.40ID:HbWkmlyi
いちお カプセル化と継承と多態化は出来ないとね。
まぁちろちろ調べてたら、C系との住み分けが出来そうで良かったね。
rust 勉強しようっと。
2026/04/24(金) 23:01:01.62ID:HbdFiTGP
>>255
C++ の理念のひとつは「今、使えるものでなければならない」だよ。
理想的なものが出てくるまでぼんやり待ってるわけにいかないだろ。
C++ が登場した時期に C++ みたいなものはなかったんだから要る言語だったよ。
今からも要るかどうかは知らんけど。
2026/04/24(金) 23:57:31.39ID:IbRrFRqw
>>257
そういう時代だったんだね
2026/04/25(土) 08:21:08.28ID:CG3MdrVo
C++が要らない子と思われていたのは
MFCが30年以上もC++の顔して覇権をとっていたからかな
GoFのInterViews風の設計や、WTLが普及していれば色々マシだった
2026/04/25(土) 13:19:20.79ID:mEtkJzLm
MFC全盛期はデスクトップアプリケーション全盛期でもあるけど、あのころってC++以外にGUIで使える言語何があったかな
まともなのDelphiぐらいで、後は当時の貧弱なPCでは壮絶な重さのJava+Swingぐらいしかなかったような
261デフォルトの名無しさん
垢版 |
2026/04/25(土) 15:58:19.43ID:DUNEPVTZ
>>260
そこに入るのはVisual Basic のことか?それともTcl/Tkのことか?
2026/04/25(土) 16:29:58.27ID:9UHu+pDV
DelphiはIDE、言語としてはObject Pascal
DelphiやC++BuilderならVCL、さらに前のOWL
2026/04/25(土) 18:45:31.44ID:ocQZeiDA
みんなrustやってるから仕方なくやってるけど、macroは嫌い
2026/04/25(土) 18:59:01.07ID:ocQZeiDA
> sudo, core-utils, ntpdとしてRustベースの実装が導入されています。core-utilsの一部
> (cp, mv, rm)はGNU実装のままですが、これら以外はRust版が導入されます。
https://gihyo.jp/admin/clip/01/ubuntu-topics/202604/24
2026/04/25(土) 19:18:03.24ID:UlqHCPgx
C++ はカスだとは思われていたけど要らないと思ってた人は少ないでしょ。
2026/04/25(土) 19:35:21.04ID:mEtkJzLm
>>261
VBは最近は影も形もないから忘れてたけど、俺も当時はVB6で業務システム作ってたな
Tcl/Tkはあの当時からそんな使われてたかな…git-guiぐらいしかTcl/Tkで作られたアプリ思い浮かばないんだけど
2026/04/25(土) 20:49:44.34ID:gT1FdVR2
世の中の重要なソフトはC++多いし
Haskellなんかよりも圧倒的に世の中に貢献してる
2026/04/25(土) 20:53:22.54ID:tCRVxHbp
Cはもっとだろ。
269デフォルトの名無しさん
垢版 |
2026/04/26(日) 10:55:50.49ID:hMG8TVkv
C++も膨大な資産あるからね

まあ変換ツールとAI次第でどうなるかわからんけどね
クリティカルな部分は優先的に置き換えが進むだろう
2026/04/26(日) 11:06:29.74ID:VE1YmC6G
C++はどんなOS書いた?UnixはそのすべてがC(とアセンブラ)で書かれたよね?
271デフォルトの名無しさん
垢版 |
2026/04/26(日) 11:27:29.77ID:0jlxI9a5
>>260
Objective-C
tcl/tkは結構使われてたイメージ
272デフォルトの名無しさん
垢版 |
2026/04/26(日) 11:28:57.78ID:TkZJN3qb
Haiku OS?
273デフォルトの名無しさん
垢版 |
2026/04/26(日) 11:54:44.65ID:KyjbnKLB
>>270
横槍だけどwindows
2026/04/26(日) 12:01:41.19ID:++6lPdwZ
Mona…?
275デフォルトの名無しさん
垢版 |
2026/04/26(日) 12:46:55.96ID:4u5ERnzz
WindowsはC++じゃなくてCだな
APIやFrameworkやCOMにはC++使われてるが
2026/04/26(日) 13:39:57.78ID:awSodoUy
linuxも周辺からちょびちょびrustが絡むって事でしょ。
残念ながらc++は嫌われてまった。
2026/04/26(日) 14:30:21.09ID:HY3/ACRX
Windows のカーネルにも一部は C++ が使われてる。
Windows はシステムコールとそれ以外を (アプリケーションからは) 区別しないし、カーネル以外のコンポーネントも Windows の一部ではあるので総合的にはかなり C++ は使っていると言っていいんじゃないか?
2026/04/26(日) 14:39:22.84ID:VE1YmC6G
嫌われたんじゃなくて論文読め。RustですらCのABIでやってくことにしたんだ。C++が例えば「CのライブラリもC++でコンパイルし直そう。そうすれば名前空間の恩恵に与れる」みたいなことになったか?

https://teamjces.github.io/www/paper/2026-03-31-compile.pdf
2026/04/26(日) 17:52:49.34ID:uLYdEMqP
カーネル以外がrust化すれば色々変えれるかもね。昔のelf移行のように
280デフォルトの名無しさん
垢版 |
2026/04/26(日) 21:56:29.25ID:CeZWj3tr
snapdragon x2出たのにQualcomがパッチを投げないせいでlinux on arm実現しないのどうにかしてクレメンス…
2026/04/26(日) 21:59:25.97ID:awSodoUy
ubuntuでhello world 出来ました。わーいわい
次はmutithread でsocket遊びします。
282デフォルトの名無しさん
垢版 |
2026/04/26(日) 22:12:53.94ID:6FiGmmwl
>>266
まあtclでというのはあんまりないかもね。またVB/VCよりもう少しふるい。
2026/04/26(日) 22:55:09.69ID:BhpwQcWP
うむ、時間ができたらこれも遊んでみるとよい。

https://twitter.com/i/status/2047475020486816069
https://twitter.com/thejimwatkins
2026/04/27(月) 10:46:37.38ID:AB8l1uil
C++ だとそれぞれのコンパイラは「意図的に」マングル規則を違わせていて統一を避けてる。
オブジェクトのレイアウトや関数呼び出し規約 (ABI) を統一したとしてもそれ以外の様々な部分で協調できないと簡単にクラッシュするからうっかり混ぜることがないようにそうなってる。
2026/04/27(月) 11:12:18.12ID:LRMbUiak
ABIがウザければこういうのに逃げる手もあるぞ。Common Object Model on Java Virtual Machine。COM/JVM だ。

https://twitter.com/i/status/2047361259293806634
https://twitter.com/thejimwatkins
2026/04/27(月) 11:33:53.41ID:LRMbUiak
JVMがあるのはいいとして例えばJavaのオブジェクトとして振る舞うファイルシステムがRustとかで書かれたらどう思う?ファイルシステム以外のものもさ。
2026/04/27(月) 11:40:29.39ID:LRMbUiak
ギリギリのチューンなんて個人のコンピュータじゃなくてクラウドにやらせとけばいいんだよ。
2026/04/27(月) 14:23:37.36ID:LRMbUiak
有名な話だけどハードウェアが速いのは「並列だから」だ。あと「同じことの繰り返し」も速いみたいだな。
2026/04/27(月) 14:34:46.92ID:oJIXHtpp
>>284
>C++ だとそれぞれのコンパイラは「意図的に」マングル規則を違わせていて統一を避けてる。
>オブジェクトのレイアウトや関数呼び出し規約 (ABI) を統一したとしてもそれ以外の様々な部分で協調できないと簡単にクラッシュするからうっかり混ぜることがないようにそうなってる。
そういうことよりも、gccのマングリングにしてしまうと、gccのコードを使ったと疑われて、
GPL違反だからソース公開しろ、と言われて名誉毀損されてしまいそうだから、gccのマングリグにだけは絶対にしたくないという
事情がある。
msvcのマングリングだと真似てもそいいう事は言われなさそう。なぜなら真似るソースがないから。
290デフォルトの名無しさん
垢版 |
2026/04/27(月) 18:23:26.64ID:rV8dH8pK
jvmとか重すぎてうんこ
rustの80倍メモリ食うてペイペイもゆってるけん
blog.paypay.ne.jp/scaling-paypay-with-rust/
2026/04/27(月) 19:43:21.59ID:AB8l1uil
>>288
事実は逆だ。
同じようなことの繰り返しが多いことの発見からそれを効率的にこなせるように設計されるようになった。
292デフォルトの名無しさん
垢版 |
2026/04/27(月) 19:52:00.73ID:/J95GE4b
jvmは過去で一番うんこだったな
良いとこ一つでもあったか?Rustは本当に神コスパ
C,C++の頃は苦しんでたけどAIが今はあるし今までの時間が一番悔やまれる
2026/04/27(月) 21:43:51.97ID:ZKgmxwwT
メモリの安全はAIにやらせるからRsutはいらない子になったはず
2026/04/27(月) 21:45:37.31ID:o3kc5tXP
JVM の元々の意図は組み込みシステム用途、特にサンドボックス化が重大なポイントだった。
たとえばブルーレイディスクのメニュー画面を比較的自由に制御できるのは JVM バイトコードを使う仕組みになってるからだが、
サンドボックスが不十分だと再生機器を乗っ取る攻撃に使えてしまう可能性がある。

サンドボックス化はウェブのバックエンドに有用だという方向になってからが混迷の始まりだが当初は上手くいってた。
チューニングを頑張るよりもスケールアウトで対処するという思想で回してたから。
ところが世の中の情報システムが発展すると「もっと」という経営的要求が出てくる。
スケールアウトもするが個々の性能も引き上げろってことだ。
そうなるともう JVM でどうにかするには限界を過ぎてしまった。
そんでもって今はハイパーバイザの技術で実行環境を分離するやり方が出てきたからなおさら。

てな経緯だから一応は JVM が有用だったときはあったよ。
2026/04/27(月) 22:10:43.28ID:TjLQ49VB
ハイパーバイザの方がトータルでメモリーを食うが?
2026/04/27(月) 22:24:33.65ID:VQT0XEKb
現在のサンドボックス化はWASIでRustで書いてるよ
2026/04/29(水) 06:02:00.94ID:Y8twZbXu
そりゃGNUハイパーバイザというのが理想だと思う。
298デフォルトの名無しさん
垢版 |
2026/04/29(水) 20:48:09.70ID:stibxYzx
独習Rust
¥4818
6/15
299デフォルトの名無しさん
垢版 |
2026/04/29(水) 20:53:37.87ID:k+s/EuqN
たか
2026/04/29(水) 20:55:09.53ID:dadQjsqv
技術書の値段はそんなもんだよ。
何もかも値上がりしている昨今の事情を考えればそんなもんでおさまってるのはかなり頑張ってる。
301デフォルトの名無しさん
垢版 |
2026/04/29(水) 21:13:25.35ID:SIE3XG+t
unlimited に入った方が
2026/04/29(水) 21:30:47.69ID:72NUSzNv
独習シリーズは昔C言語でお世話になったけどRust版は目次が心配になるな

第9章 構造体とトレイト
 9.1 構造体
 9.2 ジェネリクス
 9.3 トレイト
 9.4 列挙体

列挙体がunionみたいな扱いになってそう
2026/04/29(水) 21:37:37.25ID:72NUSzNv
まあunionであることに違いはないか…
せめて構造体の次に並べてほしかった
304デフォルトの名無しさん
垢版 |
2026/04/29(水) 22:11:06.92ID:k+s/EuqN
列挙体っていう表現は初めて見るな
2026/04/29(水) 22:21:32.25ID:1kpwonrI
enum とは違うんかい
2026/04/29(水) 23:03:44.27ID:N/0HJ3Qp
日本語か英語かそれだけのこと
2026/04/29(水) 23:11:09.46ID:Ni/aGJbm
>>302
トレイトは構造体に対するものではなく全ての型に対するものだから「構造体とトレイト」のタイトルに違和感がある
2026/04/29(水) 23:18:25.07ID:Ni/aGJbm
enumは列挙型でよいけど
普通はトレイトより先に登場させるものだよ
例えばthe bookのように「列挙型とパターンマッチング」
そういえばパターンマッチングの章立てがない?
309デフォルトの名無しさん
垢版 |
2026/04/30(木) 04:10:37.96ID:jOVt3x+F
関数型を学ぶとこの辺自然になるがOOPから来るとこの並びになるんだろう
310デフォルトの名無しさん
垢版 |
2026/04/30(木) 09:26:13.92ID:kwhfKPry
Rustのenumは関数型で言うところの直和型、実装的にはdiscriminated union
311デフォルトの名無しさん
垢版 |
2026/04/30(木) 10:11:49.01ID:YzIn9QYQ
Enumを列挙体観たく表現してしまうのはC/C++の悪臭だよな
翻訳は違う名前にするべきだった
2026/04/30(木) 10:26:36.08ID:alBh/Yf7
俺のツイート
¥0
4/30

https://twitter.com/i/status/2049648080182751510
https://twitter.com/thejimwatkins
2026/04/30(木) 16:27:31.99ID:dKSrgDap
その第9章までenumが出て来ないならパターンマッチングを扱う章はどこ?

第1章 イントロダクション
第2章 Rustの基本
第3章 演算子
第4章 制御構文
第5章 関数
第6章 所有権と借用
第7章 ライブラリ
第8章 コレクション
第9章 構造体とトレイト
第10章 スマートポインター
第11章 エラー処理
第12章 モジュールシステム
第13章 テスト
第14章 マクロ
第15章 高度なプログラミング
314デフォルトの名無しさん
垢版 |
2026/04/30(木) 17:04:50.48ID:jOVt3x+F
目次セクションが別にあってそこに書いてたよ
2026/04/30(木) 18:11:56.58ID:DLNP9oar
最終章にならないとこれらが出て来ない…

第15章 高度なプログラミング
 15.1 マルチスレッド処理
 15.2 async/await
 15.3 属性
 15.4 ライフタイム
2026/04/30(木) 19:12:45.55ID:pPVbFlML
マルチスレッドは後回しで良いと思うが、ライフタイムをそこまで後回しに出来るもんなのか?
2026/04/30(木) 19:19:50.68ID:BXGXa4YN
昔はmallocを解説せずに終了するC入門書もよくあった
2026/04/30(木) 19:22:33.51ID:P+Ipb2CM
目次見比べた感じだと独習Javaをベースにしてそう
章の並び順が近いしライブラリの章の内容が一致してる
Javaは標準ライブラリ+例外だからいいけど
Rustでエラー処理の前にライブラリの章があると不自然だな
サンプルコードはtry/catch感覚でunwrapするんか

独習Rust
https://www.shoeisha.co.jp/book/detail/9784798189314

独習Java 第6版
https://www.shoeisha.co.jp/book/detail/9784798180946
2026/04/30(木) 19:33:16.67ID:QC1O57bD
>>316
ライフタイムは参照を使ったら必須だよなあ
Rust本で一番最後にライフタイム持ってくるのは理解に苦しむ
320デフォルトの名無しさん
垢版 |
2026/04/30(木) 19:34:46.73ID:ISLtMVx5
Lifetime Respect 三木道三:2001
2026/04/30(木) 19:50:09.77ID:BXGXa4YN
Rustの場合、エラー処理の基礎を入門させられるより、anyhowの使い方が書いてあった方が
初心者には嬉しいだろうな
322デフォルトの名無しさん
垢版 |
2026/04/30(木) 20:02:54.94ID:VIYiXj74
>>321
冗談でも止めてくれ……
2026/04/30(木) 20:04:14.68ID:5hvaZSdc
なんとanyhowを返すライブラリを公開してしまったダメな例もあるから同時にthiserrorの習得も必須
2026/04/30(木) 20:55:29.74ID:TRlMZpR4
まずは標準ライブラリの範囲で初心者に向いてるエラーの返し方はio::Result<T>
発生するエラーの多くがioエラーな点とそれ以外のエラーはio::Error::other(err)で包み込めるため
325デフォルトの名無しさん
垢版 |
2026/04/30(木) 22:26:55.83ID:/cdLghXi
同名Resultは初心者には紛らわしいな
2026/04/30(木) 22:34:46.45ID:TRlMZpR4
むしろio::Resultもanyhow::ResultもResultのaliasだから同じResultを用いているのだよ
そしてパラメータはT一つだけになるから曖昧性もなし
2026/05/01(金) 04:26:35.19ID:q+kuyqM+
std::result::Result<T, E> じゃいかんの enum
328デフォルトの名無しさん
垢版 |
2026/05/01(金) 07:55:46.12ID:o7gBQPkH
何でもかんでも同名同名
ライブラリAとライブラリAを再エクスポートしたライブラリBとかあるとバージョンがどうのこうので面倒
2026/05/01(金) 13:17:57.26ID:BBhGdpOs
std::io::Resultもanyhow::Resultも同じくstd::result::Resultなので振る舞いも使えるメソッドも同じ
むしろ別の名前を付けられたら混乱する
2026/05/01(金) 13:32:35.84ID:327zwpHa
Errの型が違うだろ
2026/05/01(金) 13:46:45.11ID:BBhGdpOs
>>330
違うのではなく<T, E>のパラメータEが定まっているだけ
それでパラメータ1つの<T>になるため容易に区別を認識できる
332デフォルトの名無しさん
垢版 |
2026/05/01(金) 16:26:09.33ID:XlMx+b/G
独学でRustマスターするなら独習Rustの順番だとよく分からないと思う
公式のブックを読んだ方がマシ
333デフォルトの名無しさん
垢版 |
2026/05/01(金) 18:29:07.49ID:Cf5tW+5n
>>328
tokioのプリミティブと標準ライブラリのプリミティブ (Mutex, mpsc) の違いとか、
tokio_stream の StreamExt と futures の StreamExt の違いとかも初見じゃ分かりづらい
2026/05/02(土) 14:15:16.73ID:Jd9tWF2v
公式のブックを終えられる人はエリートだよ
2026/05/02(土) 22:29:40.82ID:zP/oS83P
色んなサイトははあるだろうけど、まぁ山田さんの本だし、流れは大体わかるので買いますよ。
老眼なのでkindleで。不明点はここに書くかも。
2026/05/03(日) 10:09:11.52ID:VtiWf1dz
>>331
そう言う理由なら猶更
特化側のio::Result<T>やanyhow::Result<T>よりもresult:Result<T, E>の方を強く薦める
2026/05/03(日) 10:44:53.94ID:K3SuZm8W
Result を同名で定義することについて、個人的には現行の慣例のほうが良いと思うがエディタが出すヒント情報にモジュール名修飾がなくてよくわからない場合があるといった使いにくさはある。
もはや慣例が確立したのだから慣例通りにやって使いにくいのは開発ツールのほうが悪い。
2026/05/03(日) 11:44:06.73ID:xo7ExK8f
名前空間が分離できてればResultの型エイリアスがあっても別に問題無いんじゃないか?
動的型付け言語だと頭爆発しそうだけど、静的型付けならコンパイル時に型エラー捕捉できるし
2026/05/03(日) 14:56:33.95ID:xSw9TW4q
直接のResult<T, E>は滅多に使われない
thiserror等で自分のエラーを定義してるのなら
常にResult<T, 自分のエラー>になるから
type aliasで自分のResult<T>にしてしまう

io::Result<T>やanyhow::<T>も同じ理由でそうしている
どちらも自分のエラーはio::Errorとanyhow::Error
自明なのにわざわざResult<T, anyhow::Error>と何度も書くのはめんどい
だからanyhowを使う時はuse anyhow::Result;してResult<T>だけを使う
2026/05/03(日) 15:01:02.02ID:d3fSfyAd
Resultのaliasを定義して使うのは悪いコーディングスタイルだって
主張してる人がたまにいるね
2026/05/03(日) 15:08:44.90ID:xSw9TW4q
Rustの標準ライブラリからanyhowまで全てを否定することになるそういう人がいてもいいけど超少数派
2026/05/03(日) 15:24:00.16ID:B7n/8gpG
良いとか悪いとか言ったって標準ライブラリも一般的な慣例もそうなっちゃってるんだし、これから変えられる可能性はもうないだろ。
2026/05/03(日) 16:57:21.60ID:UY1kUUG/
型エイリアス使うのは構わんから
Rust勉強してる人には最初に本体のResultを教えてくれ
2026/05/03(日) 17:58:34.13ID:/KgWVlxg
どうせAIが書くんだからどうでもいいよ
エイリアスは積極的にAIに使わせてトークン削減しろ
2026/05/03(日) 18:25:38.46ID:8x6Fa7Ef
(1) fn foo() -> Result<()>
(2) fn foo() -> io::Result<()>
(3) fn foo() -> Result<(), io::Error>

(1)より(2)か(3)のほうがコンテキスト探らなくていいからトークン削減できるじゃね?
2026/05/03(日) 18:42:00.35ID:8dGW+IXQ
それはResultとは関係ない問題
何をuseしてるかで変わるため判別できる
2026/05/03(日) 18:59:47.27ID:7Xgmnndp
どのxxx::Resultをuseしていようが関係なく
関数の返り型は常にResult<T>になるからコンテキストは安定していてトークン削減できるんだよ
348デフォルトの名無しさん
垢版 |
2026/05/03(日) 19:44:48.20ID:mn13lcaR
1と2一緒じゃね
2026/05/03(日) 22:41:03.38ID:2qD6O2+g
二つのxxx::Result<T>が同時に出てくることはないから混乱しないんだよ

例えば以下の単純な文字数を数える関数を作ったとする
fn foo(path: impl AsRef<Path>) -> Result<usize> {
Ok(fs::read_to_string(path)?.chars().count())
}

もしanyhowを使う場合
use anyhow::Result;だけでいい
途中にio::Resultが返されるけど自動的に変換されて出て来ない
std::error::Errorトレイトを実装するエラーならどれも自動変換される

もしthiserrorを使う場合
自分でMyErrorとResultを定義する
type Result<T, E = MyError> = std::result::Result<T, E>;
#[derive(thiserror::Error)]
enum MyError {
#[error("I/O Error")]
Io(#[from] std::io::Error),
}
io::Errorが返された場合の自動変換ルールはこのように自分で定義する
したがって関数から返されるio::Resultは出て来ない

もう一つ重要な点はこのResultの再定義の方法
type Result<T, E = MyError> = std::result::Result<T, E>;
デフォルト値をMyErrorとしているだけなので
本来のResult<T, E>としてもそのまま使える
同じ再定義をしているanyhow::Result<T, E>も大丈夫
2026/05/04(月) 12:28:03.05ID:CqGbgl9+
>>349
>二つのxxx::Result<T>が同時に出てくることはない
んなこたぁないw
2026/05/04(月) 18:25:01.29ID:vI9WS4fZ
>>350
Rustで主流推奨のthiserrorやanyhowを使っている限り
各モジュールで関数に書くxxx::Resultは一つしか現れないよ
2026/05/04(月) 18:33:30.02ID:2kH/kPzV
>>351
>thiserrorやanyhowを使っている限り
全然関係ないよ
もうちょっと視野を広く持とうね
2026/05/04(月) 18:41:35.94ID:ee3a3ann
結局Rustのエラー処理はthiserrorとanyhowが主流のままで行くんだろうか
2026/05/04(月) 18:43:18.51ID:o715IAxw
Resultは自動変換しちゃうかmap_errなどで変換しちゃうからコードに書くことは稀かもな
唯一の例外は入れ子だが複雑な型はtype aliasしろと言ってくるので消える
2026/05/04(月) 18:57:31.09ID:Qp92mUOL
anyhowより新しくて良さげな奴が3つぐらいあった気がする
使ったことないけど
2026/05/04(月) 20:04:33.43ID:XHwxgqWt
最近はeyreも結構人気なんじゃない?
2026/05/05(火) 00:02:04.93ID:MyBGjfmk
よーしらんけど、color-eyreが便利そう
2026/05/05(火) 09:05:25.15ID:Ov3MvF12
こういうのはたとえ不便なところがあっても統一されていることが大事なんじゃないの?
2026/05/05(火) 11:03:24.79ID:tvXoqg00
目的が異なるので別
実行が遅くなるけどリッチにカラフルなエラーを出したいならcolor-eyreの価値がある
2026/05/05(火) 13:06:33.47ID:MTVvTzss
他によく名前を見るのが
terrors
error_set
eros
あたりかな、使ったことないけど
2026/05/05(火) 13:13:46.74ID:RV9kVHmu
ものは言いようだな
2026/05/05(火) 13:28:22.05ID:MyBGjfmk
erosは会社で使えないな
2026/05/05(火) 13:40:18.41ID:zOcmUxD1
プログラミングクソなぞなぞ: certbotが会社で使えない理由ってな〜んだ?
2026/05/05(火) 13:43:09.31ID:gmNTZ/E7
言語の方針とはいえ、標準ライブラリが薄いのはやっぱ面倒だな
PyO3なんかを見てると、エラー型としてanyhowとeyreを、時刻型として chrono と time クレートをサポートしてたりする
こういう「同種の複数のライブラリへの対応」をする必要が出てしまうというのは、標準の薄さが原因

例えば tokio や serde に変わる強力なライブラリが出たら、結構な数のライブラリやフレームワークに影響するだろうし

他の言語でも似た問題はあるけど、エラー定義みたいな基本的な問題でも外部ライブラリを使うのが推奨されるエコシステムはどうなのかとも思う
2026/05/05(火) 15:03:20.48ID:zOcmUxD1
Pythonが厚すぎるんでは?
2026/05/05(火) 16:18:28.07ID:MxmWXPCz
標準化を目指すと日曜日と月曜日のどっちを0にするかで喧嘩になる
2026/05/05(火) 16:47:37.44ID:haawbUM5
独自標準作ろうとするから
0は使わず日曜が7が世の中の標準
ISO 8601、JIS X 0301
368デフォルトの名無しさん
垢版 |
2026/05/05(火) 22:09:23.26ID:YnB5rc2y
そうだねUTF-8にBOM付ける馬鹿が出て来るのは実証済み
2026/05/05(火) 23:34:24.12ID:gmNTZ/E7
言ってるのは時刻形式とかISOとかの意味の標準化じゃなくて、言語の組み込み機能や標準ライブラリの話なんだが
2026/05/05(火) 23:36:31.16ID:8k9k02Hu
都合の悪い話だからズレた話題にしたいのだろう
2026/05/06(水) 05:59:31.54ID:cwTbP+9B
c++並に難しいのでわ
2026/05/06(水) 07:30:51.65ID:hhBSW24C
だって真面目に問題解決を考えるならAIと壁打ちしたほうがいいし……
2026/05/06(水) 07:47:26.89ID:hhBSW24C
逆にこういうときに一切槍玉に挙げられないlogクレートくんの存在感
真に優れた設計とはこういうことを言うのかもしれぬ
2026/05/06(水) 11:53:15.08ID:5dYiPJOp
日時時刻のライブラリぐらいは、C++にも標準に入ってるからな
なんかRustの標準ライブラリって、機能の抜け方が歪なんだよね

たぶん、それをやりたい&標準ライブラリとして使えるクオリティのものを開発できる人が
本体のメンテナにいなかったっていうシンプルな理由な気もするが
2026/05/06(水) 12:00:58.07ID:NtYtdVfJ
>>372
何が問題なのかわかってないやつに問題解決は無理!
2026/05/06(水) 13:30:38.87ID:M3Qpk/AX
時刻については標準ライブラリに入っていて欲しいことには同意するけどライブラリの管理について C++ と Rust では思想が違うので C++ と比較して論じるのはちょっと筋が違うんじゃないかな。
実態として chrono が事実上の標準の地位を得てるし、標準ライブラリなのかそうではないクレートなのかは cargo.toml に一行 (と必要に応じて use) を書くだけなのだからそれが大した問題だとは思わない。
chrono のメンテナンスが停滞したこともあるけど、標準ライブラリでも停滞するときはするので標準ライブラリに入れる強い動機は特にないだろ。
2026/05/06(水) 13:41:40.16ID:/2OIYfVx
コアチームの人も時々言ってるけど別に標準入りしたからといって
メンテナーが湧いて出てくるわけじゃないからな
標準ライブラリを厚くしてコンパイラの開発が停滞するよりは
コンパイラに注力してくれた方がいいとは思う
2026/05/06(水) 14:37:05.66ID:PdzD25rO
>>377
今のRustは名だたるビッグテックが顔を連ねる金ジャブジャブプロジェクトなんだから、もうそういう物言いをする資格はない
どっかの会社が社員を供出すれば済む話
2026/05/06(水) 15:37:09.99ID:SFjziVyx
むかしのjavaそっくりだな
2026/05/06(水) 15:43:33.66ID:nMM83Z1x
Rustの時刻ライブラリは、先行した chrono と time がいまいちで
最近やっと本命の jiff が出てきたところ
2026/05/06(水) 15:57:44.61ID:wLscDgM6
安定していて機能豊富で使い勝手のよいchrono一択だよ
382デフォルトの名無しさん
垢版 |
2026/05/06(水) 21:16:17.84ID:Sk6IAQOe
真にオープンなら標準と非標準の扱いに差異がない方が健全ってことよね
標準にバックポートされないベンダーパッチが乱立するなら、言語をGPLにするしか無くなるし
2026/05/06(水) 21:49:21.75ID:M3Qpk/AX
jiff のほうが手厚いよ。
サポートしている機能の範囲は広いというか、そのために作られたのだから当たり前だが。
その上で多くの場合で chrono で十分には感じてる。
384デフォルトの名無しさん
垢版 |
2026/05/06(水) 22:40:27.92ID:tdTo0F5O
高い金もらってんだからちゃんとメンテしろや1
2026/05/06(水) 23:36:52.21ID:1UtXh7BU
>>384
突然アホなことを言い出した
2026/05/07(木) 09:53:32.96ID:Naz3Tcal
汎用OS並みのでかいプロダクトか、偏執的な規格バカメンバーがいないと国際標準にはなり得ないと思う
Rustにはその両方がない
387デフォルトの名無しさん
垢版 |
2026/05/07(木) 10:21:24.43ID:quZNQHmW
それこそWasi Canonical ABIでは?
先行してるから、Rustでやらないって選択肢は無いかと思う
2026/05/07(木) 10:29:04.07ID:m6480EuQ
規格として提案するにはまず現行の仕様をまとめなきゃならんのだがさっぱり進んでいない。
https://github.com/rust-lang/spec
変遷が著しいのでまだまだ決定稿として仕様書にするのは時期尚早という考えなんだと思う。

Rust のあるべき姿としての仕様ではなく今の処理系の挙動を説明するという意味での文書化 (もし挙動と矛盾した場合は文書のほうを修正するという思想で運用される) はそこそこ出来てる。
https://github.com/rust-lang/fls
ただ、標準ライブラリについてはほとんど触れられていない。
2026/05/07(木) 12:16:44.82ID:3OcUW0Qr
ジップロックにみえたし
2026/05/07(木) 19:06:48.91ID:LbWPnO+H
そんなドキュメント、Claude Codeに作ってって投げればできるだろうに
391デフォルトの名無しさん
垢版 |
2026/05/07(木) 19:34:43.55ID:65MhlCQ1
>>390
いや、Rustに関してはAIは全く使い物にならないから任せるのはNG
2026/05/07(木) 19:34:59.00ID:4tUDz5Ic
完成した言語が存在するなら文書化するのはある程度は AI にもできるだろうが、あるべき Rust の完成形 (未来の Rust の姿) を予言することは出来ないよ。
現行仕様をまとめる計画 (FLS) が回っているのだから Rust の実際の挙動が固まってきたらレビューしながら FLS から spec へ移していくんじゃないかな。
その作業のサポートには AI を利用することもあるかもしれない。
2026/05/07(木) 20:28:32.32ID:9joOEtNl
>>391
RustとAIは相性良い
それとは別に現在仕様が確定して部分は作れる
まだ仕様が確定していない部分にRustの本領発揮が見込まれるから全体をまだ決めないことが得策かな
2026/05/07(木) 23:25:00.33ID:rHGnmVRh
プログラミング言語がAIと相性が良いか悪いかって、何かしらのソースを参考にしてるの?
それとも単なる想像?

似たような話で、Haskell や OCamlといった関数型言語は
Java に比べてAIのコード生成のスコアが悪かった、という論文はあるんだよね
https://arxiv.org/html/2601.02060v1

Rust はこれと直接は関係しないけど、Rust みたいに宣言的に書ける言語が
AIにとって必ずしも有利だとは限らないと思う
2026/05/08(金) 00:09:21.67ID:YCRDEY2Z
普通に使ってればすぐわかるやろ
相性良いわけないんだよな
2026/05/08(金) 00:24:23.70ID:dyCLbLNV
ClaudeやCodexは普通にRust書けるけど
どの辺が相性悪いんかね?
2026/05/08(金) 00:50:09.61ID:UMR2wFTg
エコシステムがライブラリの乱立と互換性軽視で無茶苦茶だからな
人間だったら上手くやれるというものでもなく、人間比のAIの圧倒的な強みであるインモデル知識を活かした0->1開発の速さが発揮されにくい
398デフォルトの名無しさん
垢版 |
2026/05/08(金) 03:00:23.01ID:ynf41Qt9
>>396
最新モデルはだいぶマシだが、ここらへんはダメダメ
最新やマイナーライブラリのエラー直せない
mod.rs作ったりと色々古い
jsonやtomlなどの設定周りがぐちゃぐちゃ
399デフォルトの名無しさん
垢版 |
2026/05/08(金) 06:16:11.80ID:har0rrqJ
ルール書けば余裕
2026/05/08(金) 06:40:28.31ID:RwcrO1Cc
メモリの安全性はAIに任せればいいのに
Rustだとややこしくなるだけなんだよな
401デフォルトの名無しさん
垢版 |
2026/05/08(金) 07:19:13.31ID:fBmimxFG
3月から反AIポリシーを標榜したRedoxが頑張っているな

Rust-Written Redox OS Sees Improvements For Running On Real Hardware - Phoronix
https://www.phoronix.com/news/Redox-OS-April-2026
402デフォルトの名無しさん
垢版 |
2026/05/08(金) 07:31:35.53ID:ynf41Qt9
>>399
それは相性悪くて補助が必要ということ違うん?
403デフォルトの名無しさん
垢版 |
2026/05/08(金) 07:51:35.30ID:ci15WxiB
コンパイルのエラーメッセージが判る人は、
プロンプト修正も簡単だろうし
そもそも自身でコード書いた方が楽まであるから…

って言うと身も蓋もないか

後発で「AI Native」を謳うMoonBitとかにRustが捲くられるなんてことあるんかねぇ?
404💾キモじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/08(金) 07:55:19.59ID:gES0dzFh
コンパイルのエラーメッセージがわからない人いるの?それ、サルだろ。
2026/05/08(金) 08:40:22.71ID:8we1eSQM
他のメジャー言語たちと比べて
実行時デバッグを最も少なくできることもRustの長所
2026/05/08(金) 08:46:56.93ID:MGVoqL41
>>400
人間にとってやり難いものは AI (LLM) にも難しいという明瞭な傾向がある。
ツールと連携する方向で解決が図られていて、プログラミング言語処理系・リンタも連携するツールの一部だ。
407デフォルトの名無しさん
垢版 |
2026/05/08(金) 08:48:59.16ID:V5XRPxhJ
mod.rs なんて手で書いても必ず作るファイルじゃねーか
ディレクトリー名のファイルとか分かりづらくて仕方ないからmod.rsに統一してるわ

これを否定するようなの原理主義としか思えないがそんなレベルの人がこのスレに来てるのかよ
408デフォルトの名無しさん
垢版 |
2026/05/08(金) 08:50:51.67ID:V5XRPxhJ
>>404
これ、キモさんの意見に100パーセント同意、、、俺もキモさんの仲間だわ
コンパイルエラーは親切にも程があるぐらい分かりやすい
409デフォルトの名無しさん
垢版 |
2026/05/08(金) 08:53:07.89ID:V5XRPxhJ
>>405
これはその通り
でもAIはコンパイルエラーへの対処を間違えやすい
その場しのぎのエラー対処だけやって全体の設計が崩れるからRustではAIは使わないね。特に50万行ぐらいとか規模大きくなると全然コード読まないし
人間なら必ずコード読むから遅くても対処は正確だわ
410デフォルトの名無しさん
垢版 |
2026/05/08(金) 09:02:58.47ID:Ru8LiA50
riscvがrustを推してるからこれからなんかあるかも
armリスクでandroidのriscv化をtier1にするてgoogleもゆってるし
411デフォルトの名無しさん
垢版 |
2026/05/08(金) 09:29:05.26ID:ynf41Qt9
>>407
mod.rsいっぱいある方がきついだろ
エディタのタブこんなんなるわ
│mod.rs│mod.rs│mod.rs│
2026/05/08(金) 09:53:05.92ID:7skzzL8G
ファイルは少なければ少ないほど良い
2026/05/08(金) 10:01:17.47ID:cPL8HN2X
mod.rsはやめろ、ディレクトリ名のファイルに書けぐらいはAGENTS.mdに書いとけば守らないか?
実際これは今もどっちも正しいって扱いだから、人間相手でも指示いるし
414デフォルトの名無しさん
垢版 |
2026/05/08(金) 10:39:51.29ID:d1veug98
>>413
clippyでエラーにできる
rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
415デフォルトの名無しさん
垢版 |
2026/05/08(金) 12:29:17.61ID:nMekFzvj
https://www.reddit.com/r/rust/s/atsLtH1Yf6

レディットではどっちも
好みが分かれてたわ
俺はmod.rsちゃんに慣れすぎて、とりあえずディレクトリ開いたらmod.ra探してた


`name.rs` vs `name/mod.rs` - Is there a reason why projects go against the recommended practice?

There's two ways to declare a nested module in rust:

A
├── name/
└── name.rs

B
└── name/
└── mod.rs

The [Rust Docs](https://doc.rust-lang.org/reference/items/modules.html#module-source-filenames) recommend the first option:

>Prior to rustc 1.30, using [mod.rs](http://mod.rs) files was the way to load a module with nested children. It is encouraged to use the new naming convention as it is more consistent, and avoids having many files named [mod.rs](http://mod.rs) within a project

What I'm wondering is why most Rust projects are still using the [`mod.rs`](http://mod.rs) pattern. I understand some long-standing projects not seeing a compelling reason to change, but even some newer projects still go for [`mod.rs`](http://mod.rs)

I've checked most popular rust projects I know: **ripgrep, burn, candle, ruff, uv, zellij, alacritty, typst, bottom, bevy, spotify-player, yazi.**

Every single one uses `mod.rs`.

Does anybody know if there's a good reason for this?
416デフォルトの名無しさん
垢版 |
2026/05/08(金) 13:49:23.02ID:ynf41Qt9
>>415
自分も前はname/mod.rs派だった
何故ならJavaとかC#みたいにファイル分けまくってたわけよ
名前空間だけ意識した分割方針にしてからname.rs派になった
2026/05/08(金) 14:33:51.00ID:ME3ho/lr
ファイル数はどっちも変わらない

name.rs
name/sub1.rs
name/sub2.rs

name/mod.rs
name/sub1.rs
name/sub2.rs

VSCodeは初期設定だとフォルダをファイルの上にまとめて並べるから

name/
sub1.rs
sub2.rs
other/
:
name.rs

みたいに離れてちょっと不便
mod.rsもアルファベット順だと中に紛れるから微妙だけど
418デフォルトの名無しさん
垢版 |
2026/05/08(金) 16:44:25.56ID:M8AGXyNr
>>417
両方混ぜるのだけはやめて欲しいよな
統一感って大切
2026/05/08(金) 17:01:21.05ID:djebsQDb
>>417
mod.rsの中身はサブモジュール読み込むだけで実装書かないの慣習だがname.rsは実装も含めることがそれなりにあるから現実的にはファイル数変わるんじゃね?
2026/05/08(金) 17:19:39.63ID:RwcrO1Cc
>>406
AIとRustで2度手間だろ
メモリの安全性チェックは1回でOK
421デフォルトの名無しさん
垢版 |
2026/05/08(金) 17:28:20.99ID:ynf41Qt9
ripgrepは混合させてるしmod.rsにもめっちゃ書いてるな
ファイルが単体か複数かで分けてるっぽい
2026/05/08(金) 17:28:24.72ID:EKX8sdui
メモリ安全はAIに任せればいいから、これからはZigの時代だ

と思いきや、Anthropicが買収したBunをZigからRustに移植する実験をやってて
2026/05/08(金) 17:41:47.39ID:MGVoqL41
>>420
誰の手間?
言っている意味がわからない。
2026/05/08(金) 17:52:48.34ID:L+3tKNkI
name.rsは暗黙でファサードパターンになるから好きという老害
2026/05/08(金) 18:08:33.24ID:MGVoqL41
>>422
完全に捨てる可能性が高いと明言されてる。
https://news.ycombinator.com/item?id=48019226
実験である以上は Rust に関心をもって何かのデータ (経験?) を得ようとしているんだろうけど本気で取り組んでいるようなものでは全くないというニュアンスで説明されてる。
そんなもんを (ブランチを分けているとはいえ) コミットするなとは思うけど、大手がそういう実験的なことをやるのはよくある普通のことなので注視するほどの価値はないよ。
有名どころではグーグルの20%ルールとかが分かり易いかな。
どんな取り組みが良い成果を出すかってのは事前にはわからないんだ。
色々とやっておけばどれかが役に立つこともあるだろうという考え方でとにかく何でもやってみるということをする。
大手が成果をたくさん出すのは単に手数の多さによる。 成功以上に失敗もしてる。
2026/05/08(金) 20:06:23.30ID:QqYRLNZ8
去年夏秋あたりのrustスレッドで
「カーネルにrust持ち込みなゴミがああ」
みたいな奴に罵られたけど

今に見とけよってその時は返したなあ
見てるか?お前だよお前
427デフォルトの名無しさん
垢版 |
2026/05/08(金) 20:08:51.40ID:cx5BhBps
大手は手数でいいけどアンソロピックはそんなことやってる余裕あんのかな
本業のAIに関係あるならいいけどなさそう
2026/05/08(金) 20:14:13.81ID:RwcrO1Cc
>>423
馬鹿は黙ってて
2026/05/08(金) 20:29:37.45ID:Wc1aNBTG
>>427
「置き換え」を目指すとあまりに筋が悪い。
例えばグローバル変数とかが汚い。
やるなら別プロジェクトでフルスクラッチでやるべきだし、本当にたいした意味もない小さな確認をちょっとやってみただけなんだと思う。
本業を圧迫するほど手間もかけてないだろう。
2026/05/08(金) 20:57:17.31ID:xEKDEVD/
AIのコンテキストは有限で、実行時間も0ではなく、トークン利用料もただではなく
メモリ安全でない言語でメモリ安全を気合で達成するのは、最高レベルの人間のプログラマ含めて結局不可能だったほどコストが高い
それが何を意味するのかを考えられないのはちょっと・・・
2026/05/08(金) 21:11:46.69ID:Wc1aNBTG
メモリ安全の明瞭なガイドを AI に与えるなら言語機能として持っておくのはこれ以上ないほど確実なやり方だし、 Rust の安全性の制約そのものは C とそんなに違いがない (ダングリングが駄目なのは C でも同じ) のだから仮に Rust が AI で扱いにくい面があったとしても C より悪くはないだろ。
2026/05/08(金) 21:17:36.59ID:nhTLYvA3
察してやれよ
今となっては信じられないことだが、AI以前からのRustユーザーはRustを使いこなせる自分に酔っていたのだ
2026/05/08(金) 21:52:49.42ID:YYDHlyji
トークン利用量を気にするなら、なおさら推論コストの低い言語を探すべきじゃね?
書き手に抽象的な思考を求める言語はAIにとっても推論コストは大きいのでは

パフォーマンスが必要なものなら分かる (「AIが書いたC++」よりは「AIが書いたRust」の方が圧倒的に信頼できる) けど、
そもそもメモリまわりはGCがかなり問題を簡単にしてくれるんだし、
JavaやGoで十分ならその方が開発コストは安くなると思う
特に昨今、AIのせいで開発者の能力低下の懸念もあるし、イージーな方に流れる人が増えそうな感じもする
2026/05/08(金) 22:30:03.05ID:Wc1aNBTG
もちろん「十分なら」という前提をおけるならそのほうが良いよ。
数倍程度の性能は無視して日常の作業を楽にするという用途だと Python が特に利用されているというデータはある。
2026/05/08(金) 23:03:02.49ID:4aqbTOxA
Codex CLIはOpenAIの意思決定に基づいてAIによってRustで書かれている
この事実が全て
2026/05/08(金) 23:15:17.57ID:dyCLbLNV
コーディングエージェント使ってるとわかると思うんだけど
奴らは全然機械的じゃなくて人間的なミスするんだよな
突っ込むと「見落としてました!」とか言うし
だからメモリ安全だけじゃなくenumの網羅性チェックみたいな
人間のミスを防ぐ機構がそのままAIにも役立ってると感じる
437デフォルトの名無しさん
垢版 |
2026/05/08(金) 23:17:54.68ID:WJRLMTmh
学習元がミスありのものだからミスするだけ。
時間の問題でミスすらしなくなるよ。あとかけてよい時間の妥当性で思考深度さげてるからみするだけ。
使用量とか時間とか無視して料金青天井時間無制限ならほぼミスなくなると思うよ。
2026/05/08(金) 23:34:53.39ID:Wc1aNBTG
ほどほどのところで処理系に放り込んで結果をフィードバックするプロセスを回すといった (人間がやってるのと同じような) 仕組みは運用されてる。
当然だが合理的に許容可能な限界までコストを下げようとするのが常識的経営判断なのでミスしなくなるレベルまで思考させるのは常用されない。
2026/05/08(金) 23:52:30.19ID:bjuPEaJN
その点Rustの言語仕様による歯止めは手書きでもAI利用でも効率良い
2026/05/08(金) 23:53:47.62ID:VAs0hS3T
>>437
お前は本当にお花畑だなw
2026/05/08(金) 23:56:58.28ID:YYDHlyji
codexは別言語からのリライトだから、ゼロベースから作るようなものとは話が違うのでは
2026/05/09(土) 02:13:03.91ID:3w72Dy8d
出てきた話題すべてに
それくらいRustにだってできるもん!
って打ち返すだけ
443デフォルトの名無しさん
垢版 |
2026/05/09(土) 03:27:03.08ID:RO8n8Ebb
>>433
Rustはモデルの表現力、可読性が強すぎるので開発者確保+ナレッジ共有ができればむしろコスト減ると思ってる
2026/05/09(土) 04:01:19.25ID:abC6WEbJ
くじら飛行机さんの本は買った方がいいですか。
2026/05/09(土) 05:20:34.44ID:dl6sY5it
>>435
通りで使いにくいわけだ
チャット停止しようとしてもできないことあるし会話誘導も遅いし
2026/05/09(土) 05:30:39.24ID:MvH1q7pj
C++は昔は地獄でプログラミングしたくなかったけど
コルーチンやRangesとかC++20,23辺りならカジュアルに使うかぐらいならいけるやろ

C++26のコントラクト、リフレクション、std::executionまで行けば
当面はこまらんやろ
447デフォルトの名無しさん
垢版 |
2026/05/09(土) 05:47:45.60ID:uLx9wiwS
クラスだるいから使いたくにゃい
448💾キモじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/09(土) 06:13:20.33ID:6d+vv6Vz
typedef struct {} Type, *TypeP;

を使え。あ、Rustだったか。
2026/05/09(土) 14:40:07.79ID:MvH1q7pj
ただ、ライブラリはrustの方が活発だと思うからお先は.
もっと
2026/05/09(土) 14:57:59.94ID:wG1LJFCx
>>445
まあそれは一理ある
Claude Codeに比べて開発が明らかに遅いのは少なからずRustの責に帰するところはあるだろうな
2026/05/09(土) 15:25:13.20ID:XlGlTzF4
Rustなんかより簡単なJavaやスクリプトを使うべきだ!メモリ安全だ!
ってのが通るならそれはそれでいいんじゃない
そもそもそれが通る場面はRustもC++もいらない場面
452デフォルトの名無しさん
垢版 |
2026/05/09(土) 16:08:09.87ID:TMpWRYsh
逆にTS/JSでバイコしてるClaudeは保守できるんだろうか
2026/05/10(日) 00:01:14.34ID:0VR5590O
/usr/bin/ls をrustで書きたいってのはあります。単なる趣味
454デフォルトの名無しさん
垢版 |
2026/05/10(日) 01:18:35.41ID:0+Os0M4w
exacが既にある
455デフォルトの名無しさん
垢版 |
2026/05/10(日) 01:18:38.91ID:0+Os0M4w
exaが既にある
2026/05/10(日) 01:23:14.41ID:ErpDucFu
eza -ltrオプションつけろよ
457💾キモじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/10(日) 02:47:05.54ID:M7hm4HsA
>>453
https://www.google.com/search?q=gnu+coreutils
2026/05/10(日) 08:16:17.82ID:NoP3B6AM
>>444
実際にテキスト音楽サクラをRustで書き直してるよね
元はDelphi(object pascal)
459デフォルトの名無しさん
垢版 |
2026/05/10(日) 09:27:25.37ID:BGucSmp2
delphiは書き直したくなるな…
2026/05/10(日) 11:39:59.26ID:wgHd0C6j
Rsutは書き直し専用言語になればいいかも
2026/05/10(日) 12:05:00.86ID:0VR5590O
少しずつ置き換わっていくんだろうね。
2026/05/10(日) 13:07:29.02ID:NoP3B6AM
AIによるコンバーターの精度が上がれば捗るよな
463デフォルトの名無しさん
垢版 |
2026/05/10(日) 13:26:25.17ID:0+Os0M4w
アンソロがbunをrust化しとるらしいけど正解かも
最近流行りのghosttyはalacrittyの3倍くらいメモリ食ってるしzigはだめかも
速度もllvm使ってるから変わらんし
464デフォルトの名無しさん
垢版 |
2026/05/10(日) 13:38:08.29ID:XxFJLcCk
Zigで書き直してるって話じゃないの?
2026/05/10(日) 14:13:01.56ID:W/hGRutr
Zigはスポンサー離れも進んでいて今後メジャーな言語になることはないだろう
466デフォルトの名無しさん
垢版 |
2026/05/10(日) 15:57:32.00ID:AvOgb8wq
オライリーの年間会員だとRustの第三版読めるぞ
印刷版は9月予定だがもうフライングで読めるから読んどけ
周りのみんなに差をつけれるから
467デフォルトの名無しさん
垢版 |
2026/05/10(日) 16:24:36.74ID:8eDwpP7z
Rustが吐いてくれるエラーをGeminiに解決させる…
それが初心者の俺のやり方さ
2026/05/10(日) 17:35:57.59ID:vp/UzfAV
>>466
そんな暇があったらAIにコード書かせとけ
その中で知らない書き方が出てきたらAIに解説させときゃ十分
469デフォルトの名無しさん
垢版 |
2026/05/10(日) 17:56:00.22ID:79oPkSpK
勉強はAIで実物触りながらが一番いい
2026/05/10(日) 18:12:19.03ID:oUn3P5Ay
近頃のRustはAIによって、俺のヴァイブスでブチ壊してやるぜ、な元気なバカと、
確固たる基礎があれば細かいことは知らん、な年寄りが幅をきかせるようになって、Rust界隈はずいぶん様変わりしたよね
Rust棒で全方位マウンティングに勤しんでいた若い意識高い層がいつの間にかどっかにいっちゃった
2026/05/10(日) 21:28:46.94ID:qjPAofmg
gpui componentsとかまだウンコそうだし
472デフォルトの名無しさん
垢版 |
2026/05/10(日) 23:56:57.34ID:bzo3fezV
このスレの住人ってrustでどんなプログラム書いてるの?
2026/05/11(月) 00:14:38.37ID:KWCHdthc
言わせんなよ
2026/05/11(月) 00:39:19.12ID:BjPsWtVC
>>472
linuxコマンドの置き換え
2026/05/11(月) 06:29:14.78ID:rLX3plGn
置き換えは立派なリファクタリングだと思います。
476デフォルトの名無しさん
垢版 |
2026/05/11(月) 06:40:21.89ID:pUs5MLM6
コマンドのRust版って何がいいの?速さは元々Cなら変わらないでしょ
2026/05/11(月) 07:39:36.04ID:e6uzKMcd
短期的には Rust に書き直して良くはならない。
結局のところは問題を発見して修正するというサイクルを多くこなしたほうが品質は上がるのだから歴史の積み重ねがあるほうが強い。
問題というのは想定しないところから出てくるので実際に運用して発見するというのは時間をかけないとどうしようもない。

その一方で、想定していてもミスる馬鹿げた問題がメモリまわりだ。
長期的には Rust への置き換えによって「少なくとも」メモリ安全性は言語として保証されるので他の部分に注力できる。
C のプログラムにおける問題の大部分がメモリまわりだという事実によって置き換えが割に合うと考えられる場面は多い。
基本的なコマンドでしょうもないメモリまわりの問題点が報告されたらうんざりするだろう。それが消えてくれればありがたいよ。
478デフォルトの名無しさん
垢版 |
2026/05/11(月) 09:03:40.80ID:pUs5MLM6
どんなに歴史があってもメモリバグ残ってるもん?
新規じゃなくてバージョンとしてトランスコンパイルしていくんじゃダメなんかなぁ
2026/05/11(月) 09:47:01.53ID:UUPtIXVx
>>474
ありがとう マニアックだねえ
2026/05/11(月) 11:14:05.78ID:ifjZ6KRO
OSSではメンテナ同士が喧嘩して、片方がClaude Codeに元のOSSのコピーを作らせて
勝手に元OSSの後継を名乗るのが流行りだけど
APIが同じでテストも流用できるなら、クローンを作るコストなんてもうほとんどないからな
2026/05/11(月) 13:24:23.14ID:Sww9gDKS
>>478
ちょっと機能を追加するとか削除するとかのたびにメモリまわりでもいちいちトラブルが起こることを警戒しなきゃならない。
メモリ関連バグが残ってることに対してじゃなくて今後も発生するかもしれないことに対する解として Rust への置換もいいかもねって話。

「バージョンとしてトランスコンパイル」とはどういう意味?
別プロジェクトとして始めるのではなく今までのプログラムの新バージョンを Rust で書くようにしたらどうかってこと?
一般論としてソフトウェアの大きな変更はユーザが選択可能、かつ後戻りが出来るようになっているのが望ましい。
ユーザは新しいプログラムを信用しない自由があって然るべきだし、開発者にとっても新しい試みはやっぱり駄目だったという結果に終わってもよい (ちゃんと動く旧来のプログラムに戻れる) という安心感がないと挑戦的なことができない。

旧来のプログラムが行き詰ってから置き換える場合は旧来のプログラムを完全に捨てる想定なこともあるから場合によるだろうけど。
482デフォルトの名無しさん
垢版 |
2026/05/11(月) 13:39:48.53ID:pUs5MLM6
>>481
悪魔の証明みたいなのがついて回るのか…
それ聞くとCって大変だな

イメージはTS7がGoベースになる話に近いかな
483デフォルトの名無しさん
垢版 |
2026/05/11(月) 17:15:25.48ID:XolefNQA
RUSTは50年後も読めるやつがいる
484デフォルトの名無しさん
垢版 |
2026/05/11(月) 18:09:23.81ID:8ZcJ2am7
C言語は大変っていうけど組み込みだと普通に使いこなしてるけどな
リアルタイムOSならほぼ標準言語と言ってもいい
485デフォルトの名無しさん
垢版 |
2026/05/11(月) 18:17:12.50ID:yMXiLDoE
組み込みもどうせそのうちRUSTがデフォになるよ
2026/05/11(月) 18:28:19.12ID:zfc8YeUO
どうかなー
実際に使ってる現場入ったことある?
487デフォルトの名無しさん
垢版 |
2026/05/11(月) 18:31:56.55ID:Pt53n7Ay
>>485
絶対に無理だよ
組み込みとかrustで検索しても情報はゼロに近い

サーバーサイドとかの情報は腐るほどあるのに組み込み関連は1パーセントぐらいの印象。実際ルネサスとかのフォーラム見てても、メーカーはC言語のサポートで行きたいって中の人が言ってるぐらい

ルネサスが頑張らないと!無理!
488デフォルトの名無しさん
垢版 |
2026/05/11(月) 18:41:07.78ID:3r9GeQ1O
zennでメモリが原因でプチフリしてたってのあったが、そういうバグ排除に効果ありそうだけどね
2026/05/11(月) 18:43:07.53ID:Gifj3ORT
組み込みはLLVM使いたいユーザが増えればメーカーも対応せざるを得ない
そんな客相手にしてもコストに見合わない状況ならC言語一本でいいけど
490デフォルトの名無しさん
垢版 |
2026/05/11(月) 19:21:15.04ID:ce/8GXYJ
C使う現場なんて人材不足で別方面から枯れるよ
491デフォルトの名無しさん
垢版 |
2026/05/11(月) 19:28:53.60ID:ZqhUHttN
5年ぐらい前に「組み込みRust」の日本語書籍出てたし
組み込みがメインターゲットのGui
492デフォルトの名無しさん
垢版 |
2026/05/11(月) 19:32:08.78ID:ZqhUHttN
スマン 途中で投稿してしまった


組み込みメインのGuiでSlintはあるし
wasmを組み込みのプラグインにする話も、チラホラ聴くけどなぁ
2026/05/11(月) 19:52:40.14ID:8v05NV5n
自動車だとボルボが一番やる気っぽいね
すでにRustバイナリ入りの車出荷してたはず
あとは欧米だと防衛産業はかなり多そう
人が乗るようなのはまだまだだろうけど、最近の需要はドローンだしね
2026/05/11(月) 19:52:56.92ID:s3SAVVpZ
>>492
今出てる話でいう組み込みというのはいわゆるマイコン系で、あなたが言っているようなのとは遠くかけ離れた別物
あなたのイメージするようなのはいわゆるHMIといって、開発そのものは一山いくらのITドカタによるWindowsの業務アプリ開発と大差ない
495デフォルトの名無しさん
垢版 |
2026/05/11(月) 19:54:30.02ID:BOKIq5Zl
アイティー後進国の我が国では仕事がないだけの話
2026/05/11(月) 20:28:24.48ID:ifjZ6KRO
ヒープを使うなんて論外っていう環境で、わざわざCの資産を放棄してRustにする意味はそりゃないと思う
2026/05/11(月) 20:38:34.97ID:e6uzKMcd
自分でハードウェアを設計してファームウェアも書いているというプロの技術者 (を自称する人) が C スレで malloc の意味がわからんとか書き込んでたことがある。
そんくらい前提が異なる世界だ。
498デフォルトの名無しさん
垢版 |
2026/05/11(月) 20:40:03.03ID:k6YR6Xun
レガシー資産言うたらRUSTにまつわる一般論の内になってしまう
2026/05/11(月) 21:04:45.89ID:js53W6cs
ヒープが使えないチープな環境
2026/05/11(月) 21:33:05.48ID:8L9LiqJV
今の自分の仕事だと、NVIDIAがJetsonの公式の開発言語としてRustを採用してくれないと使えない
SDKとしてサンプルやドキュメントが用意されてて、付属のGPU (今はCUDAで書いてる) がちゃんと動いてくれるのが前提
LinuxだしRustでも書けはするんだろうけど、公式にサポートされてないものは (少なくとも自分が勤めてる所では) 採用づらいので…

他のプラットフォームは知らないけど、同じように現状はベンダー側のRustサポートが弱いところが多いんじゃないかと思う
もちろん、そういうデメリットも踏まえて判断した上でRustを使う、という技術選定もあって良いとは思うけど
2026/05/11(月) 21:36:51.24ID:tMi3kYwp
新しい言語の方がコンパイル時間長いとは思わなんだ
2026/05/11(月) 21:43:46.46ID:BrLEqDoQ
rustはいいけど言語がどんどん変わりやすいのは大丈夫なん?
503デフォルトの名無しさん
垢版 |
2026/05/12(火) 01:19:01.92ID:/0WD12AF
後方互換性あるし変わるのは簡略化の方向だからええやん
2026/05/12(火) 04:08:00.25ID:8eiuq431
ファームウェアレベルの低レイヤではメモリの制御も含めてどうせ自分で管理しないといけないみたいな部分はあるので Rust に出来たとしても Rust にする甲斐がないみたいなケースも多いでしょ。
世の中が本当に Rust に置き換わりきったら Rust が Rust であるというだけでメリットになりうるけども。
2026/05/12(火) 04:20:42.88ID:8eiuq431
>>501
新旧の問題ではなく言語の思想による。
モダンな言語の中では Go のコンパイル速度は言語の理念に含まれてるのでかなり速いよ。
文法規則の設計の時点でコンパイル速度を高速に保てるように配慮されてる。

Rust だってコンパイル速度が遅くて良いと思っているわけではないし改善の試みはやってるけど単純に複雑な言語には相応の実行コストが必要なのは仕方ない。
2026/05/12(火) 08:33:23.21ID:WOHTc7iR
Bunがzigからrustに書き直してるそうだ
メモリ周りの問題対応に疲れたとのこと
2026/05/12(火) 08:38:16.13ID:5EbgXZzv
最近流行りの脆弱性発見AIに対しては
他言語よりアドバンテージあるからこの面で推せばワンチャン
2026/05/12(火) 08:41:37.21ID:x9emxNEm
>>506
Rustが登場しない世界のままだったら
ベターCとしてZigは良い線をいってると思うんだけど
現実は至れり尽くせりのRustとの比較になってしまうからね
2026/05/12(火) 09:31:34.93ID:8eiuq431
>>506
ほんのちょっと前にこのスレで話題に出てる。
Bun の Rust ブランチは実験的なものにすぎず全て捨てる可能性が高いと中の人が明言してる。
どう見ても簡単に直せるはずの部分を AI へ指示を出してなんとかしようとしている痕跡もあるので Bun の実験というより AI の実験の素材にしてるのかもね。

将来的に Rust への書き換えをすることがないとは言わないけど現時点で Bun のリポジトリにコミットされている Rust コードは実験に過ぎないので今のステータスとしては「Rust への書き直しは進んでいない」よ。
2026/05/12(火) 09:41:09.79ID:aicWHj00
>>506
>>507
Rustはコンパイル通れば一番重要なところの安全が保証される点で画期的だわ
2026/05/12(火) 09:42:25.07ID:SXPiW+s9
Zig の方が後
Rust のある世界に現れた
2026/05/12(火) 10:33:01.46ID:WOHTc7iR
>>509
いやそれは古い情報
次でzig版は最後にするという話になってる
2026/05/12(火) 11:43:55.48ID:0MYxWXh9
>>506
Rust製で安心安全で高速なdenoはどうなっちゃったの?
2026/05/12(火) 12:14:26.82ID:clvpUbR3
>>513
denoは既存のNode.jsと後方互換性を取らないという致命的な戦略ミスを犯して広まりに欠いた
より良いAPIを提供すること自体は良いことだが後方互換性も提供した上でするべきだった
2026/05/12(火) 22:59:06.44ID:IB8LR9yq
RUSTのメモリ回りのチェックは抜けはないの?
どうやっても配列の外にはアクセス出来ないの?
*ptr++みたいな抜けはないのかな。やってみりゃわかるか。
2026/05/13(水) 00:19:47.54ID:k9P5pq71
unsafeがあるから>>510みたいなのは半分幻想なんだよ
低レイヤーになればなるほど速度を求めれば求めるほどunsafeが増える

それにAIはRustのunsafeコードの安全性をチェックするよりも
Cのメモリ安全性をチェックするほうが圧倒的に得意
517デフォルトの名無しさん
垢版 |
2026/05/13(水) 00:36:17.61ID:I5OwvtwC
Cは全部unsafeみたいなもん
それにunsafe使う場面は限られる
2026/05/13(水) 01:54:26.50ID:0a0bMCZ6
>>514
そうだったんだね
2026/05/13(水) 02:38:46.04ID:P4JtMIoj
>>516
それはちがうよ
Cはプログラム全体がunsafeだから安全性のチェックが非常に大変で困難
Rustはプログラム全体がsafeで言語仕様により安全性が保証される
unsafeを使う場合はその部分のみ人間かAIがチェックするだけでいい
2026/05/13(水) 07:33:24.38ID:SmoAhi/k
> uv has 350k lines of Rust, and 73 "unsafe" calls.

> The Bun Rust port is already 681k lines of Rust, and has over 13,000 "unsafe" calls.
521デフォルトの名無しさん
垢版 |
2026/05/13(水) 08:51:43.45ID:a182P20E
なんでunsafe使うんやろ
レジスタとか触ることもないだろうし
522💾キモじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/13(水) 08:53:30.11ID:WzetIaTo
自分自身への参照持たんのかサル。
523デフォルトの名無しさん
垢版 |
2026/05/13(水) 09:08:37.05ID:f6Vyvvvm
AIスレにはチンパンおじ
ここにはサルおじ
ゴリラおじも欲しいところ
524デフォルトの名無しさん
垢版 |
2026/05/13(水) 09:17:59.74ID:pM/hsGc3
>>523
人の真面目なレスに対しておちょくって楽しいか!おいなんとか言えよ
525デフォルトの名無しさん
垢版 |
2026/05/13(水) 09:19:18.18ID:pM/hsGc3
>>521
環境変数とかあるじゃん
テストヘルパーとけどうしてんのよ
rust edition によっても違うけど、2021より2024の方がundafe関連厳しくなってきてるよね
526デフォルトの名無しさん
垢版 |
2026/05/13(水) 09:20:50.26ID:pM/hsGc3
>>519
C言語は抽象的な言語
とにかくなんでもvoid* でキャストしてやれば関数でも変数でもなんでもポインタで渡せるし、汎用的な実装しやすいのはメリットだよね
お陰で10年前のコードを不用意にいじると未初期化ポインタになったりするし死ぬけど
2026/05/13(水) 09:21:40.66ID:MzFYGHSl
他言語やOSなどRustコードの外部との境界にunsafeが現れるのは仕方ない
そうでないunsafeの利用はそのプログラムにとって見過ごせない速度差がある場合など十分に検討したうえで用いる
いずれも厳重な管理のもとでunsafe部分を専用のモジュールに閉じ込めて利用する
2026/05/13(水) 09:24:57.26ID:BVE54hEf
>>526
逆だろ
C言語は抽象度の低い言語
今となっては特殊な環境でしか使うメリットはない
529💾キモじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/13(水) 09:32:13.72ID:WzetIaTo
RustはCのような速いコードは書けるけどCのような小さなコードは書けないことも多いぞ。
2026/05/13(水) 09:34:15.98ID:jgG6msdV
>>529
Rustで書けますよ
2026/05/13(水) 09:37:37.31ID:BD2l7ggo
まあそう理想的な構成がいつも出来るわけでもないのが現実だが C レベルのなんでもありよりは良いよ。
2026/05/13(水) 11:33:11.94ID:SmoAhi/k
@AIが「厳重な管理」をするので13,000 "unsafe" callsのまま良しとする
AAIにリファクタリングさせて130個レベルにする(uvの対比から1/100)
実験としてAに踏み込むのかどうか

どっちにしても(Cコンパイラ実験のように)トークン消費量とかレポートが欲しいね
533デフォルトの名無しさん
垢版 |
2026/05/13(水) 13:07:18.82ID:EOUtR1BP
Rustに関してはAI使うより自分で書いた方がいいだろ
何でこんなスレまでAI勢が来てんだ
2026/05/13(水) 14:01:12.71ID:xsXwh83B
>>532
いま減らしてるところで本人曰く10000くらいまでは減るだろうとのこと
JSエンジンとかとのFFIがあるから130は原理的に無理だろうね
FFI部分だけ別クレートに切り出せば見かけ上は減るだろうけど、そうまでして減らす意味はないし
2026/05/13(水) 15:00:20.31ID:BmzL2EwS
>>533
今時Rustも基本AIよ
人力に拘りたいならもうVBAにでも行くしかない
それでもAI使いの事務のおばちゃんに負けるのは時間の問題だろうけどな
536デフォルトの名無しさん
垢版 |
2026/05/13(水) 16:17:20.43ID:trTkBIr2
つかRUSTはAIと相性いいけどな
2026/05/13(水) 16:27:07.24ID:Qj20908b
全部unsafeなのは別にどうってことはない
問題なのはいつunsafeが外せるのか誰も教えてくれないってことだ
538デフォルトの名無しさん
垢版 |
2026/05/13(水) 17:16:55.33ID:2Sfvi3A0
unsafeが外せるって言葉は変でないかい?safeが外せるなら分かるが
2026/05/13(水) 17:57:08.05ID:BD2l7ggo
unsafe を組み合わせて外側にたいしては safe なように閉じ込めるのはプログラマの責任であって、閉じ込めきれてないのに関数のシグネチャから unsafe キーワードを外せてしまうことがある。
だから逆に unsafe キーワードを外してよいのかどうか自信がもてずに防衛的に不必要に unsafe キーワードをつけてしまうことがある。
unsafe を組み合わせた結果が safe になってるか (unsafe キーワードでの指示が不要な箇所) はそんなにキッチリとは検出してくれないなあ……ということを言ってるのだと思う。
2026/05/13(水) 18:13:43.12ID:3Vu0DNql
コメントのSafety条件を呼ぶ側で保証できる時はunsafe外していいよ
逆にSafety条件をコメントに明示できないunsafe関数はゴミ
条件の保証を外に丸投げする時は内部で使ってるunsafe関数のSafetyセクションをコピペしとくといい
2026/05/13(水) 18:25:31.51ID:3FJhwWSE
>>539
Rustの言語仕様で自動的に保証できる範囲の一員に加えてよいかどうかの保証はunsafeを使うプログラマーの責務
保証する自信がないならunsafeを使ってはいけない
2026/05/13(水) 18:26:54.81ID:SmoAhi/k
>>534
> JSエンジンとかとのFFI ....
使われているJSC APIの種類数をAIに聞きながら調べたら700位だね
2026/05/13(水) 19:01:12.34ID:kVoe7rIW
>>540
そんなコピペはあかん
あなたの信頼ゼロになる
2026/05/13(水) 19:21:59.16ID:3VCMGMwj
それこそAIに書かせりゃいいだけだからどうでもいいな
どうせ読むのもAIなんだし
2026/05/13(水) 19:22:05.09ID:3VCMGMwj
それこそAIに書かせりゃいいだけだからどうでもいいな
どうせ読むのもAIなんだし
2026/05/13(水) 19:36:28.04ID:3Vu0DNql
>>543
何も書かないよりマシ
547デフォルトの名無しさん
垢版 |
2026/05/13(水) 19:40:53.42ID:POlmzdDv
どうせバグテスター通せばいいしな
2026/05/13(水) 20:37:02.12ID:Qj20908b
>>540
ではこのwindows crateやlibc crateにあるドキュメント化されていない無数のunsafe関数についてなんですが……

>>541
Rustonomiconは一応読んで自分でもいくつか試してはみたんですがまだまだ何も分からないです
どうすれば自信が持てますか?
2026/05/13(水) 20:47:20.07ID:kVoe7rIW
>>548
windows crateやlibc crateは生クレイトといって敢えて元のAPIを剥き出しにunsafeのままにしてくれているクレイト
だからドキュメントは必要ない
2026/05/13(水) 21:00:25.48ID:Qj20908b
ちゃんと文脈読んで返してよ
👎🔄
2026/05/13(水) 21:44:41.04ID:hqq405lw
0と1でしか物事を判断できないBOTは、コーディングエージェントがあればいらないからRustなんて忘れたらいい
2026/05/14(木) 13:44:42.62ID:vTVhBX0t
>>535
bunの人が買収の数カ月前からコードを書いてないとか
deno社員のblogで直接コード書かなくなったとかなってるな
553デフォルトの名無しさん
垢版 |
2026/05/14(木) 20:40:20.61ID:HtAGVHt8
確かになー、他の言語は全部unsafe
2026/05/14(木) 21:01:42.16ID:aXz+gBLT
ほかの言語はコメントにunsafeと書けばいいだけ
やってることは同じ
2026/05/14(木) 21:12:20.72ID:8f9J8xnr
unsafeとか書かなくていいからsafeに使うための条件を書けよ
読まんけど
556デフォルトの名無しさん
垢版 |
2026/05/14(木) 21:13:13.88ID:hMR+zJy8
googleプログラマもaiベビシッタになったゆうてるしこの仕事もそろそろか
2026/05/14(木) 21:19:34.29ID:lroPVgIL
マージされたようです

Rewrite Bun in Rust
https://github.com/oven-sh/bun/pull/30412
2026/05/14(木) 21:23:47.01ID:8f9J8xnr
AIにテスト用の将棋局面データ作ってもらったら金が5枚あった
適当に動かすだけならいいけど厳密にやろうとするとチューニング大変そう
2026/05/15(金) 00:52:05.58ID:CI8xz/C1
そういうのはAIはAIでもLLMにやらすことやない
560デフォルトの名無しさん
垢版 |
2026/05/15(金) 06:17:19.86ID:iYyM+kqG
AIと言ってもモデルがピンキリだしな
2026/05/15(金) 11:42:52.25ID:0MfJ9N7a
結局 >>519 なんだよな
基本がsafeだからRustに意味があるのだし、unsafeは小さく留めて自分で安全性を保証するもの
2026/05/15(金) 12:27:38.57ID:DJhHTFf+
Rustでメモリを安全にするより
Cで速いプログラム書いてコスト安くする方が価値あるし
世の中のインフラシステムは別にRustで書かなくても成立してるし
2026/05/15(金) 16:23:28.49ID:DUPJ0/5I
原発の安全神話と同じなんだよな

Rustは安全という神話を前提にして思考停止してるので
unsafeコードの危険性を除去するための仕組みやツールの研究が全く進まない

unsafe関数/ブロックで満たすべきsafety guaranteeはいまだにコメント依存
コメントを書いたやつが間違う可能性もあればそれを見て実装するやつが間違う可能性もある
依存ライブラリのunsafeコードを含めると人間がすべてを監査するのは実質不可能
だけどAIによるunsafeコードの監査は今のところは全く使い物にならない
564デフォルトの名無しさん
垢版 |
2026/05/15(金) 16:32:15.81ID:UHdtlZ81
Rustのunsafeコードをチェックするための主要ツール

unsafe チェックツールまとめ
1. Miri(必須の動的解析)
2. cargo-fuzz(ファジング)
3. Kani(モデル検査)
4. cargo-geiger(可視化)
2026/05/15(金) 16:32:59.21ID:r6KfNwOP
>>563
unsafe 内の静的検査も可能なツール kani はかなり強力で、すでに std の検証にも部分的に使われている。
処理コストが重いので常用はちょっときついんだが、理論研究はやってるよ。
566デフォルトの名無しさん
垢版 |
2026/05/15(金) 16:33:18.32ID:UHdtlZ81
試したことないけど
OpenClaw経由でやるでしょ
2026/05/15(金) 16:36:48.90ID:6KlUUmfO
Rustの次の言語に期待するしかないか
568デフォルトの名無しさん
垢版 |
2026/05/15(金) 16:45:26.10ID:UHdtlZ81
そんなもんは来ない。RUSTが完成型
量子PCのQ言語が次にくる
2026/05/15(金) 16:46:33.13ID:CI8xz/C1
虎穴に入らずんば
2026/05/15(金) 18:35:59.11ID:0MfJ9N7a
>>562
安全性にかかわるコードを排除することはできないぞ

>>563
そもそも完全に保証できないからunsafeになってるのであって、検証できるものはsafeで実装されてるよ
言ってることがおかしい
2026/05/15(金) 19:45:55.74ID:bbRjIHgg
unsafeもあると、全てunsafeの違いが本気でわからないような人間が書いてるプログラムって
どんだけ脆弱なんだろうな
572デフォルトの名無しさん
垢版 |
2026/05/15(金) 19:47:50.77ID:d9k40Jj0
50年の資産(負債)
2026/05/15(金) 19:59:29.25ID:KHtd1An4
>>563
これは全く逆だと思う
これまでC系で形式検証の研究していた人たちはポインタのエイリアシングがどうにもならなくて行き詰まっていたところ、
Rustはnoalias保証があるからとても素性が良くて、毎年のように新しい研究成果が出ている
2026/05/15(金) 21:14:41.30ID:a6sQu7ib
形式検証だけでなく最適化でもnoalias保証が非常に大きく効いてくるよ
だからC言語にもそのためにrestrict修飾子を用いることでnoalias宣言する
しかし「それが正しいかどうかはプログラマーの責任」と「使ってる人が少ない」
Rustが抜群に有利だよ
2026/05/16(土) 11:08:05.39ID:7ltCkAbh
これが知識泥棒ってやつか
576デフォルトの名無しさん
垢版 |
2026/05/16(土) 11:28:48.23ID:3cZxUM4q
反AIみたいなガイジムーヴはNG
577デフォルトの名無しさん
垢版 |
2026/05/16(土) 11:33:44.41ID:JD9CCaRx
Rustは反AIです
安心安全はコンパイラの役目
578デフォルトの名無しさん
垢版 |
2026/05/16(土) 11:36:00.19ID:MBf7eb06
コンパイラの方が反AIでは?
2026/05/16(土) 11:39:21.98ID:g5Ay99Ap
AIのチェックがあればRustは不要
580デフォルトの名無しさん
垢版 |
2026/05/16(土) 11:41:48.99ID:i+7f4tk1
AIと連携したOpenClawが自動でツール通してチェックし始めるから垣根はなくなるだろう
2026/05/16(土) 11:46:58.69ID:BFNdzkZc
そのうちAIが直接機械語を出力するようになるんだろうな
2026/05/16(土) 11:56:02.78ID:jiPi5E13
AIは間違えるからコンパイラがルールを強制する
あらゆる事が可能な機械語が間違っていたら誰も直せない
print文のような単純な処理も複雑になる
2026/05/16(土) 12:09:07.31ID:g5Ay99Ap
間違いはプロンプトで防げ

「あなたは優秀なRustコンパイラーです。機械語は間違えないでください。」
584デフォルトの名無しさん
垢版 |
2026/05/16(土) 17:42:17.85ID:nwWTl46y
Deep nestingって各レイヤーにCargo.tomlを置くの?
ハイアラーキ管理がいまいちわからない。
2026/05/16(土) 18:26:21.09ID:9v1K/5l7
AIは間違えるから安全のために使っちゃ駄目だよ
586デフォルトの名無しさん
垢版 |
2026/05/16(土) 20:10:39.53ID:UwmlSuDA
AIは参考にする程度に使えばいいのよ

全部AIに任せると
何かよくわからんけど動いてるからヨシッになるんだよ
2026/05/16(土) 20:25:33.20ID:9v1K/5l7
そうそう、AIに負けせちゃだめ
2026/05/16(土) 20:25:50.44ID:9v1K/5l7
〇 任せちゃだめ
589デフォルトの名無しさん
垢版 |
2026/05/16(土) 20:51:46.87ID:anbFB6sS
C老人に任せちゃダメ
590デフォルトの名無しさん
垢版 |
2026/05/17(日) 12:37:10.83ID:Mcxr1NNF
web系がaiにほぼ代替されてるので生き残るのは組込Cぉぢさんだけになるとは
591デフォルトの名無しさん
垢版 |
2026/05/17(日) 12:41:47.40ID:3l1kpbu8
組込Cおじさんは引退寸前だしAIも使えないやん
2026/05/17(日) 13:49:15.59ID:5vLM1llL
組込CはなんでAI使えないんですか
2026/05/17(日) 14:02:46.24ID:0tDjzSRT
ネット上のサンプルが極端に少ないからとか?
594デフォルトの名無しさん
垢版 |
2026/05/17(日) 14:16:10.50ID:Mcxr1NNF
ai使えないからこそこれから強い定期
595デフォルトの名無しさん
垢版 |
2026/05/17(日) 16:06:46.11ID:1iC4nu9C
ないない
全ての領域でAIの強力な支援ありきになるから
2026/05/17(日) 18:17:06.03ID:L1Xlrqio
だからこそコンテキスト消費の少ない言語が評価されるようになるわけで
無尽蔵のチェックがいる機械語直出力LLMや
コンパイラの支援のないメモリバグチェックを求められる言語は今後来ない
2026/05/17(日) 19:23:52.93ID:/9weOqZ5
Rustが最も有望だよな
各AI大手もRustでゼロから作らせたり
あるいは他の言語からRustへ移植させたり成功させている
2026/05/17(日) 20:07:08.27ID:M7FvOBLK
AI (LLM) はどのプログラミング言語もそんなに得意ではないよ。
Rust なら上手く書けるってことはない。
その上で「『少なくとも』露骨に駄目なものは通さない」という点で Rust が有利なんだよ。
AI が悪いものを生成することがあるのはもう前提として受け入れて悪いものを検出しやすいようにするという思想だ。
ただ、他の言語よりは検出しやすいという程度に過ぎないという限界もある。
2026/05/17(日) 21:40:30.70ID:quRR03c2
そんなにC/C++は危険なんですかねぇ
とわ思いつつrust勉強中。別に難しくはないがなんかまだしっくりこない。
600デフォルトの名無しさん
垢版 |
2026/05/17(日) 21:42:16.26ID:iC7I8OH5
はい危険で負債です
2026/05/17(日) 21:57:59.91ID:quRR03c2
確かにバッキバキなクラスを作られたら後の人は大変か・・・
2026/05/18(月) 00:25:29.02ID:3Tyi2Hyz
クラスは不要かつ害悪
だからGoやRustなど新たな言語でクラスは無くなってる
2026/05/18(月) 01:03:15.17ID:U/WHskrO
>>602
クラスがないせいで、HTML DOMの実装がメタクソになってるけど?
604💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/18(月) 01:51:23.37ID:X5sfaAzO
鍵となるコンセプトは『文法としてのインライン関数』です。ifは引数を3つ取ります。条件式とthen節とelse節です。then節とelse節はインライン関数として与えられます。if自身もインライン関数として記述されます。それはその場に展開されることによって制御構造のように振る舞うのです。

RubyやSmalltalkのような言語はコードブロックを引数として渡す時に本物のクロージャを用いますがそういった際にインラインクロージャが使えると便利です。コンパイル戦略としてはJavaのバイトコードに落とすようなものを想像しています。このインライン化を自動で行い、さらに仕様化するにあたって、それは ((lambda ...)) の形をしているのではないかと考え、それを First Lambda と呼びました。
2026/05/18(月) 02:05:29.06ID:/55l3Nzw
>>603
問題になっていない
そもそもRustに関係なく邪悪なクラスは言語に必要ないもの
2026/05/18(月) 21:02:50.34ID:Bma6eJug
継承がない以外はGoやRustのstructはクラスと変わらないぞ
下手くそが書けば多量の責務を持たせたゴッド構造体は作れるし、意図のわからないメソッドや、フィールドが実質グローバル変数になってるクソコードも作れる
2026/05/18(月) 22:07:34.26ID:bSLYgg6S
継承のあるものがクラスと呼ばれる
そしてそのクラス継承こそが悪
それがなければ問題はない
608💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/18(月) 22:11:06.09ID:xeh3Pj6P
>>607
俺はいまいちそう思わんのよ。
2026/05/18(月) 22:15:26.74ID:TbkpQjR3
>>606
Rustで作る構造体や標準ライブラリの構造体は大量のトレイトが実装されているが、各々異なる役目のトレイトとして分離されてるためゴッドにならない
構造体の値自体がグローバル変数でない限り、そのフィールドがグローバル変数状態になることもない
2026/05/18(月) 22:52:12.64ID:v2r8sCxe
まずわカプセル化だけでも結構行けますね。
衝突の回避は大きいです。
すごーい出来る人が、鬼のような継承の般化と特化を行うと、普通の人間にはもう・・・
2026/05/18(月) 22:53:41.73ID:AFS6ge7+
相変わらず分かってねーな複おじはw
トレイトで分離されてるとかww
2026/05/18(月) 23:30:16.11ID:zf/vebrl
機能ごとにトレイトを設けてメソッド群を分離するのはRustの基本
2026/05/18(月) 23:47:27.11ID:TbkpQjR3
そう
構造体に依存しないコードは各トレイトのデフォルト実装に書くことで構造体から分離する
そして構造体の構造に依存する最小限のメソッドのみが実装必須メソッドとして残る
これがトレイトによる機能と構造体の分離
614デフォルトの名無しさん
垢版 |
2026/05/19(火) 01:02:26.58ID:V+0HhIID
そもそもOOP自体いらねー
615デフォルトの名無しさん
垢版 |
2026/05/19(火) 01:21:05.18ID:d2QMIKgJ
Rustのモダンな設計に貪欲なところ好きだわ
安全性や速さよりここが一番のメリットかもしれない
616デフォルトの名無しさん
垢版 |
2026/05/19(火) 07:54:55.36ID:SHchXQdh
trait だってoop のための手法じゃないのか?継承可能な構造体の作成のための支援機能は小さくても仕方がない、というのがRustの現状じゃないの?
617デフォルトの名無しさん
垢版 |
2026/05/19(火) 07:58:21.00ID:da7V5kd3
クラスという世紀の大失敗を排除したからRustは正しくプログラミングしやすい
2026/05/19(火) 08:03:45.75ID:f7Fxqt1M
議論の前提を「下手くそが書いたJava」と「まともな人が書いたRust」にしてるのはズルじゃない?
まともなJavaやC#開発者ならちゃんと機能ごとにインターフェースを切るし、それをしない人がコードの見通しを悪くするだけで、それはRustの構造体やトレイトでも同じ
コードをきれいに保ちやすいのはOOP部分ではなく、変数やメソッドをデフォルトで immutable 側に寄せてるのが大きい理由だと思う
619デフォルトの名無しさん
垢版 |
2026/05/19(火) 08:05:52.83ID:zAACzc8h
言語選択の時点でヘタクソとまともな人間が分かれる
まともな人間はRUSTを選ぶ
620💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/19(火) 08:07:24.05ID:jEASG70s
「森羅万象を(クラスの)ツリーにできる」と大勢で信じてたことを大反省したんだろ。クラスが間違ってるわけじゃないし、俺は継承すら間違ってるとも思わない。
621デフォルトの名無しさん
垢版 |
2026/05/19(火) 08:17:36.16ID:KSWJnGHa
>>620
クラスは間違っていますよ
クラスからクラス継承を無くしたら構造体と変わりません
間違っている部分はクラス継承です
622💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/19(火) 08:27:09.99ID:jEASG70s
構造体に過ぎなくてもカプセル化はカプセル化だと思うがじゃあクラスって?
2026/05/19(火) 08:40:02.45ID:XRYjBMhe
株式会社アイ・エス・ビー
https://kizuna.5ch.io/test/read.cgi/infosys/1756826944/
624デフォルトの名無しさん
垢版 |
2026/05/19(火) 08:46:28.82ID:ZSjyxM6d
つまり静的ダックタイピング・構造的型付けが最強、と。
2026/05/19(火) 09:04:20.07ID:m9VduNFc
>>618
じゃばやしーしゃを過剰に毛嫌いしている人はOOP挫折勢の可能性
OOPも適材適所で使えばいいだけ
2026/05/19(火) 09:07:25.07ID:I80C/Uzq
Rustはorphan ruleがあるから、カプセル化に関しては実質クラスと変わらないでしょ
構文が違うだけだからAI時代にはもはやどうでもいい
627💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/19(火) 09:30:46.75ID:jEASG70s
うん、どのクラスもインターフェースのいくつかと自分用のおまけを用意すればいいだけ。継承のみでツリー化できるという信念が狂ってたわけ。
628💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/19(火) 09:32:55.29ID:jEASG70s
そのうえで継承「も」欲しいというのが俺の立場。
629デフォルトの名無しさん
垢版 |
2026/05/19(火) 09:39:11.84ID:d2QMIKgJ
Rustの思想に歯向かう者はロートル
2026/05/19(火) 09:47:10.00ID:AiYi5RLs
impl に関しては、class で括るのは物理的なソースファイル構成の制約が強すぎるし、
同名メンバの別実装をするのが厄介になるから、trait別に分けて書けた方が理に適っている、というだけの話でしかなくて、
それをもってクラスの要不要を云々するのはあまり本質的じゃないよね
C#なんかは一つのクラスを複数ファイルに分けて書けるし同名メンバを別実装する構文もあるけど、だったらもうclassで括らんくてよくね?は妥当
2026/05/19(火) 10:00:04.78ID:ifCZ5qyh
>>615
Hindley-Milner型システムの起源は C より古いくらいの古典。 (Rust はその発展形である Haskell をかなり参考にしていると思う。)
構文木を組み立てるマクロは Lisp 初期に生まれて半世紀以上の歴史を積み重ねた枯れた技術。
個々の要素を見れば割と古い。
ほぼ Rust から生まれたと言える新しい言語機能はライフタイム注釈 (ライフタイムモデル) くらいじゃないかね。

使い古した概念だからこそ良いバランスで導入できているように思う。
632💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/19(火) 10:06:41.28ID:jEASG70s
「これならC/C++に勝てる」。そう思うからあらゆる知恵が集まる。小粋なイテレータとか、Vecなんてダブルリンクリストをほぼ完全に過去のものにしてしまった。
2026/05/19(火) 18:14:43.79ID:VkO769ty
>>604
重要なことはif文ではなく値を返すif式であるという今では当たり前のことのみ
then節もelse節も同じ型の値を返せばよいだけであってインライン云々はどうでもいい
Rustに関してはnever型の導入で値を返さず離脱する時の整合性くらい
634💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/19(火) 19:08:26.98ID:dl7hjnTe
>>633
遅くていいんならって話ならテイルコールにも同じこと言う?
635💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/19(火) 19:19:20.92ID:dl7hjnTe
>>633
言ってることわかる?君の意見はテイルコールの提案に対して「テイルコールなんてコールだ」と言ってるようなものなんだけど。
2026/05/19(火) 19:36:58.18ID:VkO769ty
>>634
その件にテイルコールは関係なく出て来てもいない
姑息な議論のすり替えは不可能
インラインの話のみが出ている
そしてRustでは自動的にインライン化されるため自由に細かく関数を分けて流れを見やすくできつつ遅くならない
637💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/19(火) 20:01:57.45ID:dl7hjnTe
>>636
ファーストラムダをテイルコールのように最適化しませんかという提案だ。
2026/05/19(火) 20:15:00.81ID:ifCZ5qyh
>>637
Lisp スレで言ってたカスみたいな話が馬鹿にされまくったからこっちにきたんか?
迷惑かけんなよ。
2026/05/19(火) 20:31:03.28ID:VkO769ty
>>637
First Lambda Optimizationの意味すら理解できていないのか
即時適用されるラムダ式に対してはクロージャを生成することなくローカルスコープとみなして取り扱う最適化なのでテイルコールは一切関係ない

そもそもがローカルスコープを持たないプログラミング言語でラムダ式を用いてローカルスコープを実現する手法が出発点
そういった言語ではローカル変数letですらsyntax sugarでラムダ式に展開される
その時の最適化の話だぞ
Rustはローカルスコープを実現するブロック式があるので最初から最適化された状態で取り扱われる
640💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/19(火) 22:31:57.57ID:dl7hjnTe
>>639
テイルコールはテイルなコールをジャンプに最適化するんだよ。テイルでないコールはコールのままなんだよ。

ファーストラムダはファーストなラムダをインライン展開するんだよ。ファーストでないラムダは普通のクロージャを返すんだよ。

First Lambda Optimizationはそもそも俺が思いついて俺が提唱してんだよ。
2026/05/19(火) 22:49:16.10ID:VkO769ty
>>640
本来の目的はローカルスコープになるブロック式を持つRustには関係ない話
そしてRustでクロージャに引数を付けて即時呼び出しすれば自動的にインライン展開されるのでその最適化は既に実現されている
642💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/20(水) 01:04:20.29ID:aoS52wMR
>>641
処理系を作る側からすればどの言語でも同じだろうって頑なに想像できないサルだな?
643💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/20(水) 02:58:52.16ID:aoS52wMR
ファーストラムダ讃歌
https://vk.com/wall1094813593_189
644💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/20(水) 03:02:11.46ID:aoS52wMR
こっちの方がいいか。
https://youtu.be/d4cPQG1GQz0
645デフォルトの名無しさん
垢版 |
2026/05/20(水) 03:33:18.08ID:Fdm1Ngn2
>>640
提唱!?
大量の使い捨てクロージャを常用するRustではインライン展開が当たり前のようにされてるよ
だからクロージャを用いたイテレータメソッドチェーンで抽象的に記述してもC言語と同じ速さが出てるよ
646デフォルトの名無しさん
垢版 |
2026/05/20(水) 03:42:48.69ID:1/0wgtbn
触ってはいけない
647💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/20(水) 04:52:39.86ID:aoS52wMR
>>645
「使い捨てクロージャ」というのは無名関数のこと?それともインライン関数のこと?
648デフォルトの名無しさん
垢版 |
2026/05/20(水) 06:23:07.05ID:uhESQ1e/
AIコパイロット凄いですねぇ。
AI無しでは、Rustの問題解決はできない。
AIの申し子のような言語だ Rust
て、ようやく8000行超えの組み込みRust完成 ESP32基板納品や。
649💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/20(水) 08:43:21.59ID:aoS52wMR
乱数のライブラリを書いてみたんだよ。グローバル関数2つからなるらライブラリなんだ。stand() と rand(n) の2つだけ。srand() は time(0) 相当品で種を初期化。rand(n) は乱数を mod n して返す。種はスレッドローカルデータで保持しているのでグローバル関数なのにスレッドセーフという優れもの。どう思う?
650デフォルトの名無しさん
垢版 |
2026/05/20(水) 08:59:19.38ID:tF1nTHc9
>>649
組み込みには使えないよ
スタンダードライブラリー無しで組むとか苦行
coreだけでやるのか?

それならC言語のスタンダードライブラリーの方が組み込みと相性いい
2026/05/20(水) 09:08:31.03ID:xj1EG/rJ
んと rustって実行ファイルでかくないすか。
c++の10倍ぐらいあるんですけど。
組み込みでは辛いんじゃないかと。素人
652デフォルトの名無しさん
垢版 |
2026/05/20(水) 09:10:51.47ID:5vIf6xKF
>>649
既存のライブラリ見て出直して来い
2026/05/20(水) 09:14:45.68ID:2XQEJL81
>>651
Rustはバイト数最小からサイズ気にせず他の効率優先まで色んなパターンどちらでも使えるように始めから設計されて作られてるよ
654デフォルトの名無しさん
垢版 |
2026/05/20(水) 09:18:35.62ID:tF1nTHc9
>>651
RTICとか使えば割り込み手動で設計できるのはできるけど、枯れたエコシステムやRTOSが既にある組み込みでは相対的にRustは使いづらいのよな
すでにCの実装は山ほど転がってるから
2026/05/20(水) 09:18:45.30ID:xj1EG/rJ
>>653
build オプションみたいなのがあるのか どもです
2026/05/20(水) 09:32:37.33ID:GcQbMSLz
スタートアップルーチンを最小限まで削るのは nightly が必要。
stable でオプションをどういじっても何もしないプログラムで 200kb くらいになる。
2026/05/20(水) 09:52:00.78ID:MQlACwwP
no_stdにして必要なライブラリだけ使うので困ってないけどな
658💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/20(水) 10:06:50.94ID:aoS52wMR
>>650
たったこれだけなんだけどな。組み込み屋さんって乱数を自前で持ってないの?
https://ja.wikipedia.org/wiki/%E7%B7%9A%E5%BD%A2%E5%90%88%E5%90%8C%E6%B3%95#ParkMiller
659💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/20(水) 11:50:06.93ID:aoS52wMR
>>650,652

https://github.com/teamjces/www/blob/main/rand.rs
2026/05/20(水) 12:00:39.60ID:GcQbMSLz
線形合同法が使い物にならないのでライブラリとしての構成以前に論外。
昔は線形合同法を用途に合わせて補正して使ったりもしてたけど乱数の性質を理解して補正しなきゃならん程度の抽象度ならライブラリとして独立させる意味がない。

それとスレッドローカルにするとそれぞれのスレッドで同じ乱数が生成されてしまうので攻撃の起点になる。
乱数の内部データはスレッドローカルにしてはならない。
661💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/20(水) 12:08:22.82ID:aoS52wMR
それぞれのスレッドで rand(n) を呼ぶたびに違う乱数が返るよ?
2026/05/20(水) 15:02:25.27ID:X/fy6Ci/
ちまちまID変えるどころか諸々のアカウントを堂々と晒していくこの潔さを複おじも見習ってほしい
663デフォルトの名無しさん
垢版 |
2026/05/20(水) 20:59:25.91ID:tS5Q0W13
AD値とかの純粋にランダムなハードウェア由来の値を使用してランダム値、ハッシュ値ぐらい作れるよ
半導体の電気的ノイズを由来としてるから組み込みだと困らん
Rustとは関係なくてスマソ。たいていハードウェアマニュアルにレジスタの設定が載ってる
2026/05/20(水) 21:28:39.75ID:jKMOLzGo
>>659
しょぼいAIにでも作らせたのか素人なのかデタラメなコード
2026/05/21(木) 11:07:18.36ID:1ikfLGGa
>>52
感想文だと思う
666デフォルトの名無しさん
垢版 |
2026/05/21(木) 16:26:31.87ID:z03QqSx2
アウトプットを人に見せることで反応して貰えてよかったやん
やり直し。
2026/05/21(木) 19:08:48.75ID:1zkWEe9W
>>658
与えたシード値と生成される乱数値の対応をコンパイラが変わっても保証したい場合に自作はやります
Cなどでのお話
2026/05/21(木) 20:40:22.49ID:AmDBTkz2
>>663
OSなどがあればそこでやってくれる
Rustでも標準ライブラリでサポートしてる
消費すると枯渇する貴重なリリースなので多用する乱数生成のシード値として用いることが多い
2026/05/21(木) 20:47:03.06ID:AmDBTkz2
こんな感じ
fn random() -> u64 {
 use std::cell::Cell;
 use std::hash::{BuildHasher, RandomState};
 
 thread_local! {
  static STATE: Cell<u64> = Cell::new(seed());
 }
 
 fn seed() -> u64 {
  loop {
   let seed = RandomState::new().hash_one(u64::default());
   if seed != 0 {
    return seed;
   }
  }
 }
 
 STATE.with(|state| {
  let old = state.get();
  let (new, output) = random_number_generator(old);
  state.set(new);
  output
})
}
2026/05/21(木) 22:39:37.73ID:AmDBTkz2
あとは用途やお好みの方法で例えば
fn random_number_generator(old: u64) -> (u64, u64) {
 // xorshift* random number generator
 const MAGIC_XOR_SHIFT_STAR: u64 = 0x2545_f491_4f6c_dd1d;
 let mut new = old;
 new ^= new >> 12;
 new ^= new << 25;
 new ^= new >> 27;
 let output = new.wrapping_mul(MAGIC_XOR_SHIFT_STAR);
 (new, output)
}
2026/05/22(金) 07:00:08.41ID:TLn0GI1A
return (new,output) ; でもいんでしょ。セミコがないと気持ち悪い。
2026/05/22(金) 07:09:39.74ID:jXDp6LTc
>>671
returnは途中で離脱するためのもの
そこは離脱ではなく最終値
だからreturnは使われない
2026/05/22(金) 08:50:59.71ID:GQxNZRDQ
returnを省略できる言語でも複数ステートメントの場合には気持ち悪いと感じるのは割と一般的な感覚で、
実際KotlinとかSwiftなんかはこのケースではreturnを書くのが普通だね
Rustユーザーは言語にアイデンティティを求める人が多く、あえてそういったモダンC系の慣習には従いたがらない傾向がある
個人的にはこのケースはreturn要らないと思うが、副作用を含むステートメントの後にreturn書かないのは生理的に受け付けないわ
674デフォルトの名無しさん
垢版 |
2026/05/22(金) 08:59:33.21ID:6EpE/HvD
>>673
どこに副作用があるの??
2026/05/22(金) 09:00:17.74ID:HRWN9RWa
>>674
だからこのケースでは不要と言ってるでしょ
2026/05/22(金) 09:33:44.02ID:MZ2QcSuC
副作用の有無がreturnの有無に繋がる感覚がわからん
677デフォルトの名無しさん
垢版 |
2026/05/22(金) 09:50:53.94ID:w6yVLlGz
プログラミング学習をrustからはじめて他の言語ほぼ知らんけど
基本的にreturnを明示するのは例外、正常処理はreturnなしセミコロンなし
という意味があるから正常なのにreturnつけるのはダメなことって学んでたわ
アイデンティティとか慣習とか考えたこともなかった
678デフォルトの名無しさん
垢版 |
2026/05/22(金) 09:53:02.80ID:mN94HCBg
単なるSyntaxSugarや省略形とは違う
まぁ最終的にはそういう文法・慣習ということになるが
{}は式で最後の値が式全体の値になるという普遍的なもの
returnは関数を抜けるという扱い
fn f(x: i32) -> i32 {
if x < 0 {
return 0;
}
x + 1
}
この場合のreturnはifの値を返すのではなくfn fを抜ける
2026/05/22(金) 10:10:58.45ID:wcpD9j3+
PythonとかだとreturnがないとNoneが戻り値となる(副作用に主眼がある関数であるという示唆になる)ので、副作用の有無とreturnの有無とに関わりを持たせるという感覚は必ずしも特異なものではないんじゃないかな。Rustではそういう意味論を採用していないというだけで。
2026/05/22(金) 10:16:18.69ID:vZCuOsyG
returnは関数ブロックを早期離脱するbreakだよね
それ以外のブロックを早期離脱する時はbreakを使うもんね
関数ブロックにはラベルを付けられないけど
もしラベルを 'fn: { ... } みたいに自動的に付けられてる扱いだとしたら
return xはbreak 'fn xに置き換えられて糖衣構文扱いできそう
2026/05/22(金) 10:24:55.87ID:rCCtMXT8
>>679
Rustもreturnがなくて最後がfoo();とかprintln!();で終わっていたら()が返り値になるよ
セミコロンなくてfoo()なら値として扱われてその値が返るから
2026/05/22(金) 10:28:33.74ID:heIJtN9j
>>677
なんかかわいそう
683デフォルトの名無しさん
垢版 |
2026/05/22(金) 10:52:10.52ID:tcKVxn6n
returnを省略してると考える時点で違うからな
評価をreturnとか意味わからんだろ
2026/05/22(金) 10:53:04.98ID:IANC8m9Q
40年やってるけどRustのreturnはCommon Lispのreturn-fromみたいなもんだと思ってるよ
Schemeみたいにcall/ccで早期リターンしたら文句言うでしょ君ら
2026/05/22(金) 10:55:58.99ID:0mD4rWhL
ブロックの中の最後の値がブロックの値になる
最後がセミコロンで終わっていたら値は()になる
途中でbreakやreturnにより打ち切りされたらその指定の値になる
指定の値がなかったら値は()になる
2026/05/22(金) 12:42:01.74ID:AHLy408C
問わず語り
687デフォルトの名無しさん
垢版 |
2026/05/22(金) 12:46:24.48ID:rX7Q99xN
powershellの仕様になってなければokと思ってる
688デフォルトの名無しさん
垢版 |
2026/05/22(金) 13:46:51.09ID:Uq3wdQJ1
行末にセミコロンが必要になる言語はクソ
689デフォルトの名無しさん
垢版 |
2026/05/22(金) 14:06:00.70ID:PQJ0vjkW
プログラマブルセミコロンのHaskellは最強ということですね!?
2026/05/22(金) 14:20:14.80ID:0Q+dgZsl
>>677
それが正常時か異常時かに関係なく
早期に値が確定して戻る時
returnが使われる

それが正常時か異常時かに関係なく
関数の最後で値が確定する時
returnを使わずに値だけを書く
returnを使ってもエラーにはならないが
Rustの公式リントであるclippyではreturnを削除しろと警告される
691デフォルトの名無しさん
垢版 |
2026/05/22(金) 18:23:28.92ID:8MA4cCLZ
AI登場で言語にこだわるやつなんて化石みたいなもんになったわ
692デフォルトの名無しさん
垢版 |
2026/05/22(金) 18:53:43.73ID:ctrICSXs
>>691
このスレに来てるお前はほんとはプログラムとか、プログラミング好きなんじゃねーの?

人工知能の時代にショック受けるのは分かるけど、俺も言語好きだから正直に生きろよ
別に趣味でいいじゃん
693デフォルトの名無しさん
垢版 |
2026/05/22(金) 18:55:36.42ID:VPN8CsAB
むしろRUST一択にこだわるのが本物
馬鹿はAIで何でも使えるとかのたまう
694sage
垢版 |
2026/05/22(金) 19:01:55.52ID:Px60Ty+f
その通り
AIにプログラム作らせて安心安全とか狂気の沙汰
695デフォルトの名無しさん
垢版 |
2026/05/22(金) 19:05:25.21ID:8xfxEBU6
言語はRust, TS固定であとはとにかく設計に頭とAIを使うのがいいね
ただクラウドが絡むとベンダーに推奨言語が変わり非常に面倒くさい
696デフォルトの名無しさん
垢版 |
2026/05/22(金) 19:14:48.53ID:ctrICSXs
>>695
TSはダメ
型を足したからってJSの流れから続く緩さが残ってしまってる
俺はフロントエンドで痛い目に遭ってからやめた
もうWASMでDOMいじった方が安全だ
697デフォルトの名無しさん
垢版 |
2026/05/22(金) 20:07:46.54ID:8xfxEBU6
それはなんか設計とか状態管理ミスってるのでは
Rustの型使えたからってすぐに改善はしないと思う
698デフォルトの名無しさん
垢版 |
2026/05/22(金) 20:27:59.12ID:s4n+74nR
tsの肩て間違っててもコンパイル通るしやってる感やろ
jstsはうんこすぎ
てかフロントごときに肩いらなくね
2026/05/22(金) 22:34:54.64ID:DHgQVE6+
AIの発展を考えるなら、プログラミングをやめるより、AIを使いこなす努力をやめた方がいいのに
一生懸命AIを使いこなす工夫を考えても、しばらくしたら陳腐化して無駄になるだけ
一方、プログラミングの能力は、AIに詳細かつ適切な指示を出すために、そして出力の検証をするために益々必要になる
2026/05/22(金) 22:41:03.22ID:ommkJ3RQ
>>699
AIへ適切な設計や分割の指示をするかしないかで効率が桁違いに変わってくるもんね
AI使わずにその能力を身に着けてきた者と素人ではAI時代も勝負にならない
2026/05/22(金) 23:20:10.84ID:smdYphnL
今のところは相関関係もあるだろうが、将来的には別々の技能に発展していくんじゃない? 絵を描く技能とPhotoshopを使う技能の共通点はごく僅かだと思うし、それと同じことになるのでは。
出力されたコードを人が検証できるあいだは検証能力は必要だろうけど、検証は検証専用のAIを使う(そうしないと出力される複雑かつ大量のコードを検証することは現実的に不可能)という時代が来るのもそう先のことではないような気もするが。
いずれプログラミングは趣味のDIYみたいになるのでは。AIにやらせれば簡単に高品質のコードが手に入るけど、あえて自分の頭で考えてやることに楽しみを見出すみたいな。
2026/05/22(金) 23:47:03.65ID:0xi7fmSf
>>701
そんな状況まで進んだらホワイトカラー職は全て失業になってるよ
703デフォルトの名無しさん
垢版 |
2026/05/22(金) 23:48:08.31ID:1jiw5dI5
>>701
将棋は完全に崩壊したけどな、、、
解説者がいない、そんでAIの猫が勝手に解説して数値で形勢を伝えてる

解説者いない将棋中継って地獄だぞ
2026/05/22(金) 23:50:39.46ID:DR7sOXNV
ホワイトカラー職が営業と役員以外全て失業する可能性と、AIの進歩が止まる可能性だったら
どう考えても前者のほうが高い
2026/05/22(金) 23:51:35.01ID:LN9YDYNA
フィジカルAIの進化が凄まじいのでブルーカラーもほぼ同時期に失業
2026/05/22(金) 23:55:58.69ID:S5THE8uV
コスト的に人間にやらせたほうが安い仕事がしばらく残ると言われている
つまり人間がAIによる指示の支配下で肉体労働をする奴隷になる
2026/05/23(土) 03:29:49.20ID:AUqI9S53
最後に残った人間の仕事はセックスだけであった
2026/05/23(土) 08:37:59.51ID:cFH6EY4l
IT土方ならRustが最適なんじゃね
709デフォルトの名無しさん
垢版 |
2026/05/23(土) 09:04:20.17ID:6i6A2zp6
rustムズイな。 特にライフタイム。 Option<,>のライフタイムなどチンブンカンブン。
2026/05/23(土) 09:24:29.43ID:bZFyTC6M
>>709
C言語がわかっていればライフタイムは簡単
C言語でポインタの寿命管理する時に頭の中でメモっていたことをRustではコードにメモるだけ
2026/05/23(土) 09:35:13.68ID:4Q+zUlJB
型引数なら最終的にはなんならかの具体的な型があてはめられるし、頭のなかでなんとなく展開過程をトレースできるけどライフタイム注釈は抽象度が高くて追いにくいというのはわからんでもない。
でもやろうとしてることは「ダングリング参照を発生させない」というだけの超シンプルな目的なのでそうなるように書けば注釈は後付けで辻褄の合うように書くのは簡単。
なんならコンパイラが書き方まで提示してくれることもある。
712💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/23(土) 10:10:40.54ID:NSp/V29j
alloca() みたいにスタック上にメモリを確保するんならその寿命も解放すべきタイミングも明らかだよな?別にRustはスタック上にメモリを確保するんではないけどさ?

Rustでは解析は「ない」のではなく「ある
」。解析が「ある」ので「スタック上でないにもかかわらず」「スタック上であるかのように明らか」というのはまず想像がつく?
2026/05/23(土) 10:20:07.58ID:NNqjAtXU
>>712
allocaなんて使わなくても関係内のstaticでない変数は全て必ずスタック上に確保される
それは内部にヒープ確保分を持つ持たないに関わらず全く同じ
2026/05/23(土) 10:24:35.77ID:ba89qukg
AIに適当に指示しときゃライフタイムみたいな低レベルなケアは人間より遥かに上手いことやってくれるのに何言ってんの
時代はヴァイブスよ
2026/05/23(土) 10:49:02.59ID:BaT8ZEO/
従来の言語の関数の型は引数の型や返り値の型が二つの関数で全て一致していれば同じ型として扱われてきた
しかしポインタや参照を含む場合それだけでは不十分であった
引数のどの参照が返り値のどの部分に引き継がれたるかもしくは引き継がれる可能性があるかで組み合わせ無数に異なる挙動を示すからである
それらを区別できないとダングリング参照などが起きかねない
そこを解決したのがRustのライフタイム注釈
2026/05/23(土) 11:43:51.09ID:VKBWMhIo
fn foo(x: &str, y: &str) -> &str
① xの内容を見てyの一部を返す関数
② yの内容を見てxの一部を返す関数
③ 比較してxまたはyの一部を返す関数
④ xでもyでもない文字列を返す関数
これら区別しないといけないもんな
2026/05/23(土) 11:54:08.23ID:HYsgQDX1
まともなUIフレームワークでてきた?
gpui componentsとかまだ微妙出し
718デフォルトの名無しさん
垢版 |
2026/05/23(土) 12:38:27.14ID:OhS1XctA
本命になるかわからんフレームワークのDSL覚えるのだるいから諦めてtauri使ってる
2026/05/23(土) 12:41:17.02ID:AUqI9S53
>>715
「挙動」って言っておけばかっこいいと思っているのかしらんが、まるで意味をなしていないぞ
720デフォルトの名無しさん
垢版 |
2026/05/23(土) 12:43:47.00ID:XFUmzOyz
意味のない指摘だよ…
721デフォルトの名無しさん
垢版 |
2026/05/23(土) 15:35:14.35ID:MBMiJEYf
tauri駄目なの?
2.0なって使いやすくなったと思うけど
2026/05/23(土) 15:43:12.54ID:HYsgQDX1
やっぱ安定のWEBフロントなのか
723デフォルトの名無しさん
垢版 |
2026/05/23(土) 16:21:24.27ID:ugbcQ5it
tauri良いけどせっかくRust使うのにjs混ざるのは気になるね
あと設定周りが変わりすぎてわからん
2026/05/23(土) 17:14:41.73ID:jEgxMmYE
ウェブまわりの規格はめちゃくちゃに変化が激しいんだよな。
他のフレームワークもまだ充分に確立できていない (変化すると見込まれる) からどっちがマシかという話ではあるんだが。
725デフォルトの名無しさん
垢版 |
2026/05/23(土) 17:24:53.76ID:6f6FwuqO
gpui vs egui
2026/05/23(土) 19:01:00.75ID:IOAY5fZG
Tauri以外でいくなら、独自レンダリング系のフレームワークはだいたいマルチバイト文字が破綻してるから
今後はマルチバイト文字もちゃんと入力表示ができる、テキストエディタのZedという実証があるgpui一択かなあ
2026/05/23(土) 19:28:19.11ID:2tLcDg8r
TauriはWebViewなどWebブラウザ描画エンジンを使うからWebアプリWebサイト作成と同じようにHTML/CSSベース
Webブラウザ利用のリモート利用対応へも持っていきやすい
gpuiはGPUを直接利用するから速い代わりにHTML/CSSでやってもらえてたことを全て自分でやるんだよね
2026/05/23(土) 20:59:46.01ID:ba89qukg
>>724
Rustも大概だろ
フロントエンドはUXデザインの流行り廃りに追従せざるを得ないから技術スタックの更新機会が必然的に多くなる面があるのだが、
Rustはサーバサイドでもスタックが全然安定してないからな
エコシステム全体が俺スゲー駆動で無駄にいじくり回してばかりで無茶苦茶
最近はみんなAIにご執心で、無駄なフレームワークハックは落ち着いてきたようだが
729デフォルトの名無しさん
垢版 |
2026/05/23(土) 21:11:53.88ID:EmlPwxaw
基盤のTokio/Hyperはとっくに不動で現在の進化はより安全で堅牢なシステムを組むための洗練プロセス
​コンパイルが通れば絶対にバグらないというRustの理想をWeb開発の極限まで追求した成果なのねん
730デフォルトの名無しさん
垢版 |
2026/05/23(土) 21:15:43.93ID:BicWq974
>>727 tailwindcss ライクにスタイル当てることはできる。
補完表示するとえらいことになりそうだけど。
2026/05/23(土) 22:07:33.45ID:uUT+Jau3
>>729
この日本語力で洗練とか言われてもww
2026/05/23(土) 22:08:36.80ID:s9oiwm71
>>728
具体的にRustの何が安定していないと主張してるの?
テキトーな印象操作でなければ明記して
733デフォルトの名無しさん
垢版 |
2026/05/23(土) 22:09:07.52ID:sZXU0/d5
知らんわ
AIの回答をコピペしただけだしw
2026/05/23(土) 22:11:33.45ID:s9oiwm71
>>729
大手IT各社がみんな必要としたWebインフラ基盤だからRustで最も力が入ってるよね
2026/05/23(土) 22:18:31.84ID:HKF7S4os
>>734
さすが複おじw
自演力も洗練されてるねww
736デフォルトの名無しさん
垢版 |
2026/05/23(土) 22:20:49.25ID:sZXU0/d5
仮に自演でも内容に反論できてないだろ?
そういうとこやぞ?
2026/05/23(土) 22:27:03.59ID:IOAY5fZG
AIぺたぺたでイキってる奴は早く自殺すりゃいいのに
738デフォルトの名無しさん
垢版 |
2026/05/23(土) 22:29:50.03ID:j7ZzZUg6
ど、どうしたんだ?いきなり発狂し始めて!?
739💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/23(土) 22:53:17.91ID:NSp/V29j
じゃがりこメーカー
https://www.calbee.co.jp/jagarico-maker/
2026/05/23(土) 22:59:04.66ID:s9oiwm71
自演していません
別人です
2026/05/23(土) 23:10:52.96ID:o0kHz9Pr
世界人気第2位のブログラミング言語
742デフォルトの名無しさん
垢版 |
2026/05/24(日) 00:37:07.32ID:xvvVujRj
内製ツールとかならratatuiでtuiで足りる事もあるね
743デフォルトの名無しさん
垢版 |
2026/05/24(日) 02:03:41.82ID:tU7Pb9gH
AIの言うことを伝えるメガホンとなり果てた人類

Rustの安定性で実感してるのは
言語自体は後方互換性保たれてて良い
Nightlyは触ったことない
クレートは作者次第でコロコロ変わるクソ
Clippyもたまに変わり謎の警告で困惑
744デフォルトの名無しさん
垢版 |
2026/05/24(日) 02:06:14.29ID:nrKtn5eB
Cでやられるよりマシ
2026/05/24(日) 02:59:02.80ID:M4tu0SBv
>>743
クレートはバージョン番号を固定しろよ
他の言語でもそれが基本だろ
2026/05/24(日) 03:07:47.86ID:jv0G+5jI
クレートはキャレットつけるかローカルクレートにしたらいいじゃん
てかenigoは普通にミスってるからフォークしてローカルクレートにして使ってるわ
PR出されてもめんどいだろうからそのまま放置してるが
2026/05/24(日) 05:31:12.38ID:Ev986XWO
electronとして配布サイズ小さいとかあるけど
rustがデフォルトじゃない人にとってある程度速度求めてrustいくのにフロントがwebとかなんだコレと思う
2026/05/24(日) 05:32:06.85ID:Ev986XWO
electronと比較して*
2026/05/24(日) 05:45:33.34ID:BVNVX7cT
>>747
ElectronもHTML/CSS/JavaScriptでUI記述でっせ
2026/05/24(日) 07:51:41.18ID:0e3XJX5H
>>746
AIによって脆弱性が発見されて詰むのがオチ
俺スゲー駆動全開なcrate作者連中に過去バージョンのバックポートなんてまず期待できないし
751デフォルトの名無しさん
垢版 |
2026/05/24(日) 09:32:23.43ID:eLkOLBtt
Unwrap Policeでunwrapは見つけられるが、潰していくには、引数から考えていかなければない。
誰だよ? unwrapなんか発明した奴は たく・・・
752デフォルトの名無しさん
垢版 |
2026/05/24(日) 09:41:10.74ID:/bWoahLc
>>751
unwrap_or_default 使ってデフォルト値で確実に動き続ける設計にすればいいのに何故悩む?
stackoverlowとかのサイト見て相談することを強くおすすめする!
753デフォルトの名無しさん
垢版 |
2026/05/24(日) 10:13:24.70ID:tU7Pb9gH
unwrapの時に初めてデフォルト値が決まるって怖くね
754デフォルトの名無しさん
垢版 |
2026/05/24(日) 10:19:00.78ID:tU7Pb9gH
defaultは型のデフォルトの方か
まぁ一緒か
2026/05/24(日) 10:32:42.19ID:/jkmbLum
unwrap消したいなら
match foo {
Ok(val) => val,
Err(_) => unreachable!(),
};
にすればいいよ
自分は一行で書けるunwrapの方が好きだけど
2026/05/24(日) 10:47:27.96ID:ybLtYkdv
>>745
バージョン固定は超短期的な安定性の話で
>>743が上げた問題に対しては何の解決にもならない
2026/05/24(日) 11:56:46.30ID:a6+DiN+1
>>751
そんなもんこのリポジトリ内でunwrapの使用を漏れなく見つけて適切に修正せよとAIに頼めば5分で終わるよ
2026/05/24(日) 12:03:56.52ID:4I9dnTed
>>756
バージョン番号付与ルールがある
その範囲内で後方互換性は保証されるため困らない
759デフォルトの名無しさん
垢版 |
2026/05/24(日) 12:35:10.14ID:26LDCZR5
>>756
エアプニワカ勢乙
2026/05/24(日) 13:06:07.92ID:Ib0FB2CE
机上知識しかないとバージョンを固定しとけば問題ないと思っちゃうんだよな
俺も昔はそうだったわ
761💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/24(日) 13:28:20.73ID:fAG7NgfK
一生懸命書いてやったから読め。

https://vk.com/wall-236094343_23
2026/05/24(日) 13:29:42.53ID:f71QriMp
基本はバージョン固定とcargo auditで問題ない
必要に応じてバージョンを上げる時も同じ
あとはローカルにフォークして取り込むことがベターなケースもある
2026/05/24(日) 18:52:05.81ID:u/nGWQRd
>>757
unwrapすべきでないところでunwrapしてるケースの大半は
そのコードを書いた開発者自身がどうハンドリングすべきか理解してないから
要は仕様が曖昧な状態

それを「適切に修正せよ」なんていう曖昧な指示で修正するのは
unwrapの代わりに新しいバグを埋め込むだけ
2026/05/24(日) 20:01:15.94ID:YcwbNvmt
unwrapはいけない!!!!で思考が停止してる奴は
Javaとか書かせたら例外全部握りつぶしそう
765デフォルトの名無しさん
垢版 |
2026/05/24(日) 20:41:23.50ID:eLkOLBtt
まぁ Unwrap Policeのあの真っ赤な表示は心臓に悪いが、結果としてUnwrap()に対処することでロバストな結果になっているのは確か。
AIコパイロットやインテリセンスが作るUnwrap()は悪い事ばかりではない。
2026/05/24(日) 22:49:49.65ID:Rr7ZigqK
ヤバそうな部分は後からでも分かるようにしておく構文なりメソッドなりは普通にあるし(Swiftの!やGoのpanic)
それを大袈裟に捉えて潔癖症が湧くのはいつものこと
2026/05/24(日) 23:31:47.09ID:Q/0ls4UZ
C#が新unsafeでメモリ安全に Rust/Swiftへの言及も
https://mevius.5ch.io/test/read.cgi/tech/1779631921/

Improving C# Memory Safety
https://devblogs.microsoft.com/dotnet/improving-csharp-memory-safety/

Rustは多方面に影響を与え続けているね
2026/05/24(日) 23:36:21.65ID:9NGZcuTT
unwrapもunsafeと同じで開発者がunwrapを使っていい場面だということを保証しないといけない

でもRustコミュニティではそのことが理解されてないし
どういう場面ならunwrapを使っていいいかということも知識として広まっていない

To panic! or Not to panic!のざっくり説明だけ読んで
unrecoverableだからpanicでオケみたいな思考停止が多いから
依存ライブラリのunwrap監査が必要だったりする
769デフォルトの名無しさん
垢版 |
2026/05/25(月) 02:08:10.24ID:9KzU6IdK
https://cedarpolicy.com/en
こいつを上手く使いたい
2026/05/25(月) 02:15:30.40ID:Vs2tUQLD
>>768
アプリは各アプリの方針で自由にpanicしてよい
一方でライブラリがpanicしてよいケースは非常に特殊な場合のみに限定される
一つは利用側が利用方法を間違えていて間違った有り得ないパラメータを渡してきた時
もう一つはRustより昔からある式の互換性により式がOptionやResultを返さないため起きるpanic
これは同等機能でOptionやResultを返すメソッドが並行して提供されている
2026/05/25(月) 06:15:50.42ID:dd3lrdmQ
c#はunion型とかくるし言語とBCLだけ進化しても
他がウンコすぎて使い道が
unIty?asP.net?
2026/05/25(月) 08:10:22.28ID:YvoX4vVs
個々に事情はあるけど panic の主な用法というか考え方は C で言うところの assert に近いかな。
パニックを起こすというよりはこのパスは通らないというプログラマによる保証を宣言する (通るならバグなので修正されるべき) というニュアンス。
多くの panic は unreachable! に置き換えたほうが親切。
773デフォルトの名無しさん
垢版 |
2026/05/25(月) 08:46:19.95ID:UmM03EUN
javaとかc#て仕事とunityでしか使わんやつやん
いらねー
774デフォルトの名無しさん
垢版 |
2026/05/25(月) 11:05:38.78ID:zZ9HibbK
は?javaさんはマイクラでmod作る時に使うんだが?
舐めんじゃねーぞ
775デフォルトの名無しさん
垢版 |
2026/05/25(月) 12:28:08.55ID:qJWcoh4L
>>771
ASP.NET Coreを知らないんだな
これより優れてるWebフレームワーク存在しないんだけど
Rustでweb開発笑、tauri笑
776デフォルトの名無しさん
垢版 |
2026/05/25(月) 12:34:17.25ID:qJWcoh4L
>>773
低レイヤ以外の用途では仕事ですら使われてないのがRustですw
バカがゴミアプリをTauri笑で作ってるぐらいだねw
2026/05/25(月) 12:39:54.56ID:YUh1nhui
ASP.NETなんてマイクロソフトの犬にしか使われていないものを持ち出す時点でお里が知れる
2026/05/25(月) 12:49:45.12ID:wuO/zSat
JITの技術でVBでもVCでもC#でも速度は同じって勉強しました。ふる
今でもそうなんですか。
779デフォルトの名無しさん
垢版 |
2026/05/25(月) 12:56:48.83ID:plr03ySE
>>777
VSCode使っていってそう
マイクロソフトだろうが優れてるものはそう評価するだけw
誰が作るか誰がいうかでしか判断できない無能くんw
残念ながらRustは低レイヤ以外の用度では業務では使われないし、趣味でもCLIしか使われませんw
Tauriwwww WebViewで結局メモリバカ喰いじゃんw
何がしたいんだろうwww
780デフォルトの名無しさん
垢版 |
2026/05/25(月) 12:59:18.33ID:9KzU6IdK
マイクロソフトに依存してるならasp.net coreは優れている
依存してない状況からわざわざ導入するのは辛いのでぴちょんtsジャワgoRustで良い
781デフォルトの名無しさん
垢版 |
2026/05/25(月) 13:02:30.53ID:plr03ySE
マイクロソフトをバカにしつつF#とC#が開発したasync awaitやLINQをパクったRustを崇めるRust信者wwww
いいものはいいと評価しようよw
MSがasync awaitを発明しLINQ的なものを普及させたんだからw
2026/05/25(月) 13:18:03.58ID:FzuZ7dkP
>>781
それ本気で言ってるなら非同期を理解できていない
表層しか見えてないからそんなアホなことを言ってしまう
783デフォルトの名無しさん
垢版 |
2026/05/25(月) 13:37:48.75ID:plr03ySE
>>782
具体的に何が間違ってるか説明できない模様w
C#のasync awaitも非同期かつ並列処理モデルですが?
async awaitモデルはMSが発明し、それをRustなど他言語がパクったのは事実だからなあ、論破できないよねw
784デフォルトの名無しさん
垢版 |
2026/05/25(月) 13:43:36.43ID:6qC/pEJ2
C#なんてわざわざ覚えるもんでもない
ハナクソほじって感覚で動かすだけのお遊び
785デフォルトの名無しさん
垢版 |
2026/05/25(月) 13:47:47.52ID:plr03ySE
Rustの内部実装の話なんて何もしてないのにそれで論破しようとしてくるの草w
async awaitはRustが発明したんですか?w MS様が発明しからRustに持ち込まれたんだけど?
VSCodeを使ってRustのasync/awaitでマウント取りつつMSバカにするお前らの低脳具合を笑ってるだけなんだよwwww
MSに依存してるじゃんww
786デフォルトの名無しさん
垢版 |
2026/05/25(月) 13:49:43.14ID:plr03ySE
>>784
じゃあお前Garnetより速いRedisクローンRustで作ってみれば?うまくいけば買収されて億万長者になれるぞ?
所詮言語とかただの道具なんですがwww
おまえらがRustを勉強しようがそれで優れたアプリを作れるかどうはは別の話だろwww
787デフォルトの名無しさん
垢版 |
2026/05/25(月) 13:49:52.37ID:T7G29aIo
MSにいいとこなんてないだろ?
788デフォルトの名無しさん
垢版 |
2026/05/25(月) 13:54:25.29ID:plr03ySE
>>787
MSにいいところがなかったらお前の存在価値はどうなるんだよwww福おじ惨めすぎて草生えるwww
789デフォルトの名無しさん
垢版 |
2026/05/25(月) 13:55:08.80ID:UmM03EUN
windowsて今や事務とゲームオタクしか使ってないのにそれに特化したc#とかお呼びじゃない
有名ossでjava c#使ったものないやん
プログラマからは嫌われてるんよ
790デフォルトの名無しさん
垢版 |
2026/05/25(月) 14:00:25.86ID:plr03ySE
>>789
それは流石に無知すぎて草
CLIは流石に少ないがデスクトップアプリは大量にあるわボケw
逆にtauri笑で書かれたOSSが存在しないだろwwww
791デフォルトの名無しさん
垢版 |
2026/05/25(月) 14:00:48.51ID:nLUhWDO0
MS周りはテック界ではもう用済みの負債
792デフォルトの名無しさん
垢版 |
2026/05/25(月) 14:04:33.57ID:lkAspDyI
async awaitは単なる表記上の構文にすぎない
例えばJavaScriptはasync await表記の導入前から非同期かつ並列処理モデルで動いている
導入後も何ら変更はなくasync awaitを全く使わなくても以前同様に書ける
そして混在もできる
793デフォルトの名無しさん
垢版 |
2026/05/25(月) 14:12:09.79ID:plr03ySE
>>792
その構文があまりにも画期的だったらから他言語がこぞってパクったんだろwwww
内部実装が違うなんて当たり前だろスレッドモデルがそもそも異なるんだし
復おじ無意味な知識マウントするのやめた方がいいよ、突然関係ない話題出してくるアスペでしかないよw
794デフォルトの名無しさん
垢版 |
2026/05/25(月) 14:13:54.28ID:plr03ySE
javascriptが非同期かつ並列モデルとか思いっきり間違ってて草wwww
ConcurrentとParallelの単語すら覚えられない境界知能がRust学ぶのはアホすぎワロタwwwwww
795デフォルトの名無しさん
垢版 |
2026/05/25(月) 14:20:05.36ID:lkAspDyI
>>793
内部実装?
async await以前の大昔からどの言語でもFutureまたはPromiseなどの名前で同じ抽象化をしている
細かい内部実装の違いは大した問題ではない
async awaitは表記だけの話であってそれ以前から動作して使われてきた
796デフォルトの名無しさん
垢版 |
2026/05/25(月) 14:21:02.15ID:9KzU6IdK
C#はJavaのパクリ🤣
797デフォルトの名無しさん
垢版 |
2026/05/25(月) 14:24:00.59ID:lkAspDyI
>>794
すまんな
元の書き込みをそのまま引用したら
元の人の>>783が間違ってた
もちろん本質は並行処理が正しい
並列化して並行並列処理することもできる
2026/05/25(月) 14:37:29.15ID:2jNddF5q
Rustにガワつけるのにtauri使うとwebview一枚でメモリ80MB程度上乗せになる
この時になんのためにrust使ってんだろうっていう気持ちになるのはマジだけどバカ食いはせんぞ
C#はUnityでライブ映像作るのにお世話になってたんだけど、UEに以降してから使わなくなった
tauriはwin/mac用の周辺ツールでお世話になってる
799デフォルトの名無しさん
垢版 |
2026/05/25(月) 14:47:26.44ID:plr03ySE
>>797
C#はスレッドプール実装だから非同期かつ並列処理だ Rustと同じ
JSは並列処理じゃねーよカス
福おじ頭悪すぎだろweww
2026/05/25(月) 14:54:03.77ID:Pq7CdZgz
だいぶ前からJSでも並列処理できるようになった
801デフォルトの名無しさん
垢版 |
2026/05/25(月) 15:00:17.44ID:plr03ySE
>>800
clusterかworker moduleを使う必要がありasync awaitとは統合されてないよ無能ゴミクズ
JSを非同期並列処理とか言ってる時点で無知が露呈したなwww
2026/05/25(月) 15:23:05.98ID:RuQ5OEfZ
>>781
C#のLINQは関数型言語からのパクリ
mapをLINQではSelectと書く
filterをLINQではWhereと書く
LINQの功績は分かりにくくしたこと

一方でRustは関数型言語からそのまま導入したのでmapやfilterなど同じ
LINQの影響を受けていない
2026/05/25(月) 15:28:52.04ID:YvXBXZD+
LINQのネタ元はSQLだろ
2026/05/25(月) 15:35:39.22ID:pW0Cmz7G
ワロタ

> マイクロソフトをバカにしつつF#とC#が開発したLINQをパクったRustを崇めるRust信者wwww
> いいものはいいと評価しようよw
> MSがLINQ的なものを普及させたんだからw
2026/05/25(月) 15:36:10.45ID:j6wyx7X3
>>802
これまたLINQしらないことが露呈しちゃってる・・・
変なトリガー引かないでよ
806デフォルトの名無しさん
垢版 |
2026/05/25(月) 15:38:05.24ID:9KzU6IdK
CをパクったC++をパクったJAVAをパクったC#🤣
2026/05/25(月) 15:38:56.05ID:WfsY83WD
C#からのお客さんが無知でRust叩きしてるんか
RustがLINQをパクったと思い込んでる勘違いが強烈
808デフォルトの名無しさん
垢版 |
2026/05/25(月) 15:43:40.12ID:7Cv0XfFO
RUST創設者のグレイドンはプログラミング言語大好きの専門家兼考古学者みたいな奴だから
2026/05/25(月) 15:49:15.04ID:lLJzgNOl
>>805
読解力低そうだな。おまえ
810デフォルトの名無しさん
垢版 |
2026/05/25(月) 15:53:33.87ID:plr03ySE
>>804
発明したのはasync awaitでLINQ的なものはあくまでも普及させたって書いてあるだろ文盲か?
HaskellとかLISPは一般的な言語じゃないしそれを一般言語に持ち込み普及させたのがMSの功績なのは事実
2026/05/25(月) 15:57:07.24ID:/6nX/aNI
関数型言語の歴史は古く多様に広く普及している
C#はマイクロソフトでしか使われていない
812デフォルトの名無しさん
垢版 |
2026/05/25(月) 15:57:35.32ID:plr03ySE
C#もパクリ言語ってことは別に否定してないよ、俺はJavaも関数型言語もリスペクトしてるし
MSをバカにしながらVSCodeを使ってasyncawaitで他言語にマウントしにいくRust信者の自己矛盾を突いてるだけだよ
813デフォルトの名無しさん
垢版 |
2026/05/25(月) 16:03:51.71ID:QjIL+Jhn
その「asyncawaitで他言語にマウントしにいくRust信者」って何の話だろ
長年2ch/5chしてきて見かけたことない
他のSNSでも見かけたことない
2026/05/25(月) 16:04:54.19ID:lLJzgNOl
矛盾?
お前が勝手に発狂してるだけじゃん
俺はリスペクトなんてないけど嫌いだけど使うし
リスペクトしなきゃ使っちゃいけないのかよww
815デフォルトの名無しさん
垢版 |
2026/05/25(月) 16:13:30.74ID:D4XF3i5k
普通にzed使ってるんだがなんでvscode使ってることになってんだ
JAVAは仕事で仕方ないにしても、C#使う理由がマジでないからな
今時純粋なOOPとかめんどくさいじゃん
816デフォルトの名無しさん
垢版 |
2026/05/25(月) 16:14:11.56ID:plr03ySE
>>813
暴れまくってる福おじがすっとぼけてて草
817デフォルトの名無しさん
垢版 |
2026/05/25(月) 16:17:28.47ID:plr03ySE
>>815
GUIやゲーム開発では今でも主流だけど?
サーバサイドやCLIといったごく一部の用途で相性が悪いってのみでOOPを全否定するのは流石に頭悪いよ👍
2026/05/25(月) 16:30:03.34ID:qipFLsbG
C#なんか使うのはWindows利用者の一部で少数派だね
わざわざC#でスマホアプリやWebアプリなどを作る人は極少数派マニア
メリットがないんだよ
819デフォルトの名無しさん
垢版 |
2026/05/25(月) 16:33:23.64ID:+XOdJzL+
C#厨は後のことを考えてないド素人だと思う
2026/05/25(月) 16:33:30.49ID:lLJzgNOl
おっさんおい。リスペクトってなんだよw
言語やツールに対してリスペクトとか気持ち悪い事いってんかよ
アプリ作るために嫌いなやつやいろんな言語や道具使うし
そんなのザラだわ

僕Javaや関数型言語リスペクトしてますだってキモいw
2026/05/25(月) 16:34:05.10ID:bOwnVehc
Rustのように速くて省メモリといった実メリットがあると広い領域で必要に応じて使われることが増えていってるな
822デフォルトの名無しさん
垢版 |
2026/05/25(月) 16:59:21.41ID:9KzU6IdK
AWS GCP AZUREのサポートが完全になればもう他の言語消してもいいんだがね
823デフォルトの名無しさん
垢版 |
2026/05/25(月) 17:37:03.21ID:plr03ySE
>>820
何で作ってるかでしか判断できないやつが多いからねRust狂信者は
Rustで言語マウント取るならtauriで数千スターのプロジェクトなんか作ってみろよw、凄腕エンジニアなんだろw
俺はC#で作ってるし
824デフォルトの名無しさん
垢版 |
2026/05/25(月) 17:42:35.03ID:Uf5e6BwH
RustでLinuxカーネル作ってるわ
それで?
2026/05/25(月) 17:59:13.90ID:lLJzgNOl
5ch潰れろよと思ってるが5ch毎日見てるし
MS嫌いだけど長年Windowsユーザーだしwww
自己矛盾?だからなんだよww

こいつ一人で発狂してるだけだろ
道具にリスペクトってどんな表現、感情なんだよ
マジ気持ち悪すぎるww
2026/05/25(月) 18:05:17.16ID:QCmg/JY+
>>823
C#erは巣に帰りなさい
ここはRustのスレです
荒らしてはいけません
827デフォルトの名無しさん
垢版 |
2026/05/25(月) 18:20:21.26ID:SwsM4SvK
だよなぁ。 RustのスレでC#荒らしというのが精神性を疑う。
言語オタクはこれだから困る。
C#はGUI設計で一歩進んでいるだけ。
中身はDelphiから一歩も抜け出ていない。
828デフォルトの名無しさん
垢版 |
2026/05/25(月) 18:31:44.43ID:plr03ySE
>>827
.NETの進化の情報に追いつけてないだけの情弱だろお前は
いまだにクロスプラットフォームに対応できてないと思い込んでる低脳

具体的にどこが問題があるのか聞かれたら何も説明できない模様w
829デフォルトの名無しさん
垢版 |
2026/05/25(月) 18:34:34.99ID:plr03ySE
>>824
数コミットしただけでGithubのプロフィールにpinnしてる痛いやつじゃんwwww
俺はオーナーリポジトリで数千スター持ちだし
830デフォルトの名無しさん
垢版 |
2026/05/25(月) 18:39:52.71ID:UmM03EUN
windowsにrust導入してsteamosを目標に改善するゆうててms自体がc#をオワコン扱いしてるしのう
winは遅いからaiサーバに使ってるとこなんてどこもないしmacみたいにunixでもないのでwin自体もオワコン
831デフォルトの名無しさん
垢版 |
2026/05/25(月) 18:41:07.21ID:plr03ySE
まあいいや、別に数千スターも誇れるようなことでもないけどRustアホ信者は何で作るかじゃなくてその道具を使って何の価値のあるものを生み出したかで他人と比較しようね
大した実績もないのに言語マウント滑稽だよ、Xでもここでも大量にいるけどRust信者ほどその傾向が強い
言語なんただの道具なんだよね
2026/05/25(月) 18:41:42.96ID:KpDN39qv
まーた醜い言い争いをしてるなぁw
2026/05/25(月) 18:42:12.81ID:lLJzgNOl
道具にリスペクトとか気持ち悪い表現使ってるぐらいだから自分の好きな言語がけなされたのがどうしても許せなくて単純にこいつの逆鱗に触れたんだろうww
834デフォルトの名無しさん
垢版 |
2026/05/25(月) 18:42:36.01ID:HF9tCEX6
レス遅すぎ
お前の負けやなC#厨
笑笑
835デフォルトの名無しさん
垢版 |
2026/05/25(月) 18:42:53.14ID:plr03ySE
>>830
mac笑、unix笑
サーバで動いてるのは9割Linuxだよ?WSL2って知ってる?
836デフォルトの名無しさん
垢版 |
2026/05/25(月) 18:44:05.74ID:V68B7vai
C#で食っていけなくなったからって発狂するな
837デフォルトの名無しさん
垢版 |
2026/05/25(月) 18:45:12.05ID:48uaVnmo
>>835
お前の代わりなんて腐るほどいるw
2026/05/25(月) 19:00:55.36ID:ss/Uz5Se
ここはRust本スレだから何連投もRust叩きを続けるのはマナー違反
どうしてもRust叩きをしたいなら本スレ以外でしろ
こちらを推奨

Rustアンチスレ
https://mevius.5ch.io/test/read.cgi/tech/1509028624/
839デフォルトの名無しさん
垢版 |
2026/05/25(月) 19:04:15.30ID:plr03ySE
>>838
ワッチョイつければ解決するだろ低脳、福おじが機内モードぽちぽちするんだから簡単にNGできる
840💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/25(月) 19:13:40.12ID:6un9hARG
VecというRustにしかない極めて先進的なもの、それは可変長配列としてダブルリンクリストより速いわけだけど、それが頭に入っている人は「いっそRustで書く選択肢」が当然視野に入ってる。で、何を書くかとなった時に「いっそサーバサイド」になるのも理由の揃ってること。
2026/05/25(月) 19:14:14.63ID:ss/Uz5Se
Rust本スレを荒らすな
おまえのIDをNGしてもNGした人の表示から消えるだけだ
Rust本スレから荒らし書き込みが消えるわけではない
こちらへ移動しろ

Rustアンチスレ
https://mevius.5ch.io/test/read.cgi/tech/1509028624/
842デフォルトの名無しさん
垢版 |
2026/05/25(月) 19:19:08.99ID:plr03ySE
>>841
いちいち反応する福おじが存在するから荒れるんでしょ、こいつがコテハンつければ済む話
しかもこいつは他のスレにも喧嘩売りにいってるからな
なんでそいつの相手してるだけで荒らし扱いされるの?
843デフォルトの名無しさん
垢版 |
2026/05/25(月) 19:27:21.64ID:9KzU6IdK
なぜこの板は赤いのが多いんだ
プログラマー板はそうでもないのに
844デフォルトの名無しさん
垢版 |
2026/05/25(月) 19:30:42.55ID:SwsM4SvK
>>843
Rust憎し厨じゃね? 別名バカと言う。
2026/05/25(月) 19:32:02.45ID:5hiV3BI4
マ板もID出たら相当赤いと思うよ
競プロスレなんかだと、1人で22レスやってるplr03ySEもびっくりの100レス超とか普通に出てくると思う
2026/05/25(月) 19:39:43.27ID:fiuEVNJl
Rustの本スレでRust嫌いなC#の人が暴れて赤いのはヤバい
847デフォルトの名無しさん
垢版 |
2026/05/25(月) 21:17:58.84ID:plr03ySE
>>844
🙅‍🙅‍♀Rust憎し
🙆‍🙆‍♀Rust厨憎し

低レイヤ(カーネル、ドライバ、ミドルウェア、CLI)用途で使ってる人は尊敬してるよ
tauriやらバックエンド用途でイキってるRustファンボーイをバカにしてるだけだよ
手段と目的を履き違えてる連中
2026/05/25(月) 21:27:34.99ID:yUytJS9i
問題はRustを誰も使ってないことなんだよなあ
2026/05/25(月) 21:27:58.89ID:l5tZW+sm
低レベルだけではなく最上位のアプリケーション層のCDNやクラウドなどもRust製
850デフォルトの名無しさん
垢版 |
2026/05/25(月) 21:33:41.61ID:UmM03EUN
秒間数万リクエストがあるサービスだとjava goですら遅くてメモリ食うからrustしか選択肢がなくなりゅ✌😤
851💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/25(月) 21:36:47.41ID:6un9hARG
サーバーサイドってのは従量課金だから速く小さく書けばじづ
852💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/25(月) 21:39:03.70ID:6un9hARG
サーバーサイドってのは従量課金だから速く小さく書けば実際的に安くなる。誰もやってないと感じるのは全員サーバーサイドをやってるからかも。
853デフォルトの名無しさん
垢版 |
2026/05/25(月) 21:43:15.62ID:HlTz6RwA
何をするにしてもRustが有利なのね
2026/05/25(月) 21:44:51.83ID:YvoX4vVs
Java や C# も実行環境の性能がかなり上がってて決して劣ってないのは本当なんだよ。
ただ、クラウドを前提とすると使ったリソースが金額として明瞭に突きつけられてしまう、金勘定に熱心な経営層からも見えるから「もっと」という圧力が生じてしまう。
もちろん小規模なサービスをチューニングする手間をかけるならクラウド業者に余計に払ったほうがマシなこともあるけどそういう上位層での Rust の需要があるのも本当だ。
855デフォルトの名無しさん
垢版 |
2026/05/25(月) 22:12:47.81ID:plr03ySE
その経営者ってのは脳内の話では?
AWS並みの資本力があるならともかく人件費>>>運用コストなのをなぜ無視する?
2026/05/25(月) 22:13:25.00ID:lOQxlzKO
超大規模じゃなければインフラ費用が安くなる以上に開発費が増えるから赤字だけどね
857デフォルトの名無しさん
垢版 |
2026/05/25(月) 22:16:06.60ID:plr03ySE
CloudflareとかのCDNは俺がいうバックエンドじゃないよ、それはミドルウェア、インフラ側だ
一般IT土方が作るようなゴミアプリのこと指してる
お前らはAWSでもCloudflareのエンジニアでもないんだからJavaがお似合いでしょ
なんで趣味でも業務でもまともに使ってないくせにイキっちゃうの?
2026/05/25(月) 22:25:10.82ID:AgNd0BGd
まともなプログラマーならばRustも普通に書ける
そして他の言語で書こうがRustで書こうが大して労力は変わらない
むしろ開発効率や保守効率などRustで
書いたほうが優れていることもある

経営者だけでなく
プログラマーも
速くて省メモリなRustを選ぶよね
2026/05/25(月) 22:46:14.01ID:5hiV3BI4
なんか、業務システムのこととか何も知らなそうだな・・・
2026/05/25(月) 22:50:54.10ID:5hiV3BI4
ID:plr03ySEはAIの使い方も知らなくて書けないのかもしれないが
良くも悪くもAIがあればRustであっても誰でも書けるんだから
当然、今後はRustの利用であっても人件費なんて気にしないでいいんだよ
2026/05/25(月) 22:53:08.82ID:KqrHZmMo
> なんで趣味でも業務でもまともに使ってないくせにイキっちゃうの?

まともに開発してるやつは言語の優劣なんぞに拘らないし
どんな言語でも付き合っていかないといけないの知ってるし
良いとこ悪いとこある言語をなんとか使ってくのがあたりまえだし
道具は使い分けるのがあたりまえだし
与えられた道具でなんとかするのもあたりまえだし

そうじゃないキッズは
言語の良し悪しを自己のアイデンティティに重ねて
ヒマにまかせて聖戦をふっかけてくるのである

ここにも複クンっていうキッズが長年張り付いておる
2026/05/25(月) 22:59:29.47ID:dpUpP8u3
Rustを採用でのデメリットは書ける人がまだ多くないこと
しかしプログラマー削減のなかでRustを使えない人は消えていくから問題なくなりそう
863デフォルトの名無しさん
垢版 |
2026/05/26(火) 00:35:38.22ID:TLMa/wW3
paypayさん、rustで大幅にインフラコストを削減してしまう…

Java Rust 差異
CPU 1.5 CPUs 0.15 CPUs 10倍の削減
メモリ 6GB 75MB 80倍の削減
https://blog.paypay.ne.jp/scaling-paypay-with-rust/
2026/05/26(火) 00:43:34.42ID:HlnzDK2k
すごい
ライバル社や競合商品がRustを採用したらこちらも採用しないと速さや料金など様々な点で差をつけられてしまうわけね
2026/05/26(火) 00:54:26.34ID:n0abRXpJ
>>863
その差はJavaの実装に問題があったとしか考えられないな
他のベンチマークとは結果が違いすぎている
866デフォルトの名無しさん
垢版 |
2026/05/26(火) 01:02:06.20ID:l3vwLJ+K
Rustで書き直すとスッキリしてその分も速くなることが多い
867デフォルトの名無しさん
垢版 |
2026/05/26(火) 01:40:55.10ID:umotvAcs
>>863
大抵パフォーマンス以外に文法的な理由があるのよね
だから問題点は開発者・エコシステムの少なさとビルドが遅い問題に収束する
前者はID真っ赤にしてる奴がいるうちは改善しなさそうだね
868デフォルトの名無しさん
垢版 |
2026/05/26(火) 05:32:41.52ID:iaN1WFiw
Rustは後発言語のメリットがあるという事では?
変数代入がバグの大元という概念も1999年G4以降で、クリーンアーキテクチャーなんかもっと後。
RustがALGOL系の最終形態になるかどうかだな。
869デフォルトの名無しさん
垢版 |
2026/05/26(火) 06:46:57.43ID:3XArWPpT
一番重要なこの件もRustは問題児のクラスがないから
・高水準⇔低水準の機能ごとにトレイトを定義して
・低水準は機能ごとにそのトレイトを実装して
・高水準は機能ごとにそのトレイト(のメソッド等)を使う形だけになって
そのまま原則を満たしてるのよね

>依存性逆転の原則
>①高水準モジュールは低水準モジュールに依存してはならない (その逆も同様)
>②両者とも抽象(トレイトやインターフェースや抽象クラスなど)に依存すべきである
>③抽象は詳細に依存してはならず、詳細が抽象に依存すべきである
2026/05/26(火) 07:34:08.05ID:/A7lSpNY
>>869
両者が1つずつしか登場しない1対1の時であっても必ず境界にトレイトを置いて抽象化する
そうすると互いに相手をモックなどダミーに置き換えることで独立にテストとそのデバッグができる
2026/05/26(火) 08:53:23.63ID:P68uP3+H
それどの言語でもできる超基本だろ
そんなことも知らずにクラスが問題児だと勘違いしてる複オジが一番の問題児
2026/05/26(火) 09:03:30.97ID:zT2ltFzk
クラスは駄目だろ
クラス継承は抽象継承ではなく実装継承だから密結合になる
2026/05/26(火) 10:42:12.62ID:ryUJGL0m
分離すべきものが密結合するのは良くはないよ。
だけどそれを恐れて何もかも疎結合にすべきってのも極論すぎるだろ。
実態として密に関連するものは密結合でも良い。
設計の失敗をクラスのせいにするなよ。
874デフォルトの名無しさん
垢版 |
2026/05/26(火) 10:47:36.11ID:umotvAcs
単純な関数もクラスに入れないといけない
意味ワカンネ
2026/05/26(火) 11:00:24.83ID:zT2ltFzk
>>873
密結合にせずに疎結合にしろ!も依存性逆転原則などが述べてることだろ
そこで密結合になるクラス継承を用いてはいけない
876デフォルトの名無しさん
垢版 |
2026/05/26(火) 11:44:16.34ID:VvKxthLS
やっぱりダックタイピング・構造的型付けが最高だね。
877💾キモバカじじい ◆Rn9d66GbJRuf
垢版 |
2026/05/26(火) 11:55:29.25ID:yQTfv96x
頑張れば森羅万象をツリー化できるというのが最初の間違い。任意の複数のインターフェースを自由に実装するつもりでいればいいという思想すらゆっくりとしか広まらなかった。
2026/05/26(火) 11:55:39.34ID:yjcmHtIn
>>863
これガバガバアロケーションをバッファプール再利用に作り直しただけだろ
Rustで作れば自動的にそうなるわけでもないから言語比較としては無意味
2026/05/26(火) 12:30:52.64ID:sopQTZWG
>>878
JavaからRustへ変更したことが大きく寄与している
そのブログを読めば様々な問題がRustへ変更することで解決する話が書かれている

一般的にもこの類いのものを改善のために作り直すならどの言語を採用すべきか?
GC言語では限界がある
今さらC/C++も有り得ない
ほとんどの人がRustを選ぶだろう
2026/05/26(火) 12:54:39.27ID:JMhPFHuk
Javaは構造体の配列が苦手だから仕方ない
881デフォルトの名無しさん
垢版 |
2026/05/26(火) 13:01:41.03ID:WjxsAESg
言語変える時にアーキテクチャレベルでボトルネック潰してませんかって話
変数が揃ってないものを比較するのは頭悪い
まあPaypayのエンジニアとかレベル低いだろうしプロファイルとか基本的なチューニングもやってない気がするね
882デフォルトの名無しさん
垢版 |
2026/05/26(火) 13:28:10.01ID:+lclYKg9
https://i.imgur.com/aIM0ABT.jpeg
2026/05/26(火) 14:27:03.32ID:a2BaiytE
>>872
密結合になったら困るところで実装継承を使ってはいけない
という90年代から広まっている一般常識を知らずに
クラスが問題児だと勘違いしてる複オジが一番の問題児
2026/05/26(火) 14:45:27.60ID:SeC9CH16
密結合になってはいけないのは当然として、クラス継承は実装継承であるために、多重継承問題など様々な問題を引き起こしてきた。
そのためクラス継承自体が設計ミスであると、プログラミング言語開発者たちは考えている。
2026/05/26(火) 14:46:48.79ID:SeC9CH16
Javaの生みの親のジェームズ・ゴスリンも同様で、実装継承になっているクラス継承は失敗作であり、もしJavaを再設計できるならクラス継承を排除すると明言している。
2026/05/26(火) 14:47:07.69ID:+D8WFYIQ
>>874
そういう制限が残ってるのはメジャー言語ではもうJavaだけ
887デフォルトの名無しさん
垢版 |
2026/05/26(火) 14:50:01.34ID:umotvAcs
>>886
ほう
C#は?
2026/05/26(火) 14:50:10.85ID:SeC9CH16
カプセル化やメソッドなど有意義な機能は、クラスでなくても備えている。
クラスとそれ以外を比較すると、クラスを特徴付けているものはクラス継承。
つまりクラス継承を排除するということは、クラスを排除することに他ならない。
2026/05/26(火) 14:50:45.23ID:GOsB1KzA
>>882
今Rust啓蒙に必要なのは、最後の女の子を現場猫に置き換える余裕さだ
2026/05/26(火) 14:52:18.84ID:SeC9CH16
現実にモダンなプログラミング言語は、クラスを既に利用していた言語の後継言語を除いて、全ての言語でクラス自体が言語仕様から排除されている。
我々の身近な言語においても、RustやGoそしてZigやNimなど全ての言語でクラスは排除されている。
クラスは害悪であり不要だからである。
891デフォルトの名無しさん
垢版 |
2026/05/26(火) 15:20:28.72ID:wjL24h4y
>>890
どれもGUIやゲーム開発では使われてない言語だねw
特定の用途とクラスの相性が悪いってのが正解ね
GoFパターンもフォトショとかのGUIアプリ作るの想定したものだし、それをサーバーサイドに持ち込むのがおかしいという話だね
892デフォルトの名無しさん
垢版 |
2026/05/26(火) 15:23:31.33ID:wjL24h4y
>>874
staticメソッド=関数で
他の言語のパッケージ的な概念がクラスになってるだけ
例えばC#ではstatic classを定義できるが、これは実質関数を定義しているようなもの
他の言語との違いは特にない、ただ定義場所が違うだけで概念は変わらん

お前みたいなアホがTypeScriptでクラスを使うな全てクロージャにしろなどという戯言を言い出す
893デフォルトの名無しさん
垢版 |
2026/05/26(火) 15:26:29.26ID:9Bez90JH
ゲーム開発(笑)
894デフォルトの名無しさん
垢版 |
2026/05/26(火) 15:27:14.24ID:9Bez90JH
そんな土方でしかない低賃金労働できるかよ
895デフォルトの名無しさん
垢版 |
2026/05/26(火) 15:58:09.16ID:umotvAcs
>>892
それをわざわざ馬鹿みたいなコードいっぱい書いてお疲れさまです
896デフォルトの名無しさん
垢版 |
2026/05/26(火) 16:49:40.85ID:wjL24h4y
>>895
反論できずに無意味なレスお疲れ様w
お前の存在価値よりOOPで書かれてるあらゆるソフトウェアの方が上だよw
俺はC#で数千スターのOSS作ってるし少なくともお前より優れてるのは確かだろうね
897デフォルトの名無しさん
垢版 |
2026/05/26(火) 16:53:10.12ID:wjL24h4y
>>894
お前の作るゴミみたいなソフトウェアよりよっぽど価値があるぞ
金でしか考えられない惨めな人間晒して恥ずかしくないのか
そもそも低賃金なのは日本特有の話だしバカなのかな
世界一稼いだマインクラフトもOOPのJavaで作られてるよw 果たしてRustやGoが向いているのかな?
898デフォルトの名無しさん
垢版 |
2026/05/26(火) 16:56:15.19ID:wjL24h4y
お前の理論だとヒカルみたいな人物が尊敬されるべき人間で
低賃金で働いてるアニメーターは蔑まれる存在らしいね
バックエンドエンジニア笑は拝金主義者しかいないからダメなんだよな
899デフォルトの名無しさん
垢版 |
2026/05/26(火) 17:07:19.58ID:8kasKKxM
低賃金で働いて消えていく声だけ大きいアニメーターは実際動画やってすぐいなくなるからな
まともに作画か撮影できるやつらは普通に給与たけーんだわ
開発しかしてねーやつが知ったかでテキトーこくなやキメぇ
900デフォルトの名無しさん
垢版 |
2026/05/26(火) 17:18:04.45ID:zAabw0lk
また低賃金C#ゲーム開発者が発狂してんのか😅
901デフォルトの名無しさん
垢版 |
2026/05/26(火) 17:23:42.09ID:umotvAcs
手段に固執したら終わりだな
Rust狂信者は少なくとも未来があるがJavaC#狂信者は過去の栄光しかない
2026/05/26(火) 19:27:14.07ID:52ZB7BEG
10年くらい前C#触ってたな

C#と言えば値型
Javaからすると値型が羨ましくもあり
それがないJavaの割り切りが好ましくもあり

あとマルチキャストデリゲートやな
ちょっとほかの言語にはない機能かも
別にいらんけど
2026/05/26(火) 19:56:13.95ID:niqu/ztd
>>902
Rustスレで値型が羨ましい はないだろw
マルチキャストデリゲートくらいなら自作しる
AddAssignトレイトで引数を必要なFn*トレイト境界で受けとりVecへ収納していきそれを呼び出すくらいか
904デフォルトの名無しさん
垢版 |
2026/05/26(火) 20:17:01.82ID:wjL24h4y
>>899
開発しかしたことがないのはお前もだろ
Rustとかいう手段のみでしかマウント取ることしか脳がない低脳
俺はC#でマウントは取ってないからね別に
905デフォルトの名無しさん
垢版 |
2026/05/26(火) 20:22:43.07ID:X46AWou+
C#(笑)ではマウント取れないじゃん
906デフォルトの名無しさん
垢版 |
2026/05/26(火) 20:23:52.05ID:wjL24h4y
Java、C#、ゲーム開発者を低賃金開発者だのバカにしてるけど
そもそも求人すらまともに存在しないのがRustなんだよなあ
使われてる言語と全く使われない言語、前者が叩かれて後者が何もないだけ。ビャーネ氏がいつも言ってることだね
低レイヤは金儲けにならんしビジネスに繋がらん
趣味で車輪の再発明するぐらいか
907デフォルトの名無しさん
垢版 |
2026/05/26(火) 20:25:42.91ID:wjL24h4y
>>905
だから数千スターの世界的OSS作ってるって言ってるじゃん、これが言語自慢なの?
C#なのはそれが最適だっただけだ、道具でしか自慢できないお前らとは違う
悔しかったらGarnetより速いRedisクローンをRustで作れば?無能だから無理だと思うけど
908デフォルトの名無しさん
垢版 |
2026/05/26(火) 20:27:53.64ID:wjL24h4y
世界一稼いだプログラマがJavaでマインクラフト作った開発者なんだけどRustはその人にマウント取りに行くらしいw
重要なのは道具じゃなくてどういう価値を生み出したからだから
Rust狂信者は道具だけでマウント取り行く傾向あるのは間違いない
2026/05/26(火) 20:31:33.19ID:52ZB7BEG
このスレでRust応援団が
「Rust来てるよね!」って一生言い続けてるだけの言語よな今んとこw
JavaやC#と並べて語るほどの規模にないな
2026/05/26(火) 20:42:03.22ID:ciBWQiCf
ここはRustの本スレです
他言語の人がRustを叩く場所ではありません
ここでは二度としないでください
以下のアンチスレへどうぞ

Rustアンチスレ
https://mevius.5ch.io/test/read.cgi/tech/1509028624/
911デフォルトの名無しさん
垢版 |
2026/05/26(火) 20:43:40.96ID:oiT2n/JK
CやJavaの負の遺産がデカ過ぎるからな
負けたわw
2026/05/26(火) 20:49:14.64ID:52ZB7BEG
Cには足向けて寝れないと思うけどw
Cパイセンだけはリスペクトやわ
913デフォルトの名無しさん
垢版 |
2026/05/26(火) 20:51:32.62ID:4MwgUqh3
またリスペクト厨か
あからさまな二毛作だな

C#では食っていけないからって発狂するなよ😂
914デフォルトの名無しさん
垢版 |
2026/05/26(火) 20:54:17.84ID:YrME3li+
レス番飛んでるなー
共通NG登録ありがと
915デフォルトの名無しさん
垢版 |
2026/05/26(火) 20:56:44.77ID:8jZpYFZx
WASMで使ってみた
バイナリガンガンいじれて楽しいな
916デフォルトの名無しさん
垢版 |
2026/05/26(火) 20:59:54.18ID:wjL24h4y
>>911
その負の遺産ってのを論理的に説明できない模様
OOPガー継承ガー
↑いや、それGUIアプリやゲームで多様されてるが???iOSもAndroidアプリ開発もOOPが多様されるが?
一部の領域でマッチしないだけでは?
917デフォルトの名無しさん
垢版 |
2026/05/26(火) 21:05:47.72ID:wjL24h4y
クラス使わないで関数定義できない意味がわからん
↑staticメソッドとその関数とやらの違いが説明できない模様w
Rustはmoduleにfunctionを定義してmodule::fn()で呼び出し
Java, C#ではclassにstatic methodを定義してclass.method()で呼び出し

一体これの何が違うんだ???
918デフォルトの名無しさん
垢版 |
2026/05/26(火) 21:09:50.30ID:umotvAcs
同じなら簡潔にかける方が良くね?なんかおかしい?
919デフォルトの名無しさん
垢版 |
2026/05/26(火) 21:16:12.05ID:wjL24h4y
>>918
どうでもいいことでOOP批判してるのがRustファンボーイにありがちなこと
むしろC#とJavaではトップレベルに関数を置けないことで書き方に差が出ないからメリットになっている、AIとの相性も良い
PythonとTypeScriptのように特に言語思想を持たずに雑多に機能を追加しているクソ言語はトップレベル関数とstaticメソッドを両方サポートしているのがこれは本当に良くない、ほぼ同じなのに書き方に大きな差が生まれてしまう
RustやGoは片方しか入れてないのでこの問題がない
これがアホがOOPが批判する原因の一つでもある
自称スーパーエンジニアのmizchi氏などはTSでクラスを使うな全てクロージャで代替しろと本質からズレている情報を言いふらしてOOP批判してる、こういうのは本当にナンセンスでしかない
TSとPythonが思想を持たずに雑多に機能を追加してカオスになってる言語の問題でしかない
920デフォルトの名無しさん
垢版 |
2026/05/26(火) 21:21:00.63ID:umotvAcs
>>919
そんなけ長文書いて質問に答えないの凄いな
921デフォルトの名無しさん
垢版 |
2026/05/26(火) 21:26:01.67ID:wjL24h4y
>>920
だから別にstaticメソッドと比べて何も簡潔になってないのでどうでもいい違いって説明してるじゃん
呼び出し方もmodule::fn()やpackage.fn()でclass.method()と何も変わってない
まとめる名前が異なるだけ
なんならstatic importでmethod()でも呼び出せる

JavaとC#はクラスに対してリフレクションを多用するからとりあえずクラスに属させると都合が良いというのもある
922デフォルトの名無しさん
垢版 |
2026/05/26(火) 21:32:17.30ID:wjL24h4y
OOPや継承を批判するならそれを一切使用しないGUIフレームワークが主流になってから言えよw
JSが源流のWebフロントエンドぐらいじゃん
Tauri笑も結局HTMLだからその内部実装でOOP多用してるじゃん
2026/05/26(火) 21:32:58.36ID:52ZB7BEG
Javaが匿名クラスで長らくやりくりしてきたところに
C#はデリゲートなる関数に着目したもんをぶっこんできてなんかバランス悪く感じたなあ
(オブジェクトの世界にメソッド?が浮かんでるように見えて)
今だとJavaもすっかりラムダ式なんてもんを導入しちゃったけど
2026/05/26(火) 21:40:06.44ID:7I+coym0
>>917
横からだけどRustを使ったことないのかな
よくあるこういう話でしょ

pub fn foo() { ...; common(); ... }
pub fn bar() { ...; common(); ... }
fn common() { ... }
925デフォルトの名無しさん
垢版 |
2026/05/26(火) 21:45:13.31ID:wjL24h4y
>>924
C#、JavaだとクラスがRustのmoduleに相当してるだけ

static class SomeModule
{
public static Foo() => Common()
private static Common()
}

別に何も変わらないね。外部呼び出しも全く同じ。TSやPythonのような両方使える言語がむしろ混乱を招くという話。
2026/05/26(火) 21:46:32.49ID:YcsrgOO6
>>919
>>クソ言語はトップレベル関数とstaticメソッドを両方サポートしているのがこれは本当に良くない、ほぼ同じなのに書き方に大きな差が生まれてしまう
>>RustやGoは片方しか入れてないのでこの問題がない

Rustが片方???
どちらが出来ないと思い込んでるのかな
2026/05/26(火) 21:49:19.44ID:YcsrgOO6
>>925
嘘をつくのはよくないな
C#はnamespaceがある
classに対応するのはRustだとstructなど
928デフォルトの名無しさん
垢版 |
2026/05/26(火) 21:55:03.87ID:wjL24h4y
呼び出し側からは同じなので実質同じようなもの、Rustのmoduleの意味合いの一部がclassに入っているってだけ
関数をトップレベルに置けないというOOP批判は本質が見えてないアピールをしているようなもの
本当にどうでもいいイチャモンでしかない
929デフォルトの名無しさん
垢版 |
2026/05/26(火) 22:20:58.13ID:/g06o1cj
C#の人がRustを書いたことがないんだと思うよ
それぞれの違いを分かっていない

struct A;
impl A {
fn selfを受けない関連関数() {}
fn selfを受けるメソッド(&self) {
Self::selfを受けない関連関数();
特定の型に属しない共通関数();
}
}

fn 特定の型に属しない共通関数() {}

fn main() {
let a = A;
a.selfを受けるメソッド();
A::selfを受けない関連関数();
特定の型に属しない共通関数();
}
930デフォルトの名無しさん
垢版 |
2026/05/26(火) 22:51:54.20ID:umotvAcs
>>925
void忘れてるけど大丈夫か?
そんな長い単語の羅列書いてるから忘れるんだよ
931デフォルトの名無しさん
垢版 |
2026/05/26(火) 23:06:01.11ID:wjL24h4y
>>930
あえて簡潔に書いてるだけですが w、疑似コードってご存知?
内容で反論できないならレスしてこなくていいよ
トップレベルで関数が定義できないというのは純粋なOOP言語としては逆にメリットなんだよ
Rustは違う道を選んでるからそれを持ち出して比較するのはちゃんちゃらおかしい
932デフォルトの名無しさん
垢版 |
2026/05/26(火) 23:10:23.36ID:/g06o1cj
ここRustスレに居座ってRust叩きを繰り返しているC#の人が悪い
933デフォルトの名無しさん
垢版 |
2026/05/26(火) 23:14:21.69ID:wjL24h4y
元はと言えば的外れな意見でお前らがJavaやC#をバカにしてたから反論したに過ぎない
喧嘩を売ったのはお前らが先だよ
OOP批判やトップレベル関数がないだのお前らがいつもほざいてることはただの屁理屈であるってのを証明してあげただけ
Rustを持ち上げてOOP批判するならライブラリや内部実装でOOPや継承を一切使わないGUIやゲーム開発が主流になってから言えよ、本質が見ずに知ったかしてだけの低脳ども
継承が一部の領域に適してないってだけだ、ただの差分プログラミングの手段でしかないし一部の用途で確実に有用なんだよ
2026/05/26(火) 23:28:28.73ID:sopQTZWG
Rustは最近の他の言語と同様に
害悪な実装継承を抱えるclassを採用しなかっただけ
Rustはオブジェクト指向プログラミング(OOP)の言語
OOPを批判しているRustプログラマーはいない
2026/05/26(火) 23:55:34.73ID:tr3I29+c
C#業務で使ってるけど普通に良い言語だし参考コードも困った時のリソースも多い
ただnullの扱いが面倒なのとnamespace下に関数置けないのはガチでイライラするわ
936デフォルトの名無しさん
垢版 |
2026/05/27(水) 00:02:28.55ID:cR+KtZVo
>>935
static classで何が不満があるのかわからんわ
例えばJSで
import { someFn } from ../hoge
だとsomeFnがまるでローカル関数のようにそのまま呼べるのが可読性悪いし
import * as hoge from ../だといちいち名前つけるのが面倒
JavaやC#の直接クラス.メソッドで補完入力しつつそのままアクセスできるシンプルさは俺は好きだな

nullableは後方互換を維持しつつ導入された経緯があるからそもそも最初からそれ前提で設計されたRustなどと比較するのはおかしい
2026/05/27(水) 00:10:10.17ID:Y7QdNHPb
>>936
言ってることが矛盾してるぞ
補完できるということは同名の別クラスと区別ができているということ
それならばその名前空間にある関数や輸入した関数も把握できているのだから
クラス名なんか伴わずに関数単独でも補完できるということ
比較するとC#側に優れている点は何もなくC#側には出来ないことがあるからC#が不便
2026/05/27(水) 00:22:16.32ID:s6mxktCJ
>>936
namespace完全修飾で関数呼ぶかuse asでエイリアスにすれば可読性担保できるよ

pub mod util {
pub mod math {
pub fn func1(){}
}
}

fn main() {
util::math::func1();

use util::math as math_util;
math_util::func1();
}

null safetyの件は歴史ある言語だと今から言語仕様変えるわけにはいけないけど、rustに触れた後だと気になってしまうんだよなあ
939デフォルトの名無しさん
垢版 |
2026/05/27(水) 07:58:39.61ID:cR+KtZVo
>>937
できないことがあるのが不便かつ劣等であるお前の理論によるとRustは継承がないから不便だな、拡張メソッドもソースジェネレータもないからゴミだね
機能の多さを誇るのであればScalaでも使ってれば?w
トップレベル関数とか有用な機能のうちに入らねえよ、ただの好みでしかない
そんなどうでもいいことをネタにしてOOPを批判するのは自分の思考能力や認知能力の低さをアピールしているようなもの
もっと深い理由で批判してみろよ低脳ども
940デフォルトの名無しさん
垢版 |
2026/05/27(水) 08:05:59.34ID:cR+KtZVo
public static void mainに発狂して
pythonのprintで良いって理由でpythonを称賛しJavaを叩いてるやつってよくいるよね
お前らの言ってることってこのレベルの話だからね
どんだけレベル低いんだよお前ら
941デフォルトの名無しさん
垢版 |
2026/05/27(水) 08:18:43.54ID:WfPP8LCh
>>939
Rustに継承がないって??あるよ

Rustには弊害の多い実装継承(いわゆるクラス継承)はないけど
推奨されている抽象継承(いわゆるインターフェース継承)があるよ
942デフォルトの名無しさん
垢版 |
2026/05/27(水) 08:21:16.57ID:cR+KtZVo
> 補完できるということは同名の別クラスと区別ができているということ

普通は競合することがなんかほとんどねえよアホが、自作クラスだと特にプロジェクトで競合しないようにするわ
例えばファイルの読み書きがこれだ、C#で認識しているのはファイル関連の関数は Fileにあるということ
File.の補完を使いながらReadAllTextだと名前を再認識しつつ入力する

string text = File.ReadAllText("sample.txt");

Rust だとこれだ。fs module が C# の Fileクラスに該当しているに過ぎない

let text = fs::read_to_string("sample.txt")?;

> クラス名なんか伴わずに関数単独でも補完できるということ
で?それが?
みんな fs::read_to_stringで読み込んでるじゃん
File.ReadAllTextと何が違うん? C#でも static importで ReadAllTextをそのまま呼び出せるけど?
https://github.com/search?q=read_to_string+language%3ARust&type=code&p=1

fs::って書いてある方がファイル関連の操作ってわかりやすいからね
んでC#のFile. と何が違うのか説明してみろ
943デフォルトの名無しさん
垢版 |
2026/05/27(水) 08:26:34.23ID:cR+KtZVo
C#だとファイル関連の関数はFileクラスにあると認識しておりSystem.IO namespace にあることは別に記憶する必要はない、重複したら調べるだけ
だからほとんどの開発者が意識してるのはFileクラスを使うというだけ
Rustだとそれがfsモジュールだ、何が違うんだよw
944デフォルトの名無しさん
垢版 |
2026/05/27(水) 08:35:45.11ID:WfPP8LCh
型の継承は3種類ある

①実型から実型への継承
これが弊害の多い実装継承(いわゆるクラス継承)
現在ではできる限り使うべきではない
そのためRustなど最近の新たな言語の多くに存在しない

②抽象型から実型への継承
これが推奨されている抽象継承(いわゆるインターフェース継承)
Rustではトレイトでimpl MyTrait for 実型

③抽象型から抽象型への継承
これは②のインターフェース間の関係
Rustではtrait MyTrait: SuperTrait1 + SuperTrait2 + ...

このようにRustでは必要な継承機能だけをきちんと備えている
945デフォルトの名無しさん
垢版 |
2026/05/27(水) 08:45:38.45ID:C5sy+/sl
必要最低限の契約で静的型付けのメリットを享受できる静的ダックタイピング・構造的型付けが最高だな。

RustにAdapterパターンのサポートってあったっけ?
946デフォルトの名無しさん
垢版 |
2026/05/27(水) 08:45:45.68ID:BiZvRSCd
webのバックだとc#でできることはより軽いgoでいいってなるし
ゲームもueとgodotはc++ rust使えるから現代だとc#さんの出番がないんよな…😵🤯
947デフォルトの名無しさん
垢版 |
2026/05/27(水) 08:56:02.43ID:cR+KtZVo
>>944
GoにはASP.NET並みの高機能フレームワークがないから本当にシンプルなAPIやマイクロサービスを除いてC#の方有利
C#はSpring Bootの代替になるがGoは無理、あまりの機能の無さに移行すると発狂するだろう
デスクトップアプリは依然として有利、Tauriとかいうゴミとは異なって実用的なクロスプラットフォームフレームワークのAvaloniaもある
単にお前が無知なだけだろ?

>>944
1の実装継承はゲームやGUI開発で依然として使われている
Reactやクラスをあまり使わないフレームワークもライブラリや内部実装レベルでは実装継承が多用されている
使われなくなってから実装継承を批判したら?一部の領域に適しており不向きでもあるということだけだ
2026/05/27(水) 09:33:42.11ID:zH/p1au6
実装継承は失敗策だから採用しない言語が増えたんだよ
デザインパターンの著者たちも実装継承であるクラス継承を問題視してインターフェース継承を勧めているよ
Javaの生みの親も今は実装継承であるクラス継承を批判していてJavaをもし再設計するなら実装継承を含めないと言ってるよ
949デフォルトの名無しさん
垢版 |
2026/05/27(水) 09:35:22.83ID:cR+KtZVo
>>948
じゃあなんで最近作られたGUIフレームワークのFlutterとかで実装継承が多用されてるの?
2026/05/27(水) 09:52:14.48ID:TjV2b7Kp
>>949
FlutterのDart言語は最初の目的がブラウザに直接取り込むことで始まった
そして非対応なブラウザのためにJavaScriptに変換できるようにすることから始まった
そのJavaScriptはプロトタイプ継承つまり実装継承だからだろう
古い言語は他に手がなく仕方ない
951デフォルトの名無しさん
垢版 |
2026/05/27(水) 10:11:34.46ID:eY3GxL4G
Wasm 😲
952デフォルトの名無しさん
垢版 |
2026/05/27(水) 10:13:57.58ID:khlfW4yQ
>>931
ワロタ
あえてね、了解
単語長い事はどうすんの?
最近の言語の流行としてはマルチパラダイム+簡潔な記述でJavaの源流のC++や後継のKotlinでさえその方向
間のJavaだけ頑固にOOP専している
AIもコードが短いほうが精度が上がる傾向にある
別にJava資産があるから、人がそれで慣れてるから使うのは否定しないが、継承が良いと言うのは肯定しがたいね
2026/05/27(水) 10:14:34.39ID:ZkusLdnC
実装継承は失敗だったのか。
2026/05/27(水) 10:36:28.93ID:ZQQUzW7Y
>>950
traitのデフォルト実装も実装継承
ハイ論破w
2026/05/27(水) 10:46:43.85ID:PZQy1Xr7
>>909
これ
このスレ覗くと益々Rsutって駄目なんだろうなと想像させられる
956デフォルトの名無しさん
垢版 |
2026/05/27(水) 10:58:52.56ID:HYpnaru+
応援団 vs 食えなくてネガキャン団
2026/05/27(水) 10:59:03.53ID:7Cdd2Y0t
>>954
Rustのtraitのデフォルト実装は実装継承ではありません
特定の具象型に対して実装していません
抽象型に対しての実装です
つまりそれを利用する時は抽象型から具象型への抽象継承です
>>944の3分類では②に該当します
958デフォルトの名無しさん
垢版 |
2026/05/27(水) 11:33:16.83ID:cR+KtZVo
>>952
単語長いとかIDE使えば解決する話だろ、どうでもいい
Javaですら型推論が入ってマシになってるし

継承がいいとは言ってない、適している場面があるので適材適所で使うのは許容すべきと言っているだけ
その代表例がGUIだよ、継承を使わないフレームワークとかまずないし
ユーザに欠かせなくてもフレームワークのライブラリで使われてるからね
2026/05/27(水) 11:36:51.51ID:nAArj/TL
>>957
実装を継承しているのに実装継承じゃないと言い張るw
これが複オジ品質
ハイ論破w
2026/05/27(水) 11:40:22.20ID:nAArj/TL
ちなみに>>944の分類は無意味
相変わらず実装継承の何が問題か分かってない
問題が分かっていればそれを避けて正しく使えばいいだけなのにね
961デフォルトの名無しさん
垢版 |
2026/05/27(水) 11:45:05.01ID:khlfW4yQ
>>958
書くのは補完できるとして、可読性は悪くなる
右に伸びるか改行の嵐

GUIも継承より合成を中心にしてるが何のフレームワークのこと言ってる?
962デフォルトの名無しさん
垢版 |
2026/05/27(水) 11:54:17.47ID:cR+KtZVo
>>961
アホRust信者がよくやら意味わからん型パズルオナニーよりJavaの方が読みやすいよ
文字が多い=可読性低いは流石に草生えるわ
型がすらわからないRubyやPythonが可読性がいいとでもいうのか?はい論破

>>961
合成を中心とするのはユーザコードの話だ、ライブラリやフレームワークは実装継承で実装されていることがほとんど
Swing、Java FX、WPF、Avalonia、Flutter、iOS、Android

全てControl <- Buttonなどと言った階層構造で各種要素が定義されている
is-a関係がしっくりくる領域だからだ
これをサーバサイドに無闇に持ち込むJava使いがOOPの風評を悪くしてるだけ
HogeImplみたいなクソコード書く奴が悪いのであって適材適所で使えってだけの話
963デフォルトの名無しさん
垢版 |
2026/05/27(水) 12:10:36.47ID:khlfW4yQ
>>962
内部で使われてるのは歴史的背景があり、当時は最適だったんだろうとしか…

可読性は小規模ならPythonのほうが高いし、大規模ならRustだな
型パズルとか言うけどJavaと同じだよ
964デフォルトの名無しさん
垢版 |
2026/05/27(水) 12:12:20.57ID:hNJvfNui
触ってはいけない実装継承
965デフォルトの名無しさん
垢版 |
2026/05/27(水) 12:18:17.50ID:cR+KtZVo
>>963
flutterがいつ作られたフレームワークか知ってる???
じゃあButtonクラスを継承を一切使わずにどう実装するのが良いのか説明してみろや、知能低いから無理だろうけど
言語ってのはユーザレベルのコードじゃなくてライブラリやフレームワーク開発者のコードを意識して作られてるんだから
お前らはライブラリやフレームワークをただ使ってる分際なんだけど、それで継承より合成を多く使うのは当たり前の話でそれだけで継承がいらないと考えるのは片腹痛いわ
966デフォルトの名無しさん
垢版 |
2026/05/27(水) 12:21:14.34ID:cR+KtZVo
小規模ならpythonが可読性が良いwwww
使い捨てスクリプトのこと言ってるのかな?
小規模ならどんな言語でも可読性いいだろww大規模にスケールするかどうかが問題なわけで

んで型がない言語の方が可読性が良いなどありえんから
コードの長さと可読性が単純に比例するって認識がお前の知能と認知能力の低さをよく表してるね
2026/05/27(水) 12:25:28.54ID:viWPbW8+
>>954
トレイトのデフォルト実装は実装継承じゃないよ
実装継承とはある具体的な型から別の具体的な型へ継承してしまうことで密結合になってしまうこと
一方でトレイトのデフォルト実装は具体的な型が一切出てこないことが特徴
968デフォルトの名無しさん
垢版 |
2026/05/27(水) 12:27:32.69ID:C5sy+/sl
継承自体が密結合で設計変更に対する耐性が低いということだろ。

静的型付けの堅牢さと動的言語の柔軟性を求めるなら、まずはAdapter機能のサポート強化、本質的には構造的型付けサポートになるんじゃないんかね。
969デフォルトの名無しさん
垢版 |
2026/05/27(水) 12:33:32.54ID:yUs99Hqx
>>968
具象型から具象型への継承のみが密結合になる
これが実装継承

インターフェースなどの抽象型から具象型への継承はもちろん密結合にならない
こちらは抽象継承
2026/05/27(水) 14:11:40.67ID:OVei0LCZ
面白くなってきた
971デフォルトの名無しさん
垢版 |
2026/05/27(水) 14:57:08.29ID:WCS5U2KA
そろそろ埋めるか
2026/05/27(水) 14:59:16.85ID:WCS5U2KA
git自体はlocalで作業続けられるから問題無いけど
Rustのcrates.ioはgithub依存なのがうざいな
973デフォルトの名無しさん
垢版 |
2026/05/27(水) 15:06:34.61ID:BiZvRSCd
クレート入れるたびに全部コンパイルし直すのそろそろやめて
nodeでゆうpnpmみたいなの出てきてクレメンス
goは一旦インストールしたら別のプロジェクトでも使い回してくれるんじゃが
974デフォルトの名無しさん
垢版 |
2026/05/27(水) 16:08:23.54ID:C5sy+/sl
>>969
具象型は抽象型に依存するから、具象型と抽象型は密接に結合しますな。

抽象型はインターフェイスなどの一部だけに限定しているけれど、依存していることには変わらないのでけっこう重たい。アダプタパターンの想定ケースとか典型だけれどもけっこう発生しやすいかと。
2026/05/27(水) 17:24:41.42ID:Atqo6RyF
>>967
それは複オジにしか通じない定義
実装を継承したら実装継承

実装継承で発生する問題は実装を継承するから発生する
継承元が抽象かどうかは全く関係ない

C++で実装を含む抽象型を継承しても
Javaでデフォルト実装のあるインターフェースのを継承しても
Rustでデフォルト実装のあるトレイトを継承しても
使い方が悪ければ問題が発生する
2026/05/27(水) 18:42:00.25ID:jGd4EU8C
>>974
こうだよ

クラス継承 (実装継承)
親クラス型Aの実装を子クラス型Bや子クラス型Cが継承
そのため型Aの内部構造と実装がそのまま型Bと型Cに継承されて密接に絡み合う

インターフェース継承 (抽象継承)
インターフェースXは内部構造も実装も持たずに外見のAPIだけが指定される抽象的な存在
型A・型B・型CそれぞれがそのXを継承しても互いの内部構造も実装方法も無関係で互いに独立している
977デフォルトの名無しさん
垢版 |
2026/05/27(水) 20:32:20.66ID:C5sy+/sl
>>976
だからその外見のAPIが依存していることだよ。

型A・型B・型Cを設計した「後」にXを変更したら、型A・型B・型CはXに依存しているから、型A・型B・型Cも全部変更する必要がある。
978デフォルトの名無しさん
垢版 |
2026/05/27(水) 21:13:33.96ID:AkxtNHoG
>>977
インターフェースは内部構造と無関係だから各型の内部構造との関係も影響もないのよ
そして実装方法も各型で独立しているから
979デフォルトの名無しさん
垢版 |
2026/05/27(水) 21:37:53.80ID:C5sy+/sl
>>978
だから内部の話じゃなくて、インターフェイスそのものの継承の話だよ。
2026/05/27(水) 21:42:59.72ID:FZhzIjZj
そもそも実装継承ってそういう意味だっけ?
C++はもう何十年も触ってないからあやふやだけど

public継承:インタフェースも含めた普通の継承、is-aとしてサブクラスを定義、(サブタイプ化のための)継承。
private継承:インタフェースを含めずに、せいぜい実装の手間を省くための継承、すなわち、実装(のためだけの)継承。

#include <iostream>
struct B {
int foo() {return 42;}
};
struct D : public B {};
struct E : private B {
int bar() {return foo();}
};
int main() {
B d = D();
std::cout << d.foo() << std::endl;
//B e = E(); // ‘B’ is an inaccessible base of ‘E’
E e;
std::cout << e.bar() << std::endl;
return 0;
}

// サブタイプ関係にないEの、bar()の実装の都合で行うのが、private継承、すなわち実装継承

こんな話じゃなかった?
981デフォルトの名無しさん
垢版 |
2026/05/27(水) 21:56:21.98ID:C5sy+/sl
>>980
このサブタイピングのあたりの話ですな。
https://ja.wikipedia.org/wiki/%E7%B6%99%E6%89%BF_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)

private継承は外から見えないので、継承is-aではなく合成(包含)has-aの話。
2026/05/27(水) 21:56:36.28ID:k0HKTULO
C++は一番わかりにくい
Javaなどclassとinterfaceを持つ言語で
class継承が実装継承
interface継承が抽象継承
983デフォルトの名無しさん
垢版 |
2026/05/27(水) 22:02:20.48ID:8/iVdsiE
今日はRust応援でユーチューブよりもここで稼げたんじゃね?
2026/05/27(水) 22:15:57.97ID:FZhzIjZj
そもそも「抽象継承」っていう単語聞いたことないんだがw
いつからこれ誰が言い出したやつなの? 定義ってどっかにある?

実装継承のほうはC++界隈で昔聞いたことあるなって記憶あるんだけど
2026/05/27(水) 22:38:03.39ID:qUPyIGzc
C++ でいう純粋仮装関数にもデフォルトの実装を一応定義しておけるというのを、「実装の継承」と「インターフェイスの継承」のどちらに振り分けるのかみたいな話?
986デフォルトの名無しさん
垢版 |
2026/05/28(木) 01:56:22.82ID:KhJwUlUl
Xに依存はしてるけど型ABCは変えなくていいのでは
987デフォルトの名無しさん
垢版 |
2026/05/28(木) 08:43:25.19ID:et8LHhdL
>>986
例えば引数ひとつ変われば実装も変える必要出てくるよ。
他は何かあったかな……
2026/05/28(木) 09:18:57.77ID:N+RkhiZY
>>986
インターフェース定義者が仕様変更すると実装者が振り回されるって話で、違う話題が紛れ込んでると思うよ
2026/05/28(木) 22:22:20.91ID:iXWBLixZ
バランスでいうとswiftあたりがバランスよかったとかある?
2026/05/28(木) 22:23:15.67ID:C6yZ/0Wi
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
991デフォルトの名無しさん
垢版 |
2026/05/28(木) 22:27:57.81ID:nhboCF9V
Rust part36
https://mevius.5ch.io/test/read.cgi/tech/1779974768/
2026/05/28(木) 22:29:57.06ID:qrIocRw5
>>980
実装継承とインターフェース継承という言葉を最初に普及させたのはGoF本
GoF本の定義だとprivate継承は実装継承でpublic継承は実装継承+インターフェース継承

でもその後JavaやUMLの登場で用語の定義が変わって
実装の継承とインターフェースの継承の両方を含むものを実装継承と呼ぶようになってる

多くの場合はサブタイピングを伴うけど
概念上はサブタイピングが必須というわけではない
993デフォルトの名無しさん
垢版 |
2026/05/28(木) 23:15:59.57ID:ArBv1Cd5
てかgcある時点できびしいって
994デフォルトの名無しさん
垢版 |
2026/05/29(金) 09:07:38.93ID:F444KmUt
node.jsのnpmとかだと-gオプションがあるよね
あれcrates.ioにはないのかな
別に全部コンパイルやり治すのは不満じゃないんだ
全部ダウンロードやり治すのが不満なんだ
2026/05/29(金) 10:11:40.17ID:XM3j5Ybh
>>994
デフォルトでグローバルキャッシュしてるよ。
2026/05/29(金) 10:34:43.85ID:XNtODWvg
バージョンが違うからでしょ
2026/05/29(金) 11:31:31.88ID:tLH/Shmw
>>994
ダウンロードをやり直すことはない
cargoはオフラインでも動く
バージョンを固定すること
バージョン無指定なら毎回チェックして最新を取りに行ってくれる
2026/05/29(金) 12:03:48.63ID:fft+YgMb
UXが悪いわな
2026/05/29(金) 15:39:53.24ID:kQeTLVqo
>>997
複おじはnpm -gをまず理解しよう
回答するのはそれから
1000デフォルトの名無しさん
垢版 |
2026/05/29(金) 15:42:29.00ID:FdQCKN4c
        まもなくここは 乂1000取り合戦場乂 となります。

      \∧_ヘ     / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
 ,,、,、,,, / \〇ノゝ∩ < 1000取り合戦、いくぞゴルァ!!       ,,、,、,,,
    /三√ ゚Д゚) /   \____________  ,,、,、,,,
     /三/| ゚U゚|\      ,,、,、,,,                       ,,、,、,,,
 ,,、,、,,, U (:::::::::::)  ,,、,、,,,         \オーーーーーーーッ!!/
      //三/|三|\     ∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ∪  ∪       (    )    (     )   (    )    )
 ,,、,、,,,       ,,、,、,,,  ∧_∧∧_∧∧_∧ ∧_∧∧_∧∧_∧∧_∧
      ,,、,、,,,       (    )    (    )    (    )    (    )
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 63日 22時間 4分 2秒
10021002
垢版 |
Over 1000Thread
5ちゃんねるの運営はUPLIFT会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《UPLIFT会員の主な特典》
★ 5ちゃんねる専用ブラウザからの広告除去
★ 5ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
4 USD/mon. から匿名でご購入いただけます。

▼ UPLIFT会員登録はこちら ▼
https://uplift.5ch.io/

▼ UPLIFTログインはこちら ▼
https://uplift.5ch.io/login
レス数が1000を超えています。これ以上書き込みはできません。

ニューススポーツなんでも実況