Rust part26

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2024/09/20(金) 22:18:38.38ID:c48cFuZJ
公式
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 part25
https://mevius.5ch.net/test/read.cgi/tech/1722354386/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2デフォルトの名無しさん
垢版 |
2024/09/20(金) 22:19:18.10ID:c48cFuZJ
Rust The Book (日本語版)
https://doc.rust-jp.rs/book-ja/
Rust edition guide (日本語版)
https://doc.rust-jp.rs/edition-guide/
Rust by example (日本語版)
https://doc.rust-jp.rs/rust-by-example-ja/
Rust cookbook (日本語版)
https://uma0317.github.io/rust-cookbook-ja/
Rust API guideline (日本語版)
https://sinkuu.github.io/api-guidelines/
Rust nomicon book (日本語版)
https://doc.rust-jp.rs/rust-nomicon-ja/
Rust async book (日本語版)
https://async-book-ja.netlify.app/
Rust WASM book (日本語版)
https://moshg.github.io/rustwasm-book-ja/
Rust embeded book (日本語版)
https://tomoyuki-nakabayashi.github.io/book/
Rust enbeded discovery (日本語版)
https://tomoyuki-nakabayashi.github.io/discovery/
Rust Design Patterns (日本語版)
https://qiita.com/Yappii_111/items/4ccc3a8461cdd4035651
https://qiita.com/Yappii_111/items/654717e6a6a980722189
Rust API guideline (日本語版)
https://sinkuu.github.io/api-guidelines/
3デフォルトの名無しさん
垢版 |
2024/09/20(金) 22:22:15.11ID:c48cFuZJ
Rust Reference Book
https://doc.rust-lang.org/reference/
Rust Standard Library
https://doc.rust-lang.org/std/
Rust rustc Book
https://doc.rust-lang.org/rustc/
Rust rustdoc Book
https://doc.rust-lang.org/rustdoc/
Rust rustup Book
https://rust-lang.github.io/rustup/
Rust Cargo Book
https://doc.rust-lang.org/cargo/
Rust unstable Book
https://doc.rust-lang.org/nightly/unstable-book/
Rust macro Book
https://danielkeep.github.io/tlborm/book/
Rust CLI (Command Line Interface) apps Book
https://rust-cli.github.io/book/
Rust Future Book
https://cfsamson.github.io/books-futures-explained/
Rust async-std Book
https://book.async.rs/
Rust tokio Book
https://tokio.rs/tokio/tutorial
Rust serde Book
https://serde.rs/
Rust Performance Book
https://nnethercote.github.io/perf-book/
4sage
垢版 |
2024/09/21(土) 06:46:43.45ID:C8ZSf1Mw
>>1
O2
2024/09/21(土) 10:38:37.60ID:LGjZocUf
アンチの人はRustスレの邪魔をせずに
こちらへどうぞ

Rustアンチスレ
https://mevius.5ch.net/test/read.cgi/tech/1509028624/
6デフォルトの名無しさん
垢版 |
2024/09/21(土) 11:45:15.28ID:FOWjpCKL
変な質問かもしれないけどRustでもUMLのクラス図みたいなものって有効?
必要なケースとしては、プログラムの設計を他者と共有する必要があり、かつ相手は時間をとってコードを詳細に読むわけでなないという場合

今どきUMLという感じかもしれないけど、社内の他のプロジェクトではUMLを (常にではなく、必要に応じて時々) 使っている
Rustのプロジェクトでもこれを求められた場合にどう対応すれば良いのか
型同士の関係 (1対多などの数量関係や呼び出し関係) を説明するくらいはできるけど、継承などオブジェクト指向を意識したところがあるから、Rustのコードの設計を説明するのに必ずしも向かない気もする
こういう、設計を共有するのってみんなどうしてる?
2024/09/21(土) 12:11:46.71ID:3vskc6nv
>>6
トレイトをインターフェイスとみなせば (わかりやすいかどうかは置いといて) 一応は成立すると思う。
だけどそういう図を見るくらいなら cargo doc を読んでいくほうがわかりやすいんじゃないかなぁ。
UML が有用なのはシーケンス図とか、抽象度の高い用途のほうでしょ。
8デフォルトの名無しさん
垢版 |
2024/09/21(土) 12:37:38.28ID:FOWjpCKL
開発者が相手ならCargo docは有効だと思う
だけど、説明したいのは構造体やメソッドの使い方じゃなくて、ドメイン側のロジックが適切な型として表現されてるか、それに抜け漏れがないかといった点
それを視覚的に示せるということでクラス図を例に出した
相手はRustのコードに直接触れるわけではないけど、ドメイン側の知識を持ってて、そういう観点からのレビューをしたいという場面

書いてて思ったけど、Rustのenumで表現されてる型がやや表現しづらい?
OOPだとICommandのようなインタフェースを継承させてたけど、その代わりにenum Command にしてるケース
UMLに合うようにRust側のコードをトレイトを使って書き直すのも本末転倒な感じがする
2024/09/21(土) 12:53:36.90ID:3vskc6nv
>>8
プログラムとしての合理性とドメイン側のロジックがそれほど一致しないのは普通のことなのでそういう形でレビューする事例は全然聞いたことないな。
特に専門的でプログラマの理解が追っつかないレベルだとドメイン側のロジックに忠実にやるしかないのだろうけど……。
2024/09/21(土) 13:19:40.34ID:EbQ+iJJK
経験的にRustの構造体はデータベース設計のER図が合いそう
ライフタイムの関係で
・構造体のDrop≒レコードのdelete
・参照≒行ロック
みたいなイメージがしやすくて実装とのギャップを減らせると思う
enumはER図だとsubtypeに相当する
2024/09/21(土) 13:46:07.48ID:MXmAIymZ
テンプレートメタプログラミングに対応してないなら、C++ですら使えないと思う
2024/09/21(土) 14:16:16.53ID:EbQ+iJJK
メタコードでも最終的に具現化されるから大丈夫でしょ
メタの部分はメタのままモデル化しとけばいい
2024/09/21(土) 15:26:24.58ID:WvtGOXLQ
>>6
自分も相手もUMLに慣れてるのならUML使えばいいと思う
リバースエンジニアリングで図を書くのでなければ別に困らない

>>8
>Rustのenumで表現されてる型がやや表現しづらい?
<<enum>>や<<enumeration>>のマーカーをつけるだけ
2024/09/21(土) 16:07:13.97ID:6ZRew6VN
VS CODEとrust-anlayzerでrustを書いてるんだけど、
if文を1行でこう書きたいんだけど、自動整形で改行されちゃうんだけど、↓を許容する設定の仕方知っている人いたら教えて~
if 1 == 1 { true } else { false }
2024/09/21(土) 16:47:05.18ID:LGjZocUf
rustfmtを使って整形しているのならば
#[rustfmt::skip]
2024/09/21(土) 16:52:58.13ID:EbQ+iJJK
(if 1 == 1 { true } else { false })
let foo = if 1 == 1 { true } else { false };
みたいにカッコで囲むかletで値を受けるならrustfmtのsingle_line_if_else_max_widthが効きそうだけど
裸のifだと設定では無理かも

#[rustfmt::skip]
if 1 == 1 { true } else { false };
でskipするしかない

rustfmtの設定はrustfmt.toml(Cargo.tomlと同じ場所)で
single_line_if_else_max_width = 80
とか書けばいい
参考:github.com/rust-lang/rustfmt/blob/master/Configurations.md
2024/09/21(土) 17:16:34.53ID:MXmAIymZ
設計図と実物のギャップに比べたら改行がちょっと多い程度の差は
人体に無害だ
だが科学的に無害だとしても人の機嫌を損ねることは許されない
2024/09/21(土) 18:16:59.29ID:3vskc6nv
>>14
短絡評価込みだとこれと同一になるはず。
1==1 && true || false;

この形でも長くなりすぎると改行されちゃうけどね。
2024/09/21(土) 18:24:23.07ID:mSwTwwna
>>18
それ結果がboolのとき限定だし流石に……

(1 == 1).then(|| true).unwrap_or_else(|| false)

うーん、ないな
2024/09/21(土) 19:05:43.59ID:wwpfBAxB
boolならif else必要ないやろ
2024/09/21(土) 19:52:13.10ID:shE6x/5+
trueのときの値,falseのときの値って意味で書いてんじゃねえかな
2024/09/21(土) 20:44:43.28ID:6ZRew6VN
>>15
>>16
ありがとう。やっぱり無理かー
InteliJ Ideaではできたのにな。RustRoverはまだ発展途上だし
Zedに期待したいけど、どこまでできるのか

>>21
そういうことです。とはいえbool限定で別の1行書き方があるとしても↓の書き方を1行に整形してほしいということで

> if 1 == 1 { true } else { false }
2024/09/21(土) 22:18:19.38ID:bd1za6rG
>>9
それを一致させるように努力するのが本来のDDDよ
それを放棄したプロジェクトはいわゆる軽量DDDというアンチパターン
2024/09/21(土) 22:31:50.56ID:klppfUZq
>>21
マジかよ
そんな書き方したらあかんやろw
2024/09/21(土) 22:52:39.16ID:MXmAIymZ
逆に、一致しないように努力させられるのが特許とか知財か
どっちも嫌な努力
2024/09/22(日) 11:14:51.14ID:xF9HTLBc
どちらの書き方が簡潔に分かりやすいですか?

let result = match () {
_ if 場合1 => 値1,
_ if 場合2 => 値2,
_ if 場合3 => 値3,
_ if 場合4 => 値4,
_ if 場合5 => 値5,
_ => 値その他,
};

let result = if 場合1 {
値1
} else if 場合2 {
値2
} else if 場合3 {
値3
} else if 場合4 {
値4
} else if 場合5 {
値5
} else {
値その他
};
27デフォルトの名無しさん
垢版 |
2024/09/22(日) 11:48:01.54ID:PvCJsxAv
そのifの判定内容はマッチで扱えないものという認識で良い?
例えば値の範囲なら以下のように書く
let b = match(a) {
 // x if x < 0 とも書けるけど冗長
 ..0 => "nagative",
 0..10 => "small",
 _ => "many",
}

ifが必要なら、個人的には「その分岐が変数の値に応じて決まる」という意味合いが強ければmatchを、そうでないならifを使う
元のレスだとmatchに渡すものが空だけど、これが単にレスする際に省略したものでなく本当に () をmatchさせようとしてるなら、ifの方が分かりやすいと思う
2024/09/22(日) 12:58:59.11ID:/54VtYWL
だね
条件の中身次第
2024/09/22(日) 13:05:19.87ID:ZXycigsN
>>26
matchが短く見やすく可読性も良いかな
並んで順に判定することもわかりやすい
2024/09/22(日) 13:13:51.09ID:/54VtYWL
内容次第では条件と値のセットを辞書的なもの(BtreeMapやArray)で管理する形にすることもよくある
2024/09/22(日) 15:11:30.55ID:qDPlQN9o
複おじ君 Rust を 2 年かそこらやっててまだこんなことにこだわってるの
2024/09/22(日) 15:20:32.79ID:m7FeuQS9
たとえば、動的にメソッドを定義するコードが
どこにも書かれていないことを確認するためにソースコード全体を読む必要はほとんど無いが
妙な書き方をすればそれが必要になる
2024/09/22(日) 15:36:11.10ID:btdG9v7k
でその妙な書き方かどうかはどうやって判定すんの
2024/09/22(日) 16:08:33.07ID:m7FeuQS9
正しくないかもしれない値段で物を売り買いする自由があるんだから
うっかり正しくない判定をしても大して問題ないよね
2024/09/22(日) 16:16:50.01ID:btdG9v7k
こう簡単に矛盾すること書けるやつのソースコード見てみたいわ
36デフォルトの名無しさん
垢版 |
2024/09/22(日) 19:42:13.27ID:H8Oyc8fk
矛盾したコードを書いた時、Rustなら検知してくれる
2024/09/22(日) 20:01:27.84ID:yQGPuEok
コンパイラのレイヤーしか頭に無いバカ
38デフォルトの名無しさん
垢版 |
2024/09/22(日) 22:58:14.23ID:e8rvHKs3
コスプレイヤーのケツしか頭に無い
2024/09/23(月) 00:01:32.19ID:oQXZb2Vk
リスクを取るとか失敗を恐れないことと、矛盾を限りなくゼロに近づけることって
相性悪いよな
2024/09/23(月) 00:43:24.10ID:PF2EKTHS
ポエ味が過ぎる
2024/09/23(月) 05:09:03.45ID:oQXZb2Vk
そのレベルの判定基準で売ったり買ったりキャンセルする自由がある
2024/09/29(日) 17:53:03.81ID:sipqHiuG
全然普及してないね
誰が使ってんの?
2024/09/29(日) 18:08:13.96ID:qvWHVENG
https://response.jp/article/2024/08/08/385006.html
ドイツのVectorとHighTec EDV-Systemeは、RustアプリケーションとCベースのAUTOSAR Classic基本ソフトウェアの統合に成功した、と発表した。
これにより、自動車業界でのプログラミング言語「Rust」使用における最後の障害が取り除かれたという。
2024/09/29(日) 18:13:50.86ID:tjPAZIUB
トヨタもRust技術者を募集してるね
2024/09/29(日) 22:22:20.01ID:KrHhoDGX
「The Rust Foundation」は、人命や財産に関わるような安全性が決定的に重要になるシステムのために、
Rust言語を責任を持ってサポートするためのコンソーシアム「Safety-Critical Rust Consortium」の設立を発表しました。
設立には日本からWoven by Toyotaが参加
46デフォルトの名無しさん
垢版 |
2024/09/30(月) 04:31:41.35ID:MBUAekwy
Rustは良い言語だと思うけど
> 人命や財産に関わるような安全性が決定的に重要になるシステム
に効果的なのかはやや疑問

自動運転は詳しくないから財産の方で書くけど、例えばみずほ銀行のシステム障害や仮想通貨取引所からのコインの流出といった問題はRustだと防げてたか?というとそんなことはないと思う
プログラム上のバグは防ぎやすくなるけど、仕様策定時の想定不足や運用の問題までは防げない
2024/09/30(月) 07:15:29.93ID:2iAXb7P5
プログラム上のバグを防ぎたいと思うからこそ
MISRA C みたいなルール作ってチェックしてるわけで
それを言語仕様で防げるRustを使いたいというのは当然だと思うけど
仕様バグが防げないからといって他のバグも入ってよいわけではない
2024/09/30(月) 07:34:00.91ID:ZUdMvCYc
>>46
プログラミング言語がカバーしない領域の問題を持ち出して来て「Rustはこの問題を防げない!」と主張するバカがときどき現れる
頭が弱いんだろうな
2024/09/30(月) 08:45:28.66ID:awlfHXQ+
>>48
そういう領域をわざと曖昧にして騙す詐欺師もいるからなんとも。
2024/09/30(月) 09:16:22.72ID:V027xTjy
ああ、>>42みたいなのって定期的に現れてたけどこれも例のネタ振りだったのか
終わりやなあ
2024/09/30(月) 10:02:54.61ID:ZUdMvCYc
>>49
プログラミング言語ではカバーできない領域の問題をわざわざ出して来て
「Rustはこの問題を防げない!」と主張するのが詐欺師
他の言語でも防げないのだからRustにおける問題ではない
52デフォルトの名無しさん
垢版 |
2024/09/30(月) 10:32:26.16ID:6dAxEhDV
>>46
言語機能からくるバグと仕様のバグを区別できてなさそう
2024/09/30(月) 10:54:40.07ID:UCbUt9Ji
Rustで他国の技術者を疲弊させる作戦なのかもな
2024/09/30(月) 11:04:51.09ID:SMM9cNDM
たしかにTesla/SpaceXが言語選択を前面に出して安全性アピールしたこと無いな
55デフォルトの名無しさん
垢版 |
2024/09/30(月) 11:30:05.30ID:EGgxkIqY
言語を全面に出してアピールするのは使える言語しかアピールするものがないカスだけ
他にアピールするものがある人はそっちをアピールする
言語は乗り換える時はしれっと乗り換える
2024/09/30(月) 11:36:23.02ID:t+tf/aOj
TeslaもSpaceXもRustエンジニア結構募集してるから社内ではしれっと使ってるんだろう
2024/09/30(月) 11:51:09.07ID:i18xvUH/
そだねTesla公式ではなさそうだから小規模だったのかと

今の自動運転関係はc/c++/python見たい
Experience programming C/C++ software, including modern C/C++ (C++14/17/20)
Write fleet queries and Python scripts to source new datasets
2024/09/30(月) 12:28:38.91ID:gLA7Cs9H
自分の人生が上手く行かないことを何もかもC++のせいにしてる人がいる気がするよ。
他者を批判することは誰でも簡単に出来るから。
2024/09/30(月) 12:33:20.09ID:bcszdPho
SOの愛され言語がまさにその通りで普及している言語は憎まれ役
逆もしかり
2024/09/30(月) 12:41:53.28ID:mH6ZmITw
Teslaの様な近視眼的な利益優先の成長企業は次世代言語投資なんてギャンブルしないでしょ
2024/09/30(月) 15:25:54.70ID:v3grkyeY
言語に詳しいことを技術力と勘違いしてるやついるよな
そんなの大した価値ないから
2024/09/30(月) 16:37:10.99ID:wQrzuM5L
そろそろポエム来そう
63デフォルトの名無しさん
垢版 |
2024/09/30(月) 18:16:36.18ID:Kh4w53R0
>>61
Ruby検定ぇ…
2024/09/30(月) 19:11:24.24ID:pFl0L+A9
>>43のRustから基本ソフトウェアが使えるようになったAUTOSARはテスラ以外の各国の自動車メーカー・部品メーカー・ソフトウェア会社などによって成り立っている
2024/09/30(月) 19:30:44.32ID:aeg7B5kC
ポエム来たw
2024/09/30(月) 19:40:13.57ID:V027xTjy
全部ポエムだろ
67デフォルトの名無しさん
垢版 |
2024/09/30(月) 21:02:02.50ID:ELpL9+R5
そろそろポエム来そう


……


ポエム来たw
68デフォルトの名無しさん
垢版 |
2024/09/30(月) 21:05:21.65ID:MBUAekwy
>>52
その違いを区別した上で「現実の問題は仕様や運用から来るものも多く、それについてRustは他の言語以上の力を発揮するものではない」と書いてるんだが
2024/09/30(月) 21:15:05.58ID:ZUdMvCYc
プログラミング言語でカバーできない領域の話をこのプログラミング板で議論しても無意味
一方でその問題のうち言語でカバーする領域の話については反論もないことから様々な点でRustが最善なのだろう
70デフォルトの名無しさん
垢版 |
2024/09/30(月) 21:51:49.87ID:Luv3/LPz
「様々な点」というならそれこそプロジェクトの特性によるだろ
研究者がPythonを使うのや大規模プロジェクトでC#やJavaを使うのだって、それぞれ理由があるわけで
2024/09/30(月) 22:09:35.06ID:SVrZ1+QI
>>69
>プログラミング言語でカバーできない領域の話をこのプログラミング板で議論しても無意味
プログラミング板はプログラミング言語板ではないのだよ、複トン君。
2024/09/30(月) 22:28:02.74ID:pFl0L+A9
>>70
今回の件のプロジェクトは「人命や財産に関わるような安全性が決定的に重要になるシステムのため」と明記化されているので
もしRustより相応しい言語があるならば、その言語と根拠を参加しているトヨタやIT企業たちに教えてあげればいいんじゃないかな
73デフォルトの名無しさん
垢版 |
2024/09/30(月) 22:37:41.53ID:Luv3/LPz
まず「最も良い言語」というものがあるという考え自体が幻想だと思うぞ
だから自分はRustより良い言語があるだなんて言わない
言語に限らず技術選定というもの全般に言えるけど、それはそれぞれのチームやプロジェクトにおいて判断すべきものであって、言語が先に来るものではない
2024/09/30(月) 22:48:21.43ID:ZUdMvCYc
>>73
それはおかしい
現状Rustが最善であると言語が先に来た上で、足りない所があれば改善や補強などしていくコンソーシアムだぞ
少なくとも言語については他を検討しようにもまともな言語がない
2024/09/30(月) 23:03:53.20ID:JxqgGnHQ
幻想なのは当たり前。
その上で The Rust Foundation は Rsut がベストだという「ことにする」という前提を置いてる。
やってみて駄目だったら前提が間違ってることがわかるだけだ。

やる前にわかるなら苦労しないよ。
比較的マシそうなものでやってみて成功したり失敗するのが進歩ってものだろ。
2024/09/30(月) 23:07:52.86ID:pFl0L+A9
>>73
その技術選定をした各企業がRustに対して人とお金を出すプロジェクトなのだから言語が先に来るのは当たり前じゃないかな
目的も明確になっているプロジェクトだからもしRustより相応しい言語があるならば各企業に理由と共に教えてあげればいいんじゃないかな
2024/10/01(火) 00:52:01.25ID:4qcfGokc
みんな複おじと遊ぶのが大好きなんだねえ
78デフォルトの名無しさん
垢版 |
2024/10/02(水) 10:16:15.34ID:XbzwGALZ
境界値検査しない言語が境界値検査する言語より遅い訳が無い
2024/10/02(水) 12:09:34.85ID:rIuWzLtH
>>78
ロジハラ禁止
2024/10/02(水) 18:27:24.18ID:k2dgX62+
>>78
RustとCやC++の速度比較するベンチマークテストは
全く当てにならない。
実験すれば全て正しいということにはならない。
なぜなら、実験というものは実験条件を整える
のにその科学現象の深い理解が必要であり、
その条件で測定したこと自体は正しくても、
それが本当に知りたいことを測定しているとは
限らないから。
2024/10/02(水) 18:29:04.37ID:k2dgX62+
>>80
あくまでも、細かい条件まで含めて完全にその条件で
実験するとその結果が得られた、というだけであり、
「その言語におけるある目的Aを達成するための速度」
を表しているとは限らないから。
2024/10/02(水) 18:31:40.53ID:k2dgX62+
実験しなくても、最適化で差が付く以外ではC言語が
最速である、とい事は理屈からも分かっている。
これも理解するためには数式を使った論理を正確
に理解する必要が有り、大体の勘で言っている
ようなことではない。
2024/10/02(水) 18:31:41.82ID:k2dgX62+
実験しなくても、最適化で差が付く以外ではC言語が
最速である、とい事は理屈からも分かっている。
これも理解するためには数式を使った論理を正確
に理解する必要が有り、大体の勘で言っている
ようなことではない。
84デフォルトの名無しさん
垢版 |
2024/10/02(水) 20:34:56.49ID:192UGWkp
C++でいう非型テンプレートってRustでできる?
std::array<int, 4> の4の箇所のように、型ではなく数値や文字列をジェネリクスに使うやつ

Rustでも配列はコンパイル時にサイズが決まるし、似たような仕組みはありそうに思えるんだけど、見つからなくて
ジェネリクス型の中に配列を持たせるなら Vec などの可変サイズ型が必須?
2024/10/02(水) 21:02:06.37ID:qmniBqed
>>84
だいぶん前から出来るよ。
const キーワードを使う。
https://doc.rust-lang.org/reference/items/generics.html
ただ、現在の C++ よりは制限がきつい。
86デフォルトの名無しさん
垢版 |
2024/10/02(水) 21:08:54.46ID:AFS53MaU
>>81
横からだけど、そういうベンチマーク結果ってなくない?
同じアルゴリズム、同じPC上での結果なんて、ブログ記事で見るかどうかレベル。

大抵順位が出てるのは他人がバラバラのアルゴリズムで(同じ目標の)コード書いて、同一鯖上でベンチマークした結果ばっかりな気がする。
2024/10/02(水) 21:34:49.26ID:qmniBqed
それぞれの言語で自然な書き方で比較するのもそれはそれでフェアな条件の付け方じゃない?
実際問題としてそれぞれの言語で完全に同一のアルゴリズムで同一の構造になるようなことはないんだから言語の通常の習慣を曲げてまで条件を揃えるのが本当にフェアなルールだとは思わないな。
「普通にやったらこうなる」という比較のほうが日常的なユースケースでは意味のある比較に思える。

処理系を作る側が改善箇所を探す用途のベンチマークだったらまた事情は違うかもしれないけど。
88デフォルトの名無しさん
垢版 |
2024/10/02(水) 21:35:48.88ID:192UGWkp
>>85
サンクス
自分はThe Rust Program Language の日本語訳を参照してたけど、こちらには同様の説明が見当たらなかった (単に見落としかも?) ので、適切なリファレンスへのリンクは助かります
2024/10/02(水) 22:06:25.68ID:ufu02mt0
>>88
公式読めよ
2024/10/02(水) 22:11:54.22ID:qmniBqed
>>88
そのへんはたぶん英語版でも書いてないと思う。
The Rust Program Language は入門とか紹介という立場なので言語機能を網羅的に説明しているわけではないよ。
2024/10/02(水) 22:13:09.56ID:F+8Yq1v3
>>78
昔とは異なり
必要な境界値検査はプログラミング言語が責任を持って行わなければならない
この必須の機能を持たないC/C++は危険な言語として米ホワイトハウスも安全な言語への置き換えを推奨すると表明している
92デフォルトの名無しさん
垢版 |
2024/10/02(水) 23:30:25.01ID:U5iz23L2
単純なforで初期値と終了値が確定してるなら
境界超えは有り得ないんだから
そんなのまで境界チェック入れるのはナンセンス
2024/10/02(水) 23:32:21.66ID:5rx4Z4Pt
>>92
そこに着目して各個別の境界チェックを無くしてCと同じ速さが出るようにしたのがRustだね
2024/10/02(水) 23:52:48.74ID:iTWoI127
>>93
そうじゃない例が多くてなあ
同じLLVMのZigがRustより早かったしな
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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