公式
https://www.rust-lang.org/
https://blog.rust-lang.org/
https://github.com/rust-lang/rust
Web上の実行環境
https://play.rust-lang.org
日本語の情報
https://rust-jp.rs/
※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/
※C++との比較は専用スレへ
C++ vs Rust
https://mevius.5ch.net/test/read.cgi/tech/1619219089/
※次スレは原則>>980が立てること
前スレ
Rust part13
https://mevius.5ch.net/test/read.cgi/tech/1636247099/
探検
Rust part14
■ このスレッドは過去ログ倉庫に格納されています
2022/02/12(土) 01:24:16.59ID:XYE+Rws6
357デフォルトの名無しさん
2022/03/10(木) 23:34:44.83ID:JmzvOlHn358デフォルトの名無しさん
2022/03/10(木) 23:50:22.89ID:7o5w+imS ずーっと同じこと言って人を煽ってるだけ。典型的な構ってちゃん
359デフォルトの名無しさん
2022/03/10(木) 23:58:49.51ID:Bj7uYOrm >>356
ほら、理解できていない
unsafeで作られた安全なコードに対する人間による妥当性チェックの必要性は
それが標準であろうとデファクトであろうと自作であろうと全て同じ
逆に言えばその局所的なコードの妥当性チェックがなされていれば
Rustではプログラム全体の妥当性がコンパイル時点で保証される
Rust以外のプログラミング言語はこれができない
ほら、理解できていない
unsafeで作られた安全なコードに対する人間による妥当性チェックの必要性は
それが標準であろうとデファクトであろうと自作であろうと全て同じ
逆に言えばその局所的なコードの妥当性チェックがなされていれば
Rustではプログラム全体の妥当性がコンパイル時点で保証される
Rust以外のプログラミング言語はこれができない
360デフォルトの名無しさん
2022/03/11(金) 00:07:06.62ID:GmBPyzdt >>359
理解できてないのはお前w
ランタイムやVMは他の言語でも別枠だからプログラム本体とは切り離して安全としていいんだよw
そこは言語が規定してる部分だからだw
C#やJavaでVMがnativeだからって文句言うアホはいないし、各種インタプリタ言語の組み込み関数が何で書かれてても誰も何も言わないだろw
RustよりはC#やJavaの方が明確に安全と言えるけどなw
Rustだと言語の内側からunsafeにしたいという欲求が生まれる温床があり、不必要にunsafeが発生しうるw
理解できてないのはお前w
ランタイムやVMは他の言語でも別枠だからプログラム本体とは切り離して安全としていいんだよw
そこは言語が規定してる部分だからだw
C#やJavaでVMがnativeだからって文句言うアホはいないし、各種インタプリタ言語の組み込み関数が何で書かれてても誰も何も言わないだろw
RustよりはC#やJavaの方が明確に安全と言えるけどなw
Rustだと言語の内側からunsafeにしたいという欲求が生まれる温床があり、不必要にunsafeが発生しうるw
361デフォルトの名無しさん
2022/03/11(金) 00:49:50.34ID:KdADcOUe もし仮にTokioが標準ライブラリならOKなのか?
標準ライブラリにバグがある確率とコンパイラにバグがある確率は同じくらいとして
標準ライブラリにバグがある確率とコンパイラにバグがある確率は同じくらいとして
362デフォルトの名無しさん
2022/03/11(金) 01:19:06.80ID:yxfxX1kD 標準ライブラリはもの凄い小さくて、あとは個人や小さな組織が作った野良ライブラリだよりだから、
安全性は全然担保されてないと思うがなぁ。
安全性は全然担保されてないと思うがなぁ。
363デフォルトの名無しさん
2022/03/11(金) 01:40:55.24ID:R2y3WlG0 どの言語であれ
標準ライブラリやランタイムに問題が生じなかった言語は存在しない
だから『標準』と名が付くかどうかはどうでもよい問題
Rustにはunsafeか否かの区別があるから他の言語より遥かに良い状況
標準か否かに関係なくunsafeではないコードに対してunsafeを冠せずに出したら厳しく指摘される
そしてunsafe以外についてはコンパイラが通れば安全性が保証される
標準ライブラリやランタイムに問題が生じなかった言語は存在しない
だから『標準』と名が付くかどうかはどうでもよい問題
Rustにはunsafeか否かの区別があるから他の言語より遥かに良い状況
標準か否かに関係なくunsafeではないコードに対してunsafeを冠せずに出したら厳しく指摘される
そしてunsafe以外についてはコンパイラが通れば安全性が保証される
364デフォルトの名無しさん
2022/03/11(金) 02:00:44.40ID:uv7nfwNg でかい標準ライブラリを許容してると、言語をメンテしてる人たちにとっては切り捨てもできず、互換性を担保するのとかでどんどん負担もでかくなるし、言語自体の進歩まで遅くなりうるよ
Goの進歩がやたら遅いのも、もしかしたらそういうとこにも原因あるかもね
Goの進歩がやたら遅いのも、もしかしたらそういうとこにも原因あるかもね
365デフォルトの名無しさん
2022/03/11(金) 03:37:56.52ID:KdADcOUe しかし非標準で同じようなライブラリが乱立してるような状況では新規言語に飛びつきたい言語オタクの精神異常者以外には参入し辛い状況ではある
普通の人普通の企業にとってはGoの方が魅力的に映るだろうな
進歩が遅いのも一度勉強した知識がそのまま使い続けられるし一度書いたコードが使い続けられるってことだし
普通の人普通の企業にとってはGoの方が魅力的に映るだろうな
進歩が遅いのも一度勉強した知識がそのまま使い続けられるし一度書いたコードが使い続けられるってことだし
366デフォルトの名無しさん
2022/03/11(金) 04:08:28.95ID:R2y3WlG0 >>365
逆でしょ
RustはGoogle含めた大手IT企業から全面支持
そしてRustは後方互換性も維持しているから2018editionと2021でもほとんど変わらない
安心して導入できる
そして一番重要な言語機能
Goは今年ようやくジェネリクスだけど期待外れ
イテレータ導入提案すら何度も却下
GoとRustどちらも書ける人なら確実にRustを選ぶ現実
逆でしょ
RustはGoogle含めた大手IT企業から全面支持
そしてRustは後方互換性も維持しているから2018editionと2021でもほとんど変わらない
安心して導入できる
そして一番重要な言語機能
Goは今年ようやくジェネリクスだけど期待外れ
イテレータ導入提案すら何度も却下
GoとRustどちらも書ける人なら確実にRustを選ぶ現実
367デフォルトの名無しさん
2022/03/11(金) 04:20:44.43ID:KdADcOUe >>366
Googleなんて言語オタクの精神異常者集めた企業の代表じゃん。そりゃそうなるよ。Common Lispとか好きそう
ジェネリクスとかイテレーターがなくてガッカリしてるのも言語オタクの特徴だな。普通の人はそれでいいって思ってるよ
Googleなんて言語オタクの精神異常者集めた企業の代表じゃん。そりゃそうなるよ。Common Lispとか好きそう
ジェネリクスとかイテレーターがなくてガッカリしてるのも言語オタクの特徴だな。普通の人はそれでいいって思ってるよ
368デフォルトの名無しさん
2022/03/11(金) 05:51:22.53ID:egx2H9Pr ほんとこのおじさん言語叩けりゃ何でも良いんだな。今度の棒はGoか。んでまだCommonLispのこと根に持ってる。そしてホントは.NET好きなのは隠しきれてない
369デフォルトの名無しさん
2022/03/11(金) 06:14:29.85ID:GmBPyzdt 標準ライブラリならOKだよ
入っていると入っていないでは雲泥の差がある
処理系が責任を持って開発する部分で、基本部分である以上、ユーザーが少なくてもunsafeでも最大限の品質が保証されるから
言語仕様開発や処理系側からすれば、そんなところを大きくすると言語自体が保証する安全性にケチがつきかねないから小さくしたい心情はあると思う
純粋にフットプリントは小さくしたいしね
ただスレッドや同期機構まで用意してるので、世の流れとして非同期くらいまでは標準にしないと扱いにくいとは思う
切り離しやすく決まってると嬉しい
他の言語との比較はRust自体の説明に必要でない限りこのスレではしない
入っていると入っていないでは雲泥の差がある
処理系が責任を持って開発する部分で、基本部分である以上、ユーザーが少なくてもunsafeでも最大限の品質が保証されるから
言語仕様開発や処理系側からすれば、そんなところを大きくすると言語自体が保証する安全性にケチがつきかねないから小さくしたい心情はあると思う
純粋にフットプリントは小さくしたいしね
ただスレッドや同期機構まで用意してるので、世の流れとして非同期くらいまでは標準にしないと扱いにくいとは思う
切り離しやすく決まってると嬉しい
他の言語との比較はRust自体の説明に必要でない限りこのスレではしない
370デフォルトの名無しさん
2022/03/11(金) 09:41:54.29ID:AW3C8472 なんだ、コード見て技術的なこと話してたらな、て思って見に来たら、
他のスレと同じで言語があーだこーだ言ってるだけか
まあ5chはこんなもんか
他のスレと同じで言語があーだこーだ言ってるだけか
まあ5chはこんなもんか
371デフォルトの名無しさん
2022/03/11(金) 09:58:37.49ID:rj0Vocfx unsafeがあるからダメなんじゃない
unsefeじゃないところがsafeなのがRustの大発明
unsefeじゃないところがsafeなのがRustの大発明
372デフォルトの名無しさん
2022/03/11(金) 11:23:22.26ID:H8qFXNfY 曖昧な感想をダラダラ書くより、これを紹介したほうが有意義だろ。
安全と危険のご紹介
ttps://doc.rust-jp.rs/rust-nomicon-ja/meet-safe-and-unsafe.html
安全と危険のご紹介
ttps://doc.rust-jp.rs/rust-nomicon-ja/meet-safe-and-unsafe.html
373デフォルトの名無しさん
2022/03/11(金) 11:54:34.16ID:GmBPyzdt とりあえず英語版の方が内容新しいんで、こちらへ
https://doc.rust-lang.org/nomicon/working-with-unsafe.html
このexampleの2番目の
if idx <= arr.len() {
なんかが典型的で、これ気付けません。直後にあるとおり、
”...This program is now unsound, Safe Rust can cause Undefined Behavior, and yet we only modified safe code. This is the fundamental problem of safety: it's non-local. The soundness of our unsafe operations necessarily depends on the state established by otherwise "safe" operations...."
なわけ。
テキストでは最終的に可視性を利用して局所化してみたいなハウツーを入れてるけど、それは対策方法であって、局所化できる保証はない。
人間にミスは必ずあるからね。
どう書けば安全か分かっていて、それを確実に守れるなら、人間はC/C++でもバグ1つなく完璧にコーディング出来るはずなんだよ。
ってわけで、Rust is ☢UNSAFE☢ !!!!
https://doc.rust-lang.org/nomicon/working-with-unsafe.html
このexampleの2番目の
if idx <= arr.len() {
なんかが典型的で、これ気付けません。直後にあるとおり、
”...This program is now unsound, Safe Rust can cause Undefined Behavior, and yet we only modified safe code. This is the fundamental problem of safety: it's non-local. The soundness of our unsafe operations necessarily depends on the state established by otherwise "safe" operations...."
なわけ。
テキストでは最終的に可視性を利用して局所化してみたいなハウツーを入れてるけど、それは対策方法であって、局所化できる保証はない。
人間にミスは必ずあるからね。
どう書けば安全か分かっていて、それを確実に守れるなら、人間はC/C++でもバグ1つなく完璧にコーディング出来るはずなんだよ。
ってわけで、Rust is ☢UNSAFE☢ !!!!
374デフォルトの名無しさん
2022/03/11(金) 12:12:51.12ID:YhXLzsgi375デフォルトの名無しさん
2022/03/11(金) 12:18:09.85ID:H8qFXNfY376デフォルトの名無しさん
2022/03/11(金) 12:25:34.38ID:egx2H9Pr Haskellに対してモナドで副作用してるから純粋関数型言語じゃねえって感じの主張してはるんやろ
377デフォルトの名無しさん
2022/03/11(金) 14:14:05.70ID:bW78VsKw モナドが副作用起こしてるんじゃなくて実装系が副作用起こしてるんだけどね。
まああの辺の無駄な解釈学振り回すことばっかりな点は同じクソさを感じるわな。
まああの辺の無駄な解釈学振り回すことばっかりな点は同じクソさを感じるわな。
378デフォルトの名無しさん
2022/03/11(金) 15:15:40.38ID:egx2H9Pr >>377
あぁすまん。雑だった
あぁすまん。雑だった
379デフォルトの名無しさん
2022/03/11(金) 16:22:44.16ID:Agk6xs7V 言語の理屈の立て方とそれの実現の仕方はレイヤが違う話だし、
言語の話をする以上は言語の理屈を軸にするしかしょうがないじゃん。
言語の話をする以上は言語の理屈を軸にするしかしょうがないじゃん。
380デフォルトの名無しさん
2022/03/11(金) 21:29:04.10ID:o63L8Mvt381デフォルトの名無しさん
2022/03/11(金) 23:04:07.65ID:GmBPyzdt >>380
何度言っても「unsafeを用いて安全なコードを書いている部分」が人間には限定できないのを理解できてないのはお前w
何度言っても「unsafeを用いて安全なコードを書いている部分」が人間には限定できないのを理解できてないのはお前w
382デフォルトの名無しさん
2022/03/11(金) 23:23:27.18ID:/JvA5shV383デフォルトの名無しさん
2022/03/11(金) 23:25:07.91ID:KdADcOUe >>382
叩く・叩かないや敵味方のような二つでしか考えられないのか?
叩く・叩かないや敵味方のような二つでしか考えられないのか?
384デフォルトの名無しさん
2022/03/11(金) 23:29:38.47ID:GmBPyzdt >>382
論理的に反論されたことがないという認識なんだがw
上から頭ごなしにこうです!と言われて、いやこうこうこういう理由でそうとは思えないと伝えたら、
「意味不明」とか「Rust叩き」とか、「敗北を認められな」いと言われて議論が終わっちゃうだけw
論理的に反論されたことがないという認識なんだがw
上から頭ごなしにこうです!と言われて、いやこうこうこういう理由でそうとは思えないと伝えたら、
「意味不明」とか「Rust叩き」とか、「敗北を認められな」いと言われて議論が終わっちゃうだけw
385デフォルトの名無しさん
2022/03/11(金) 23:30:30.36ID:/JvA5shV386デフォルトの名無しさん
2022/03/11(金) 23:32:12.74ID:egx2H9Pr >>385
叩いてみんなに構ってほしいだけなんだかほっとけ
叩いてみんなに構ってほしいだけなんだかほっとけ
387デフォルトの名無しさん
2022/03/11(金) 23:33:05.04ID:KdADcOUe >>385
両方ともただの事実だが
両方ともただの事実だが
388デフォルトの名無しさん
2022/03/11(金) 23:37:39.97ID:/JvA5shV >>384
Rustの言語ルール及びunsafeとそれ以外(safe)を分けることで
初めてコンパイラが通れば安全性を保証すること成功した枠組みを
未だに理解できずイチャモンつけるだけしか出来なくて恥ずかしくないのかね?
Rustの言語ルール及びunsafeとそれ以外(safe)を分けることで
初めてコンパイラが通れば安全性を保証すること成功した枠組みを
未だに理解できずイチャモンつけるだけしか出来なくて恥ずかしくないのかね?
389デフォルトの名無しさん
2022/03/12(土) 00:00:00.86ID:aEfI8PjB >>388
別にunsafe自体はRustが作ったわけじゃないよw
C#が大昔にunmagedなコードを呼び出すために開発した
Rust同様に別にどこまでも範囲は広げられる
Javaもnativeってあるよね
この2つは基本的にVMが保証している枠組みを外れる部分に対して使用されてるので、VM内のコードが実行される限り、使う動機が発生しない
対してRustは安全を担保するための所有権の仕組みを逃れるためなど、unsafeを使用する動機がいたるところにある
標準が提供しているライブラリが足りないこともあり、これは相当深刻な状況なわけだw
すると、両者が意味するunsafeな部分の意味が大きく変わってくる。
簡単に言えば原則safeな部分を書き換えるためにunsafeが使用されないかどうかの違いw
残念ながらRustは安全を担保するための所有権の仕組みを逃れるためなどの理由でsafeな部分を書き換えるためにunsafeが使用されてしまっている
Rustがunsafeな理由の1つはこの動機の部分に潜在的な問題があるってことw
別にunsafe自体はRustが作ったわけじゃないよw
C#が大昔にunmagedなコードを呼び出すために開発した
Rust同様に別にどこまでも範囲は広げられる
Javaもnativeってあるよね
この2つは基本的にVMが保証している枠組みを外れる部分に対して使用されてるので、VM内のコードが実行される限り、使う動機が発生しない
対してRustは安全を担保するための所有権の仕組みを逃れるためなど、unsafeを使用する動機がいたるところにある
標準が提供しているライブラリが足りないこともあり、これは相当深刻な状況なわけだw
すると、両者が意味するunsafeな部分の意味が大きく変わってくる。
簡単に言えば原則safeな部分を書き換えるためにunsafeが使用されないかどうかの違いw
残念ながらRustは安全を担保するための所有権の仕組みを逃れるためなどの理由でsafeな部分を書き換えるためにunsafeが使用されてしまっている
Rustがunsafeな理由の1つはこの動機の部分に潜在的な問題があるってことw
390デフォルトの名無しさん
2022/03/12(土) 00:07:08.44ID:H1575t4R unsafeの話はマジで意味不明なイチャモンでしかないな
25860の方がよっぽどやべえだろっていう
25860の方がよっぽどやべえだろっていう
391デフォルトの名無しさん
2022/03/12(土) 00:10:33.34ID:MeH0OP6r392デフォルトの名無しさん
2022/03/12(土) 00:11:14.62ID:8rIifBup >>389
tokioやmioがunsafe使ってるのは所有権の仕組みを逃れることが主な理由だと思っている?
tokioやmioがunsafe使ってるのは所有権の仕組みを逃れることが主な理由だと思っている?
393デフォルトの名無しさん
2022/03/12(土) 00:40:06.84ID:aEfI8PjB unsafeはなければ未定義動作が発生しないと仮定できるw
RustだけでなくVMで動いてるものは当然メモリ安全だって仮定できるw
Rustの場合は特性としてnativeであり所有権に制限を付けることで、パフォーマンスへの影響が少ない形で安全を仮定でき、さらにデータ競合がないことも仮定できるのが有利なところw
ただ、unsafeがあるだけでそこは無制限に全て瓦解してしまうんだよねw
そして付けた制限に対する回避のためにunsafeを使用するという潜在的な問題があり、さらに標準の機能不足により、unsafe増加が加速し、収拾がつかない大☢UNSAFE☢時代に突入しているわけだw
Rust is ☢UNSAFE☢! おーまいが!
RustだけでなくVMで動いてるものは当然メモリ安全だって仮定できるw
Rustの場合は特性としてnativeであり所有権に制限を付けることで、パフォーマンスへの影響が少ない形で安全を仮定でき、さらにデータ競合がないことも仮定できるのが有利なところw
ただ、unsafeがあるだけでそこは無制限に全て瓦解してしまうんだよねw
そして付けた制限に対する回避のためにunsafeを使用するという潜在的な問題があり、さらに標準の機能不足により、unsafe増加が加速し、収拾がつかない大☢UNSAFE☢時代に突入しているわけだw
Rust is ☢UNSAFE☢! おーまいが!
394デフォルトの名無しさん
2022/03/12(土) 00:42:18.98ID:aEfI8PjB Rustが安全だというなら、cargo geigerで☢がない状態にしてから言ってくださいねw
395デフォルトの名無しさん
2022/03/12(土) 04:41:10.84ID:VHcg50GX cargo geigerの存在がRustがベターであることを証明してて笑える
396デフォルトの名無しさん
2022/03/12(土) 05:34:45.69ID:aEfI8PjB そういうのは他の言語なら機能性だけで分かるし、nativeならnativeで閉じてるから安心できるんですよね
でも何度も言うようにRustは何をしなくとも自らunsafeを入れてしまうので調べないと分からないw
しかも使い方的にその場所だけに閉じないため、☢UNSAFE☢を実感できてしまうとw
でも何度も言うようにRustは何をしなくとも自らunsafeを入れてしまうので調べないと分からないw
しかも使い方的にその場所だけに閉じないため、☢UNSAFE☢を実感できてしまうとw
397デフォルトの名無しさん
2022/03/12(土) 05:59:42.83ID:BRIbIkNq なんかやばい奴いるね
398デフォルトの名無しさん
2022/03/12(土) 06:05:00.96ID:EqbJSpHR かまってちゃんおじさんだよ
399デフォルトの名無しさん
2022/03/12(土) 06:28:17.65ID:aEfI8PjB ついにただ煽るだけの人まで現れたw これがRust品質w
400デフォルトの名無しさん
2022/03/12(土) 07:31:15.18ID:p6j9TyDJ C#おじ芸風変えてきたの?
401デフォルトの名無しさん
2022/03/12(土) 07:37:25.45ID:aEfI8PjB どのレスを指してるのか知らんが、俺を指して言ってるなら人違いw
ってか煽ってるだけで何もできなそうな奴多すぎw
芸風とかどうでもいいし、それを気にするならお前の芸風がキモいだけw
ってか煽ってるだけで何もできなそうな奴多すぎw
芸風とかどうでもいいし、それを気にするならお前の芸風がキモいだけw
402デフォルトの名無しさん
2022/03/12(土) 07:38:35.78ID:N7+EgIAn 人を煽るくせに自分が煽られるとすぐ被害者面するの、かまってちゃんおじさんの平常運転です
403デフォルトの名無しさん
2022/03/12(土) 07:45:19.39ID:aEfI8PjB ID変えて大変だねw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
404デフォルトの名無しさん
2022/03/12(土) 08:05:59.99ID:p6j9TyDJ 必死だな
405デフォルトの名無しさん
2022/03/12(土) 08:10:52.33ID:aEfI8PjB 流そうとして必死なのはお前w 俺はもう飽きてるぞw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
406デフォルトの名無しさん
2022/03/12(土) 08:13:04.53ID:EqbJSpHR そこまでして構ってほしいのか
407デフォルトの名無しさん
2022/03/12(土) 08:13:48.07ID:v+mpYErf あーあ壊れちゃった
408デフォルトの名無しさん
2022/03/12(土) 08:14:09.67ID:aEfI8PjB 飽きすぎたわw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
409デフォルトの名無しさん
2022/03/12(土) 08:23:02.74ID:4DPn029u 荒らしにとって一番辛いのは叩かれることじゃなくて無視されること
NGにすればいいけど、もっといいのは違うかまってちゃんを全員が構うようになるとそうとう辛いw
NGにすればいいけど、もっといいのは違うかまってちゃんを全員が構うようになるとそうとう辛いw
410デフォルトの名無しさん
2022/03/12(土) 08:24:36.31ID:aEfI8PjB 荒らしじゃないんだよなぁ・・・俺だけだよ。本当にRustの話してるのw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
411デフォルトの名無しさん
2022/03/12(土) 08:33:16.69ID:p6j9TyDJ > もっといいのは違うかまってちゃんを
複製おじですか
複製おじですか
412デフォルトの名無しさん
2022/03/12(土) 08:35:57.42ID:SV7jSkht やっぱワッチョイ入れるべきだったんだよ
413デフォルトの名無しさん
2022/03/12(土) 08:44:33.37ID:aEfI8PjB もう20レスくらい俺以外Rustのラの字もないなw
ワッチョイ入れてもねぇw NGとかなかなかしないんよねw しかも俺結構大手のプロバイダだから多分被るよw
俺には関係ないからどうでもいいけどw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
ワッチョイ入れてもねぇw NGとかなかなかしないんよねw しかも俺結構大手のプロバイダだから多分被るよw
俺には関係ないからどうでもいいけどw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
414デフォルトの名無しさん
2022/03/12(土) 08:52:13.10ID:SV7jSkht ワッチョイ入れてほしくないんだね
415デフォルトの名無しさん
2022/03/12(土) 09:02:02.69ID:aEfI8PjB ワッチョイなんて俺には何の関係もないんだがw
俺が言うのもなんなんだが、Rustに関係のない話はやめた方がええでw
現状Rustというゴミ言語は俺にすら有効性を認めさせられないってことで、世間に広まるのは夢のまた夢なんだよなぁ・・・
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
俺が言うのもなんなんだが、Rustに関係のない話はやめた方がええでw
現状Rustというゴミ言語は俺にすら有効性を認めさせられないってことで、世間に広まるのは夢のまた夢なんだよなぁ・・・
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
416デフォルトの名無しさん
2022/03/12(土) 10:04:24.24ID:ThmhmMsv Rustが一部の高齢(脳年齢)エンジニアを狂わせるunsafeな言語であることが示されつつあるな
Rustがunsafeなのか高齢エンジニアがunsafeなのかは意見が分かれそうだが導入するときは要注意かもしれない
Rustがunsafeなのか高齢エンジニアがunsafeなのかは意見が分かれそうだが導入するときは要注意かもしれない
417デフォルトの名無しさん
2022/03/12(土) 10:13:42.44ID:aEfI8PjB 裏ではtokio使って、非同期でも何でも簡単に使えます!安全です!とか他スレでホラ吹きまくってるからだろw
嘘をついてまで他スレに喧伝までしてなければ誰も叩いたりはしない
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
嘘をついてまで他スレに喧伝までしてなければ誰も叩いたりはしない
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
418デフォルトの名無しさん
2022/03/12(土) 11:04:21.69ID:JxEFMwOe 実際はRust以外がunsafeで、Rustは一部safeなところがあるだけだけどね
高齢者はみんなcでunsafeに慣れてるから、Rust使わんでもunsafeだよ
高齢者はみんなcでunsafeに慣れてるから、Rust使わんでもunsafeだよ
419デフォルトの名無しさん
2022/03/12(土) 11:20:44.14ID:hAWsDuYe rustだけやってりゃいいとか言ってる奴は100%老害化するよ。
420デフォルトの名無しさん
2022/03/12(土) 12:04:42.93ID:aEfI8PjB Rust以外がunsafeは嘘w C/C++などの古い言語は全部unsafe w
ただRustもunsafeな領域を人間には確実に限定できないので、☢があれば実質全部unsafe w
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
ただRustもunsafeな領域を人間には確実に限定できないので、☢があれば実質全部unsafe w
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
421デフォルトの名無しさん
2022/03/12(土) 12:18:34.97ID:ARhhT+a7 >>420
無知すぎるな
geigerは標準ライブラリを調べていない
そしてRustの標準ライブラリの中はもちろんunsafeだらけ
それなのにgeigerは一番肝心な標準ライブラリを調べていない
それはなぜか?
unsafeの正しい使用には全く問題がないからだ
unsafeを使ってそれを内部に閉じ込めて外部に安全なインタフェースのみ提供する
標準ライブラリを含めてライブラリはこの安全なインタフェースを提供している
無知すぎるな
geigerは標準ライブラリを調べていない
そしてRustの標準ライブラリの中はもちろんunsafeだらけ
それなのにgeigerは一番肝心な標準ライブラリを調べていない
それはなぜか?
unsafeの正しい使用には全く問題がないからだ
unsafeを使ってそれを内部に閉じ込めて外部に安全なインタフェースのみ提供する
標準ライブラリを含めてライブラリはこの安全なインタフェースを提供している
422デフォルトの名無しさん
2022/03/12(土) 12:37:50.92ID:aEfI8PjB423デフォルトの名無しさん
2022/03/12(土) 12:45:28.26ID:8rIifBup rustは "安全な言語" じゃなくて "比較的安全なシステムプログラミング言語" だよ
議論のポイントがずれている
議論のポイントがずれている
424デフォルトの名無しさん
2022/03/12(土) 12:50:29.49ID:VHcg50GX unsafeを混在させたくないなら自分で書けばいいだけだよ
その選択ができることが他所とは違うところ
その選択ができることが他所とは違うところ
425デフォルトの名無しさん
2022/03/12(土) 12:53:38.99ID:ARhhT+a7 >>422
愚かだな
どのプログラミング言語においても標準ライブラリに問題が発見されて修整されてが繰り返されてきた
標準ライブラリとなっけられているからといって100%信用できるわけがない
そこには何も保証がない
一方でRustならば標準か否かに関係なく保証ができる
unsafeを利用して安全なインタフェースを作った部分のみ人間がチェックすればライブラリ全体の安全性はRustの言語が保証できる
Rust以外の言語はライブラリ全体を人間がチェックしなければならない
Rustがこの点で全ての言語に対して優れていることは誰の目にも明らかだ
愚かだな
どのプログラミング言語においても標準ライブラリに問題が発見されて修整されてが繰り返されてきた
標準ライブラリとなっけられているからといって100%信用できるわけがない
そこには何も保証がない
一方でRustならば標準か否かに関係なく保証ができる
unsafeを利用して安全なインタフェースを作った部分のみ人間がチェックすればライブラリ全体の安全性はRustの言語が保証できる
Rust以外の言語はライブラリ全体を人間がチェックしなければならない
Rustがこの点で全ての言語に対して優れていることは誰の目にも明らかだ
426デフォルトの名無しさん
2022/03/12(土) 13:01:02.47ID:6Ov0/1Y8 で、おまえその優れた言語で何か書いてんの?え?actixのサーバー?コマンドラインのプログラム?(笑)
427デフォルトの名無しさん
2022/03/12(土) 13:08:00.19ID:aEfI8PjB428デフォルトの名無しさん
2022/03/12(土) 13:10:43.13ID:4DPn029u429デフォルトの名無しさん
2022/03/12(土) 13:17:12.35ID:VHcg50GX 他所とは違う点は認めるのね
430デフォルトの名無しさん
2022/03/12(土) 13:22:49.30ID:aEfI8PjB431デフォルトの名無しさん
2022/03/12(土) 13:39:59.72ID:ytaUV4Dx 安全第一 品質第二
今日も一日ご安全に
今日も一日ご安全に
432デフォルトの名無しさん
2022/03/12(土) 14:25:52.99ID:lQEaAeiN (unsafeじゃないから)ヨシッ
433デフォルトの名無しさん
2022/03/12(土) 14:33:29.78ID:aEfI8PjB434デフォルトの名無しさん
2022/03/12(土) 14:34:41.57ID:aEfI8PjB >>312だったw
435デフォルトの名無しさん
2022/03/12(土) 14:42:01.36ID:ARhhT+a7436デフォルトの名無しさん
2022/03/12(土) 14:48:42.84ID:aEfI8PjB437デフォルトの名無しさん
2022/03/12(土) 14:49:50.97ID:AVqesmXc 次スレワッチョイつけてくれや
マジでうっとおしい
マジでうっとおしい
438デフォルトの名無しさん
2022/03/12(土) 14:53:48.90ID:aEfI8PjB #![forbid(unsafe_code)]
fn main() { maybe_safe::read_address_4byte(0); }
(unsafeじゃないから)ヨシッ
∧ /ヽ
// ̄ ̄\|
∠_╋__〉
/ @八@ ヽ _
工ニf(_人_)エ二|′)ヽ
\ヽヽノノ ノ ヘ |
⊂⌒)_>―――′イ (_)
`ー、_ノ/ ̄ヽ |
_|| | |
( 人_ノ Λ
\ス ̄ ̄レ-Λ \
( ̄ ) / / \ノ\
 ̄ ̄ ( ヽ \_)
\ノ
※全文は>>312参照
fn main() { maybe_safe::read_address_4byte(0); }
(unsafeじゃないから)ヨシッ
∧ /ヽ
// ̄ ̄\|
∠_╋__〉
/ @八@ ヽ _
工ニf(_人_)エ二|′)ヽ
\ヽヽノノ ノ ヘ |
⊂⌒)_>―――′イ (_)
`ー、_ノ/ ̄ヽ |
_|| | |
( 人_ノ Λ
\ス ̄ ̄レ-Λ \
( ̄ ) / / \ノ\
 ̄ ̄ ( ヽ \_)
\ノ
※全文は>>312参照
439デフォルトの名無しさん
2022/03/12(土) 14:59:12.25ID:VHcg50GX だから、比較的安全、ということでいいでしょ
オフィシャルも含めてそれはみな承知のことだよ
オフィシャルも含めてそれはみな承知のことだよ
440デフォルトの名無しさん
2022/03/12(土) 15:04:06.13ID:aEfI8PjB 比較的安全という「希望的推測ができる」だけで、実際にはC/C++と全く変わらないw
前にも言ったけど、ミニマムなunsafe領域を含む「設計意図としてのunsafe」が示せるだけw
前にも言ったけど、ミニマムなunsafe領域を含む「設計意図としてのunsafe」が示せるだけw
441デフォルトの名無しさん
2022/03/12(土) 15:17:24.76ID:VHcg50GX 全く変わらないというのは、同じものを同じ人がCとRustで書いたとき、問題が起きる確率は変わらないだろうということ?
442デフォルトの名無しさん
2022/03/12(土) 15:24:02.56ID:ARhhT+a7 >>440
違いを理解しよう
C/C++では安全性の保証は無し
ライブラリ含めて全てのプログラムに対して相互に関係する影響について人間が全てチェックしなければならない
Rustでは言語がすなわちコンパイラが安全性の保証をすることができる
unsafeを使った部分のみその影響範囲が閉じていることを人間がチェックするだけでよい
違いを理解しよう
C/C++では安全性の保証は無し
ライブラリ含めて全てのプログラムに対して相互に関係する影響について人間が全てチェックしなければならない
Rustでは言語がすなわちコンパイラが安全性の保証をすることができる
unsafeを使った部分のみその影響範囲が閉じていることを人間がチェックするだけでよい
443デフォルトの名無しさん
2022/03/12(土) 16:06:48.08ID:aEfI8PjB 作り方の問題で言語の理解がしっかりしてればどちらも同じように出来るw
機械的な保証があるかないかが問題で、その分はunsafeがある時点で保証できなくなるだけw
ただし、Rustには作り方に制限があるため、その作法でC/C++が実装された場合の話にはなる、というだけの話w
C/C++で作法を守らない部分の責任は人間側で負う必要があるw
C/C++とRustどちらも保証はできないw
機械的な保証があるかないかが問題で、その分はunsafeがある時点で保証できなくなるだけw
ただし、Rustには作り方に制限があるため、その作法でC/C++が実装された場合の話にはなる、というだけの話w
C/C++で作法を守らない部分の責任は人間側で負う必要があるw
C/C++とRustどちらも保証はできないw
444デフォルトの名無しさん
2022/03/12(土) 16:09:18.50ID:gqCw8ds0 Unsafe使ってたらSafeじゃない理論ってC#でもFFI使ってたらUnsafeってことでいいの?
445デフォルトの名無しさん
2022/03/12(土) 16:28:56.66ID:aEfI8PjB C#はunmanagedなコード以外でunsafeを使用する動機がないので懸念点がない上に、外部の何かへのアクセスが前提で、managedなオブジェクトの書き換えはあまり発生しない。
例外的にmanagedなオブジェクトを書き換える場合でも、unmanagedコードがロジック自体を持たないのが普通。
他方Rustは所有権の制限を適用しない目的などでオブジェクトを書き換えるため、それ自体がロジックの一部となっている。
例えば他のライブラリやシステムコールを利用してるなど、明確に分かるものがあればまだいいが、そういうのがないただのデータ構造に対するロジックなどにもunsafeが適用されるため、利用者側からは想定すらできず、それらを発見するためのツールが必要になってる状況も踏まえ、事態は深刻である。
そして多すぎるunsafeのせいで、それらを利用者側が正確に分類・把握できない、もしくは気付いてすらいないのが現状w
実験室向けの簡単なコードならそれでよくとも、製品レベルのコードでそれは致命的であるため、安易な「安全宣言」は悲劇しか生まないw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
例外的にmanagedなオブジェクトを書き換える場合でも、unmanagedコードがロジック自体を持たないのが普通。
他方Rustは所有権の制限を適用しない目的などでオブジェクトを書き換えるため、それ自体がロジックの一部となっている。
例えば他のライブラリやシステムコールを利用してるなど、明確に分かるものがあればまだいいが、そういうのがないただのデータ構造に対するロジックなどにもunsafeが適用されるため、利用者側からは想定すらできず、それらを発見するためのツールが必要になってる状況も踏まえ、事態は深刻である。
そして多すぎるunsafeのせいで、それらを利用者側が正確に分類・把握できない、もしくは気付いてすらいないのが現状w
実験室向けの簡単なコードならそれでよくとも、製品レベルのコードでそれは致命的であるため、安易な「安全宣言」は悲劇しか生まないw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
446デフォルトの名無しさん
2022/03/12(土) 16:29:32.03ID:ThmhmMsv C#はFFI使わなくてもぬるぽ(ぬるり?)できるから最初からunsafeかと
せぐふぉじゃなければセーフというなら話は別だけど
Rustはunsafeな範囲を可視化できてその範囲指定が正しいことを機械的に保証できるから
C/C++に比べて比較的安全(安全性を担保しやすい)って話なんだけど
0か100でしか考えない人間にはこの差が見えないのかもしれないな
せぐふぉじゃなければセーフというなら話は別だけど
Rustはunsafeな範囲を可視化できてその範囲指定が正しいことを機械的に保証できるから
C/C++に比べて比較的安全(安全性を担保しやすい)って話なんだけど
0か100でしか考えない人間にはこの差が見えないのかもしれないな
447デフォルトの名無しさん
2022/03/12(土) 16:33:40.22ID:aEfI8PjB 「Rustはunsafeな範囲を可視化できてその範囲指定が正しいことを機械的に保証でき」ないのですよw
機械的に保証できるのは俺の言い方だとミニマムな部分だけw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
機械的に保証できるのは俺の言い方だとミニマムな部分だけw
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
448デフォルトの名無しさん
2022/03/12(土) 16:39:30.29ID:VHcg50GX 変な言い回しするから言いたいことがよく分からない
自分でunsafe書いてなくても、依存関係がunsafeを濫用してたらアプリケーション全体としてはunsafeじゃないか
という主張なんだよねたぶん
自分でunsafe書いてなくても、依存関係がunsafeを濫用してたらアプリケーション全体としてはunsafeじゃないか
という主張なんだよねたぶん
449デフォルトの名無しさん
2022/03/12(土) 16:51:59.88ID:aEfI8PjB 俺の主張の大事な点は2つだよ
・安全とするにはunsafeと宣言すべき関数を機械的に決めることが出来ない
・安全のために所有権に厳しい制約を課しているが、その厳しさからunsafeを使う動機が常に言語内にある
これらから導かれる推測は多岐にわたるけど、分かりやすい結論として
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
という警鐘を鳴らしているだけw
・安全とするにはunsafeと宣言すべき関数を機械的に決めることが出来ない
・安全のために所有権に厳しい制約を課しているが、その厳しさからunsafeを使う動機が常に言語内にある
これらから導かれる推測は多岐にわたるけど、分かりやすい結論として
Run cargo-geiger!
💀💀💀☢☢☢☢💀💀💀 !!!! Rust is ☢UNSAFE☢ !!!! 💀💀💀☢☢☢☢💀💀💀
という警鐘を鳴らしているだけw
450デフォルトの名無しさん
2022/03/12(土) 16:57:57.83ID:VHcg50GX 一つ目言ってる意味がもう分からないんだけど
普通に言ってくれ
普通に言ってくれ
451デフォルトの名無しさん
2022/03/12(土) 16:59:02.17ID:VHcg50GX わっチョイの議論が出てるけど個人的には過疎るから賛成できない
この人は語尾wでNGすればいいだけと思う
この人は語尾wでNGすればいいだけと思う
452デフォルトの名無しさん
2022/03/12(土) 17:05:16.49ID:aEfI8PjB >>450
普通に言った。何が分からないのか言ってくれw
普通に言った。何が分からないのか言ってくれw
453デフォルトの名無しさん
2022/03/12(土) 17:10:56.57ID:cQ3TFkgX 安全のために所有権に厳しい制約を課しているが、その厳しさからunsafeを使う動機が常に言語内にある
わからんでもないかもしれん
わからんでもないかもしれん
454デフォルトの名無しさん
2022/03/12(土) 17:38:29.48ID:olrB42jq >・安全とするにはunsafeと宣言すべき関数を機械的に決めることが出来ない
安全とするには〜する必要がある
なら分かるが、
安全とするには〜出来ない
なので主張がわからんという話でしょ
安全とするには〜する必要がある
なら分かるが、
安全とするには〜出来ない
なので主張がわからんという話でしょ
455デフォルトの名無しさん
2022/03/12(土) 17:44:06.44ID:ARhhT+a7456デフォルトの名無しさん
2022/03/12(土) 17:47:55.25ID:ARhhT+a7 >>453
その場合ですらunsafeは使っても構わない
そのunsafeを使った局所的な部分に影響が閉じ込められていて安全なインタフェースのみ公開されていればよい
そしてRustコンパイラは残り全体の安全性を保証できる
その場合ですらunsafeは使っても構わない
そのunsafeを使った局所的な部分に影響が閉じ込められていて安全なインタフェースのみ公開されていればよい
そしてRustコンパイラは残り全体の安全性を保証できる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国「国連安保理の許可なしに日本攻撃可能」 Xで旧敵国条項に言及… ★9 [BFU★]
- 【赤坂ライブハウス刺傷】逃走していた自衛官の男(43)を殺人未遂の疑いで逮捕 警視庁 被害女性とは知人関係 [Ailuropoda melanoleuca★]
- 【千葉】コンビニに尿入りペットボトル並べた疑い、26歳男「むしゃくしゃして」…購入した客が飲もうとしたところ臭いに違和感 [ぐれ★]
- 高市首相が異例の“買春行為の罰則化の検討”に言及…世界では“買う側”に罰則を科すのが先進国のスタンダード ★2 [樽悶★]
- 「ふざけんな!」 国会議員給与、『月5万円増』報道にネット騒然 「国民が物価高で困っているのに」「定数削減とか言いながら…」★2 [♪♪♪★]
- 【硬貨】500円だと思ったら「500ウォンが入っていた」価値は約10分の1 全国で飲食店などで“500ウォントラブル”相次いで報告 [ぐれ★]
