Rust part33

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
垢版 |
2025/08/15(金) 17:49:30.70ID:N8TIzbWg
公式
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 part32
https://mevius.5ch.net/test/read.cgi/tech/1755057787/
Rust part31 https://mevius.5ch.net/test/read.cgi/tech/1751545806/
Rust part30 https://mevius.5ch.net/test/read.cgi/tech/1748392296/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
880デフォルトの名無しさん
垢版 |
2025/11/24(月) 00:16:32.96ID:JEY6AAvW
>>858
いや、プログラムが緊急停止した場合の対策が出来ない無能はシステムを運用すべきじゃない、だろ。
881デフォルトの名無しさん
垢版 |
2025/11/24(月) 08:08:42.17ID:ToUcbaMD
>>880
その発言だと開発のポカは運用でカバーできるのが前提になっているけど、panicみたいに緊急停止するような状況はどんなに上手く運用したとしても回避するのは困難かと。
しかもCloudflareの場合は
https://blog.cloudflare.com/ja-jp/18-november-2025-outage/
自動生成した設定ファイルが原因だから、コードに詳しい開発側じゃなければわからない。

これを「運用が無能だから発生した」とか言うんだったら、運用側は「panicは最小限度にしろ」「panicが発生するコードは全て明記して管理しろ」「管理できなければpanicさせるな」と要求するわな。
882デフォルトの名無しさん
垢版 |
2025/11/24(月) 10:00:06.15ID:JEY6AAvW
>>881
あのな、言いたい事は分かるし、プログラマはシステムが止まらないよう最大限の努力しろというのはその通りだが、超新星爆発や太陽フレアやコーヒーが零れるのは止められないからな。それを念頭に運用は速やかにシステムを復旧出来るようにしとけよ。それが出来ずにプログラムやプログラマを非難するだけの運用なら無能というはなし。
2025/11/24(月) 10:32:10.42ID:NcJaUoGt
>>876
いらんからmod.rsは非推奨になったのでは
ディレクトリと同名ファイルで管理するようになって
Facadeパターンとして使いやすくなった
884デフォルトの名無しさん
垢版 |
2025/11/24(月) 10:45:36.91ID:ToUcbaMD
>>882
なんのために制約キツくてコーティング面倒臭いRustを使っているのか、という話だわな。

Rustを採用するマネジメント層からすれば、トラブルの無い安定運用がRustに期待するところであって、Cloudflareみたいなサービス停止トラブルはあってはならない悪夢でしかない。その原因が無能コーダーが不用意に突っ込んだunwrapなんだから、管理側が「SafeRustではpanic禁止にしたい」と考えるのは当然じゃないんかね。
2025/11/24(月) 10:54:15.58ID:6bKOYnAL
>>881
>「panicは最小限度にしろ」「panicが発生するコードは全て明記して管理しろ」「管理できなければpanicさせるな」
クリティカルなサービスなら当然の要求な気がする
障害につながらない仕組みが用意されてるpanicと即障害になるpanicは扱いが違うだろうけど管理は必要
ポストモータムにある対策の4番目に該当する

>>882
最大限の努力をしないと無効な入力値が渡されただけでサービス全体が停止するシステムを作ってしまうようなら無能と言われても仕方ない
2025/11/24(月) 11:23:49.40ID:3cdeWV/q
>>883
ファイル名と配置のルールが変わっただけだぞ
エディタのクイックオープン機能なんかで同名ファイルが大量に並ぶのは見づらいというしょーもない理由
887デフォルトの名無しさん
垢版 |
2025/11/24(月) 12:50:03.58ID:fg7M9od0
>>883
非推奨化はしてないと思うが
インテグレーションテストから共有されるモジュールなんかは mod.rs 方式しか使えなかったりするし
2025/11/24(月) 12:51:36.71ID:OH3b+FiZ
Rustが保証するのはメモリ安全であって、それ以上の機能を言語自体に期待してはいけないね
2025/11/24(月) 13:52:56.65ID:wHdQFDSx
3年かけて数多のスレを潰してようやく分かったか?
2025/11/24(月) 15:25:42.29ID:xtd+oazR
今後Rustは使用必須のスタートラインに過ぎないからな
2025/11/24(月) 17:08:28.30ID:Ya054j8a
Rustの次の言語に期待
2025/11/24(月) 17:14:22.69ID:eqWikkbY
実際、Rust以降ってこれといった言語出てなくない?
2025/11/24(月) 17:19:31.65ID:mGEasdrD
Rustより安全性の高い言語でないと企業が採用しない
Rustのような書きやすさと両立したプログラミング言語は出現しそうにない
2025/11/24(月) 17:45:09.92ID:kI+d7siV
メモリの安全性だけでなくnull safetyやmatchのexhaustivenessなど堅牢なソフトウェアを作るための機能が言語に備わっている

にもかかわらずそれらバイパスする間違ったunwrapやpanicの使い方を「正しい」と思い込んでる人たちを少なからず作り出しているということと、その誤った使い方を構造的に防止する方法がないということがソフトウェアの安全性に対するRustの問題点
895デフォルトの名無しさん
垢版 |
2025/11/24(月) 18:01:28.20ID:p5vlTQW+
unsafeの中以外は⊂(^ω^)⊃ セフセフ!!
2025/11/24(月) 18:21:57.08ID:eehF78R0
>>894
理解できていないのは君だろ
null safetyは必ずnullチェックがなされることを指す
unwrapは必ずnullチェックをする安全な方法
安全でないのはnullチェックをしないunwrap_unchecked()
2025/11/24(月) 18:37:03.11ID:rjCnBMS+
>>896
つまり他言語でも

*nullptr = 123;

で「終了」すればnull safetyだとの主張ですな
2025/11/24(月) 18:43:35.39ID:t2YHlRQh
>>892
Zigがあるじゃん
2025/11/24(月) 18:48:01.50ID:eehF78R0
>>897
それはnullチェックをしていないため安全でない
unwrapは必ずnullチェックをする安全な方法
2025/11/24(月) 18:53:21.46ID:fgR96Ue8
>>898
何年前に出て、現在どれだけ使われてるの?
2025/11/24(月) 19:30:54.35ID:t2YHlRQh
>>900
JavaScriptランタイムのBun
あと、SUSEがZigでSSHの再実装するらしい
2025/11/24(月) 19:58:53.90ID:0956DWdq
>>901
聞いたのは個別具体な事例ではなく、どれだけ使われているか、つまり普及のいかんについてであるのと、あと出た時期Rustと変わんなくない?
903デフォルトの名無しさん
垢版 |
2025/11/24(月) 21:00:06.05ID:/4tPGgp6
Crate.ioには、std::fmt::Debugをインプリしていないクレートが一杯あるんやね。
UartDriverだけかと思いきや、結構ある。
Wrapper作ってのインプリ作業がマンドクセ。
でないと、クレート、モジュールの外部変数Mutex.setもできん。
いろいろ手間のかかる言語だ。
2025/11/24(月) 21:14:00.28ID:P1qKutdV
ラップして Debug を実装するだけならマクロでかなり自動化できると思う。
というかそういうクレートはありそう。 知らんけど。
2025/11/24(月) 22:02:41.96ID:BE69Oim8
>>896
言語に機能は備わっているけど誤った使い方でそれを活用できていない人たちがいるという話に対して「unwrapは必ずnullチェックをする」という言語に備わった機能を紹介しても意味ないでしょ

ちなみにnull safetyは必ずnullチェックがなされることを指すわけではないよ
null safetyを実現するための一手段ではあるけれどね
2025/11/24(月) 22:03:30.71ID:Ucl2n3b7
>>903
これまで誰も困っていないのならば
あなたがおかしい可能性を疑ってみてはいかが
2025/11/24(月) 22:07:33.53ID:qMEdPPRT
>>905
その件は一方的な特定の価値観によって「誤った使い方」と断言してる人がおかしい
まずケースバイケースであり更に同じケースでも価値観の相違がある話なので技術的な話ではない
2025/11/24(月) 22:25:07.64ID:BE69Oim8
>>907
ケースバイケースなのは当然の話なんだがunwrapの誤った使い方によって大障害につながったCloudflareのケースを念頭に話をしてるわけで

あれが「誤った使い方」と断言できない人がこんなスレだけで複数いることがRustの抱えてる問題
2025/11/24(月) 22:28:17.91ID:qMEdPPRT
>>908
本気で言ってるなら正気を疑う
まず思い込みの前提から解放されよう
910デフォルトの名無しさん
垢版 |
2025/11/24(月) 22:31:40.94ID:fg7M9od0
>>906
Rust API Guidelines でもパブリックな型にはDebugトレイトを実装することを推奨してるけど
https://rust-lang.github.io/api-guidelines/debuggability.html
2025/11/24(月) 22:32:27.20ID:vfRWkEzS
>>908
その無理矢理な「Rustの抱えている問題」との書き込みからアンチらしき人にみえます
2025/11/24(月) 22:41:07.93ID:pZ21ptJQ
「所有権の複製」の人って
その発言の前はそもそもクソコードいっぱいこのスレに書いてた人よな?
あの人よくunwrap書いてたような記憶あるけど記憶違いかな
2025/11/24(月) 23:02:06.99ID:A7gFxydS
unwrap使わない人はassertも使わないのかな
条件が破れた時にpanicの発生源になるし
レスを投稿する

レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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