スレタイ以外の言語もok
前スレ
次世代言語27 TypeScript Swift Go Kotlin Rust Nim
https://mevius.5ch.net/test/read.cgi/tech/1659655598/
探検
次世代言語28 TypeScript Swift Go Kotlin Rust Nim
レス数が1000を超えています。これ以上書き込みはできません。
2022/08/29(月) 11:22:16.48ID:5dAad4gs
913デフォルトの名無しさん
2022/09/17(土) 10:35:04.81ID:xfq0iQEs Amazonの>>9の記事にもあるけど
Rustへ書き換えるだけだけでリソースコストや電気代それに伴うCo2排出量などが少なくとも50%は削減できる
さらにセキュリティの要請から安全性も求められている
土方でないまもともなプログラマーならばJavaでもRustでも他の言語でもプログラミングに支障なく書ける
それらの状況から選ぶべき言語がRust一択になっているだけでしょう
Rustへ書き換えるだけだけでリソースコストや電気代それに伴うCo2排出量などが少なくとも50%は削減できる
さらにセキュリティの要請から安全性も求められている
土方でないまもともなプログラマーならばJavaでもRustでも他の言語でもプログラミングに支障なく書ける
それらの状況から選ぶべき言語がRust一択になっているだけでしょう
914デフォルトの名無しさん
2022/09/17(土) 10:39:04.61ID:ktSmkMDB https://stackoverflow.com/questions/55553048/is-it-possible-to-cause-a-memory-leak-in-rust
> Is it possible to cause a memory leak in Rust?
> You can also leak memory if you create a cycle of shared references:
> You can also use Box::leak to create a static reference, or Box::into_raw in an FFI situation.
> You might've forgotten about Box::leak and Box::into_raw which are pretty common in ffi situations for passing around states.
https://doc.rust-lang.org/book/ch15-06-reference-cycles.html#reference-cycles-can-leak-memory
> Reference Cycles Can Leak Memory
> Is it possible to cause a memory leak in Rust?
> You can also leak memory if you create a cycle of shared references:
> You can also use Box::leak to create a static reference, or Box::into_raw in an FFI situation.
> You might've forgotten about Box::leak and Box::into_raw which are pretty common in ffi situations for passing around states.
https://doc.rust-lang.org/book/ch15-06-reference-cycles.html#reference-cycles-can-leak-memory
> Reference Cycles Can Leak Memory
915デフォルトの名無しさん
2022/09/17(土) 10:46:39.42ID:vRd8nzJr RustでなくVBAを使うことでエネルギー削減になることもあるな
916デフォルトの名無しさん
2022/09/17(土) 10:55:22.36ID:8assD4qG >>913
Rustを学習した人間の感想の多くが「Rustは難解」と言っているのに、「まともなプログラマなら支障なく書ける」とする根拠は?
根拠が個人の感想なら、「まともなドライバーならマニュアル車を支障なく運転できる」と言うくらい傲慢だと思うがね。
Rustを学習した人間の感想の多くが「Rustは難解」と言っているのに、「まともなプログラマなら支障なく書ける」とする根拠は?
根拠が個人の感想なら、「まともなドライバーならマニュアル車を支障なく運転できる」と言うくらい傲慢だと思うがね。
917デフォルトの名無しさん
2022/09/17(土) 10:55:41.70ID:gI44iNXP >>912
それはちょっと知識不足じゃないかしら
もし循環参照を作っちゃった場合はそれを安全に解放する局所的な方法は理論的に存在しないんですよ
GCでも局所的に解決できる参照カウント方式では循環参照を解放できないため
GCの中でも全体のマークスイープ方式や全体の使用中分コピー方式でようやく解放されます
そららは非常にコストが重いだけでなく発動までに時差もあります
したがってプログラミング言語界ではそんなコストがかかるものに依存するのではなく
最初から循環参照を作らない方向で進んでいます
そのため最近は多くの言語で弱参照がサポートされており循環参照の発生を防ぐことができます
今回の話のJavaでももちろん弱参照が用意されていて最初から循環参照を作らないようにプログラミングします
そのほうが有利だからです
それはちょっと知識不足じゃないかしら
もし循環参照を作っちゃった場合はそれを安全に解放する局所的な方法は理論的に存在しないんですよ
GCでも局所的に解決できる参照カウント方式では循環参照を解放できないため
GCの中でも全体のマークスイープ方式や全体の使用中分コピー方式でようやく解放されます
そららは非常にコストが重いだけでなく発動までに時差もあります
したがってプログラミング言語界ではそんなコストがかかるものに依存するのではなく
最初から循環参照を作らない方向で進んでいます
そのため最近は多くの言語で弱参照がサポートされており循環参照の発生を防ぐことができます
今回の話のJavaでももちろん弱参照が用意されていて最初から循環参照を作らないようにプログラミングします
そのほうが有利だからです
918デフォルトの名無しさん
2022/09/17(土) 11:04:35.77ID:ktSmkMDB >>917
C#では参照はツリーで管理されるから循環参照も問題なく一瞬で開放される
C#では参照はツリーで管理されるから循環参照も問題なく一瞬で開放される
919デフォルトの名無しさん
2022/09/17(土) 11:12:08.51ID:/Lpl+zOG >>917
Wikipediaですら「メモリ安全性」の解説でメモリリークをメモリエラーとしているのに、実装側の都合で一般に使われている用語の意味をひん曲げて「常識」とな?
そういうのが詐欺だと指摘しているだけだけどなぁ。
今度からちゃんと
「メモリ安全*」
*メモリリークを除きます。
と注釈付けろよ。
Wikipediaですら「メモリ安全性」の解説でメモリリークをメモリエラーとしているのに、実装側の都合で一般に使われている用語の意味をひん曲げて「常識」とな?
そういうのが詐欺だと指摘しているだけだけどなぁ。
今度からちゃんと
「メモリ安全*」
*メモリリークを除きます。
と注釈付けろよ。
920デフォルトの名無しさん
2022/09/17(土) 11:17:11.83ID:gI44iNXP >>918
それはC#でもJavaでもRustでも他の言語でも全て同じ方法です
どの言語も弱参照を併用して参照はツリー状のみにすることで循環参照の発生を防ぎます
もちろんそこには弱参照による弱い循環参照がありますが通常の参照はツリー状なので
おっしゃる通りに一瞬で解放することが可能です
それはC#でもJavaでもRustでも他の言語でも全て同じ方法です
どの言語も弱参照を併用して参照はツリー状のみにすることで循環参照の発生を防ぎます
もちろんそこには弱参照による弱い循環参照がありますが通常の参照はツリー状なので
おっしゃる通りに一瞬で解放することが可能です
921デフォルトの名無しさん
2022/09/17(土) 11:20:08.51ID:Qv9rB708 >>919
wikipediaのメモリ安全性のメモリリークで挙げられてる項目は循環参照によるリークは含まれてないっぽいが
https://ja.m.wikipedia.org/wiki/%E3%83%A1%E3%83%A2%E3%83%AA%E5%AE%89%E5%85%A8%E6%80%A7
wikipediaのメモリ安全性のメモリリークで挙げられてる項目は循環参照によるリークは含まれてないっぽいが
https://ja.m.wikipedia.org/wiki/%E3%83%A1%E3%83%A2%E3%83%AA%E5%AE%89%E5%85%A8%E6%80%A7
922デフォルトの名無しさん
2022/09/17(土) 11:32:35.56ID:yVMylSLT ところで所有権は複製されるってことでいいの?
923デフォルトの名無しさん
2022/09/17(土) 11:33:28.06ID:8assD4qG >>921
リンク先にある「メモリリーク」の項ぐらい読めよ。
リンク先にある「メモリリーク」の項ぐらい読めよ。
924デフォルトの名無しさん
2022/09/17(土) 11:34:17.29ID:ktSmkMDB 今時循環参照くらいでメモリリークするような言語でよく安全を名乗れたもんだ
退化してるやん
退化してるやん
925デフォルトの名無しさん
2022/09/17(土) 11:39:26.07ID:/MEkW9dR 昔は保守的GCというGCに人気があった
本当はゴミなのにゴミではないと判断することはバグではなく安全、という注釈つきのGCだった
この注釈は嘘だったという見方の方が今は優勢
本当はゴミなのにゴミではないと判断することはバグではなく安全、という注釈つきのGCだった
この注釈は嘘だったという見方の方が今は優勢
926デフォルトの名無しさん
2022/09/17(土) 11:42:22.70ID:yVMylSLT 予想される次の手:
・循環参照の矮小化
循環参照なんてめったに起こらないし
普通に書いてたら発生しようがない
・問題の転嫁
循環参照なんて書くほうが悪い
循環参照によるメモリリークなんかを問題視するほうが悪い
・飛躍した結論
とにかくRustは素晴らしい
・循環参照の矮小化
循環参照なんてめったに起こらないし
普通に書いてたら発生しようがない
・問題の転嫁
循環参照なんて書くほうが悪い
循環参照によるメモリリークなんかを問題視するほうが悪い
・飛躍した結論
とにかくRustは素晴らしい
927デフォルトの名無しさん
2022/09/17(土) 11:43:45.86ID:5J0Fty65 >>902
「この設問は」ね。だから競プロは複数言語できると面白い。
「この設問は」ね。だから競プロは複数言語できると面白い。
928デフォルトの名無しさん
2022/09/17(土) 11:45:32.10ID:bMZyj00L 今は強い循環参照を作ってしまったら負けの世界
Pythonですら強い循環参照を避けるために弱参照が用意されていて回避できる
もちろんC#やJavaにKotlinやSwiftにも弱参照が当然あって回避できる
Rustなどのように強い循環参照が自然には発生しない言語仕様だと更に良い
Pythonですら強い循環参照を避けるために弱参照が用意されていて回避できる
もちろんC#やJavaにKotlinやSwiftにも弱参照が当然あって回避できる
Rustなどのように強い循環参照が自然には発生しない言語仕様だと更に良い
929デフォルトの名無しさん
2022/09/17(土) 11:46:24.15ID:w5Ud45eS メモリ安全とは何なのがまとまってるページとかは作れないんだろうか
930デフォルトの名無しさん
2022/09/17(土) 11:48:55.60ID:5J0Fty65 >>925
Bohemとかもそうだっけ?
循環参照に関しては、確かにメモリリークだけど、危険ではないんでは?
Dangling pointerにならんかったら良いんじゃ無いかなあ。
循環参照で放置されているものの解放に時間がかかっても、別に問題ないと思うんだけどな。メモリに極端な制約がある環境下でなければ。
最初から循環参照を作らないというのは一つなんだけど、そういうわけにもいかんのよ。
最近書いたけど、グラフなオブジェクトなんかは循環参照するじゃん。
Bohemとかもそうだっけ?
循環参照に関しては、確かにメモリリークだけど、危険ではないんでは?
Dangling pointerにならんかったら良いんじゃ無いかなあ。
循環参照で放置されているものの解放に時間がかかっても、別に問題ないと思うんだけどな。メモリに極端な制約がある環境下でなければ。
最初から循環参照を作らないというのは一つなんだけど、そういうわけにもいかんのよ。
最近書いたけど、グラフなオブジェクトなんかは循環参照するじゃん。
931デフォルトの名無しさん
2022/09/17(土) 11:49:36.37ID:5J0Fty65932デフォルトの名無しさん
2022/09/17(土) 11:57:30.35ID:w5Ud45eS ようやくわかってきたよ
C 言語 に大量にある 未定義な挙動が ないことをsafeって言ってんのか
ならメモリリークっていう現象事態はたしかにsafeだ
C 言語 に大量にある 未定義な挙動が ないことをsafeって言ってんのか
ならメモリリークっていう現象事態はたしかにsafeだ
933デフォルトの名無しさん
2022/09/17(土) 12:01:39.81ID:Qv9rB708 >>923
単にメモリリークと言ったら含まれるけど、
メモリ安全性に関わるメモリリークの文脈では循環参照は言及されてなさそうなんだよね
メモリ安全性という言葉の定義だけの問題で、実用上問題になるという点ではよろしくないとは思うけど
単にメモリリークと言ったら含まれるけど、
メモリ安全性に関わるメモリリークの文脈では循環参照は言及されてなさそうなんだよね
メモリ安全性という言葉の定義だけの問題で、実用上問題になるという点ではよろしくないとは思うけど
934デフォルトの名無しさん
2022/09/17(土) 12:02:36.48ID:rp+oVngt 循環参照はコールバック等で普通に発生する
トレーシングGCでは全く何の問題にもならないから弱参照なんか使わんよ
トレーシングGCでは全く何の問題にもならないから弱参照なんか使わんよ
935デフォルトの名無しさん
2022/09/17(土) 12:05:32.37ID:w5Ud45eS ttps://doc.rust-jp.rs/book-ja/ch15-06-reference-cycles.html
循環参照は、メモリをリークすることもある
ここか
なるほど
循環参照は、メモリをリークすることもある
ここか
なるほど
936デフォルトの名無しさん
2022/09/17(土) 12:06:42.34ID:ktSmkMDB >>928
強い弱いの意味がわかってなくて草
強い弱いの意味がわかってなくて草
937デフォルトの名無しさん
2022/09/17(土) 12:07:05.26ID:8assD4qG >>931
今まである「メモリ安全性」の常識を無視して『メモリ安全性』という言葉を使わなきゃいいんだけどねぇ。
「プログラムの安全性にこだわった」くらいの宣伝ならまだわかる。
Rustはわざわざ「メモリ安全性」という言葉を使って宣伝しているんだからダメだろ。
今まである「メモリ安全性」の常識を無視して『メモリ安全性』という言葉を使わなきゃいいんだけどねぇ。
「プログラムの安全性にこだわった」くらいの宣伝ならまだわかる。
Rustはわざわざ「メモリ安全性」という言葉を使って宣伝しているんだからダメだろ。
938デフォルトの名無しさん
2022/09/17(土) 12:24:51.56ID:J+gZaL34 確定的なタイミングでトレーシングGCしてくれるようなスマートポインタって実現不可能なの?
939デフォルトの名無しさん
2022/09/17(土) 12:27:39.54ID:bwIIEGYu 勘違いしてる人がいるようなので正しい知識をまとめておきます
C++やRustのような非GC言語やリファレンスカウント方式のGC言語では(強い)循環参照の解放は原理的に不可能です
これらの言語ではデッドロック等と同様に(強い)循環参照は発生させてはいけない禁忌として扱われ発生自体を避けます
対処方法としては弱い参照を用いた弱い循環参照を用いるのが主流ですが
プログラムが自分で管理する範囲内で循環参照を作ってまとめて解放したり範囲内GCなどを用いる方式もあります
マーク&スイープ方式やコピー方式のGC言語ならば(強い)循環参照も解放することができます
ただしそれらの方式は全体空間を全てマークしたり辿ったりコピーしたりとコストが重いことの裏返しでもあります
さらにGCが起こるまで無駄にメモリを専有してしまう問題もあります
そのためこれらの方式のGC言語でも弱参照が用意されて(強い)循環参照を作らないようにすることが一般化しつつあります
C++やRustのような非GC言語やリファレンスカウント方式のGC言語では(強い)循環参照の解放は原理的に不可能です
これらの言語ではデッドロック等と同様に(強い)循環参照は発生させてはいけない禁忌として扱われ発生自体を避けます
対処方法としては弱い参照を用いた弱い循環参照を用いるのが主流ですが
プログラムが自分で管理する範囲内で循環参照を作ってまとめて解放したり範囲内GCなどを用いる方式もあります
マーク&スイープ方式やコピー方式のGC言語ならば(強い)循環参照も解放することができます
ただしそれらの方式は全体空間を全てマークしたり辿ったりコピーしたりとコストが重いことの裏返しでもあります
さらにGCが起こるまで無駄にメモリを専有してしまう問題もあります
そのためこれらの方式のGC言語でも弱参照が用意されて(強い)循環参照を作らないようにすることが一般化しつつあります
940デフォルトの名無しさん
2022/09/17(土) 12:35:09.02ID:w5Ud45eS >>939
ちなみに誰が勘違いしてんの?
ちなみに誰が勘違いしてんの?
941デフォルトの名無しさん
2022/09/17(土) 12:37:10.60ID:8assD4qG942デフォルトの名無しさん
2022/09/17(土) 12:39:43.66ID:vRd8nzJr >>939
ちょっと本垢でQiitaにでも書いてくれマサカリ投げに行くから
ちょっと本垢でQiitaにでも書いてくれマサカリ投げに行くから
943デフォルトの名無しさん
2022/09/17(土) 13:12:35.27ID:5J0Fty65944デフォルトの名無しさん
2022/09/17(土) 13:18:40.25ID:Ct2ljdlf >>938
無理だよ
だから各言語は現実的な対応をとってる
例えばC++のshared_ptrでも循環参照を起こしたらメモリ解放できない
回避策は強い循環参照を作らないようにweak_ptrを使う
Rustでは意図的に頑張らない限り循環参照が勝手に作られることはないけど
同様に参照をWeakにできるからメモリ解放可能な弱参照を用いた循環参照にして扱う
これはARC方式のSwiftでも同様で循環参照を起こしたらメモリ解放できない
Swiftでもweak宣言で弱参照にできるので解放できない循環参照を避けられる
いずれの言語もほぼ同じ仕組み
無理だよ
だから各言語は現実的な対応をとってる
例えばC++のshared_ptrでも循環参照を起こしたらメモリ解放できない
回避策は強い循環参照を作らないようにweak_ptrを使う
Rustでは意図的に頑張らない限り循環参照が勝手に作られることはないけど
同様に参照をWeakにできるからメモリ解放可能な弱参照を用いた循環参照にして扱う
これはARC方式のSwiftでも同様で循環参照を起こしたらメモリ解放できない
Swiftでもweak宣言で弱参照にできるので解放できない循環参照を避けられる
いずれの言語もほぼ同じ仕組み
945デフォルトの名無しさん
2022/09/17(土) 13:55:15.51ID:Dua3tl/G >>944 >Rustでは意図的に頑張らない限り循環参照が勝手に作られることはない
よくわからないので聞くけど、
Rustでは意図的に頑張れば、Weakにせずに循環参照データ構造を定義してzeroじゃない実データ構築をするコードがコンパイル通るの?
よくわからないので聞くけど、
Rustでは意図的に頑張れば、Weakにせずに循環参照データ構造を定義してzeroじゃない実データ構築をするコードがコンパイル通るの?
946デフォルトの名無しさん
2022/09/17(土) 13:59:18.77ID:8assD4qG >>943
ならトップページに「Rustにおけるメモリ安全性」として「*メモリリークは除く」くらいはやらないと優良誤認だろ。
ならトップページに「Rustにおけるメモリ安全性」として「*メモリリークは除く」くらいはやらないと優良誤認だろ。
947デフォルトの名無しさん
2022/09/17(土) 14:14:04.83ID:Qv9rB708948デフォルトの名無しさん
2022/09/17(土) 14:16:59.16ID:Dua3tl/G >>947 ありがとう
949デフォルトの名無しさん
2022/09/17(土) 14:26:47.74ID:Dua3tl/G >>945
https://play.rust-lang.org/?version=stable&mode=release&edition=2021&gist=0d4932743de9a2d3f91b215fe3a4757b
>最後のprintln!のコメントを外してプログラムを実行したら、aがbを指して、bがaを指してと、 スタックがオーバーフローするまでコンパイラはこの循環を出力しようとするでしょう。
確かに
thread 'main' has overflowed its stack
fatal runtime error: stack overflow
timeout: the monitored command dumped core
https://play.rust-lang.org/?version=stable&mode=release&edition=2021&gist=0d4932743de9a2d3f91b215fe3a4757b
>最後のprintln!のコメントを外してプログラムを実行したら、aがbを指して、bがaを指してと、 スタックがオーバーフローするまでコンパイラはこの循環を出力しようとするでしょう。
確かに
thread 'main' has overflowed its stack
fatal runtime error: stack overflow
timeout: the monitored command dumped core
950デフォルトの名無しさん
2022/09/17(土) 14:30:22.04ID:Qv9rB708 >>937
循環参照によるリークを含むようにメモリ安全性を定義してる文献ってある?
Wikipediaの定義ではメモリリークという分類はあるけど、
"メモリ使用量が追跡されていない又は誤って追跡されている場合"
と説明されていて、前者は当てはまらないし、後者はダングリングポインタなどを意図しているようで、循環参照は含まないように読める
SwiftやChromeやAOSPやDのメモリ安全性に関するドキュメントでもメモリリークについては触れられていないようだった
循環参照によるリークを含むようにメモリ安全性を定義してる文献ってある?
Wikipediaの定義ではメモリリークという分類はあるけど、
"メモリ使用量が追跡されていない又は誤って追跡されている場合"
と説明されていて、前者は当てはまらないし、後者はダングリングポインタなどを意図しているようで、循環参照は含まないように読める
SwiftやChromeやAOSPやDのメモリ安全性に関するドキュメントでもメモリリークについては触れられていないようだった
951デフォルトの名無しさん
2022/09/17(土) 14:33:34.46ID:Dua3tl/G >>949
[BUILD]にしてみたが「循環しるよ」的なwarningはないのね
[BUILD]にしてみたが「循環しるよ」的なwarningはないのね
952デフォルトの名無しさん
2022/09/17(土) 14:37:56.61ID:Dua3tl/G953デフォルトの名無しさん
2022/09/17(土) 14:42:00.12ID:Dua3tl/G 潜伏した循環参照が後々深刻な事態になるかどうかは別の話だが
Rustだからと言って、コンパイル通ったからと言って、油断は禁物で
Rustだからと言って、コンパイル通ったからと言って、油断は禁物で
954デフォルトの名無しさん
2022/09/17(土) 14:43:28.60ID:Dua3tl/G 「常識」でしょw
955デフォルトの名無しさん
2022/09/17(土) 14:44:11.19ID:EEEbWrXO956デフォルトの名無しさん
2022/09/17(土) 15:27:41.65ID:lGXhfZzC すげーくだらないことで盛り上がってんなw
さすが次世代w言語wwスレwww
さすが次世代w言語wwスレwww
957デフォルトの名無しさん
2022/09/17(土) 15:28:08.55ID:5J0Fty65 メモリリークだけでは安全性には差し障らんでしょ。一般的に。
スタック、ヒープが枯渇することはメモリ安全性に差し障るけど。
リークしてるけど走りきった、とか、GCがまとめて解放した、はセーフだと思うよ。
スタック、ヒープが枯渇することはメモリ安全性に差し障るけど。
リークしてるけど走りきった、とか、GCがまとめて解放した、はセーフだと思うよ。
958デフォルトの名無しさん
2022/09/17(土) 15:58:19.63ID:8assD4qG959デフォルトの名無しさん
2022/09/17(土) 16:03:03.55ID:37/3YRxM >>957
いやメモリリークはDoS攻撃に対する脆弱性になりうるから安全性に差し障るよ
いやメモリリークはDoS攻撃に対する脆弱性になりうるから安全性に差し障るよ
960デフォルトの名無しさん
2022/09/17(土) 16:11:02.02ID:Qv9rB708 >>958
「メモリ安全性」という用語の定義の話に変な造語持ち込んで話題そらすのやめてよ
Rustによるメモリ安全性の定義が俺俺というなら、ちゃんとした定義を示して欲しいな
「常識だから分かるでしょ?」というのは自分の思いの表明にしかならないよ
「メモリ安全性」という用語の定義の話に変な造語持ち込んで話題そらすのやめてよ
Rustによるメモリ安全性の定義が俺俺というなら、ちゃんとした定義を示して欲しいな
「常識だから分かるでしょ?」というのは自分の思いの表明にしかならないよ
961デフォルトの名無しさん
2022/09/17(土) 16:15:15.87ID:EEEbWrXO962デフォルトの名無しさん
2022/09/17(土) 16:22:09.35ID:8assD4qG >>957
だとするとRustで常駐系のプログラムの開発をするのは安全では無いですな。
常駐系プログラムがメモリを食い潰すのは良くあるバグだけど、Rustだとそれは「仕様」で「メモリ安全の対象外」なんだから。
まぁ、Rcの循環参照だけの話だから、外部のコードを含めてRc使っていないor循環参照していないことを検証できれば安全なんだろうけど、Rustファンが言うような「Rustを使えば安全」というようなことは無い。
>>960
素直にWikipediaの「RAMアクセス時に発生するバグやセキュリティホールなどから保護されている状態のこと」でいいだろ。
Rust公式はなんて定義しているの?>>931は定義じゃないよな。
だとするとRustで常駐系のプログラムの開発をするのは安全では無いですな。
常駐系プログラムがメモリを食い潰すのは良くあるバグだけど、Rustだとそれは「仕様」で「メモリ安全の対象外」なんだから。
まぁ、Rcの循環参照だけの話だから、外部のコードを含めてRc使っていないor循環参照していないことを検証できれば安全なんだろうけど、Rustファンが言うような「Rustを使えば安全」というようなことは無い。
>>960
素直にWikipediaの「RAMアクセス時に発生するバグやセキュリティホールなどから保護されている状態のこと」でいいだろ。
Rust公式はなんて定義しているの?>>931は定義じゃないよな。
963デフォルトの名無しさん
2022/09/17(土) 17:12:30.63ID:Y2R7c2nA 「定義」や「常識」「一般的に」の話とは別だが、このスレ見てる個人的印象だと、
Rustで宣伝商売したい人たちは、Rustを知らない人(意思決定者)が「メモリ安全性」を「優良誤認」(自己責任)するのを密かに期待してそう
Rustプログラマーはそうじゃないと言い切れるのか
Rustで宣伝商売したい人たちは、Rustを知らない人(意思決定者)が「メモリ安全性」を「優良誤認」(自己責任)するのを密かに期待してそう
Rustプログラマーはそうじゃないと言い切れるのか
964デフォルトの名無しさん
2022/09/17(土) 17:14:19.56ID:d1cxOtJi965デフォルトの名無しさん
2022/09/17(土) 17:28:19.48ID:HhHvs5OG966デフォルトの名無しさん
2022/09/17(土) 17:33:54.35ID:F49YQPus >>925
今はしらんがrubyのgcも保守的gcだったよ。
今はしらんがrubyのgcも保守的gcだったよ。
967デフォルトの名無しさん
2022/09/17(土) 17:35:17.75ID:F49YQPus >>934
じゃあなんで弱参照が用意されてるんですかねぇ?
じゃあなんで弱参照が用意されてるんですかねぇ?
968デフォルトの名無しさん
2022/09/17(土) 17:40:51.90ID:nFfh6PUY969デフォルトの名無しさん
2022/09/17(土) 17:42:57.37ID:Qv9rB708 >>962
メモリ安全性に循環参照によるメモリリークの抑止が含まれないことは認めてくれた感じかな?
Rustを使えば絶対安全とか言ってる人の言うことを信じるのは良くないよ
匿名掲示板の変な人の発言じゃなくてちやんとしたドキュメントを読んだ方が良い
Rustはメモリ安全性について独自の定義はしてなくて、Wikipediaに書かれているような意味でのメモリ安全性を保証するよ
メモリ安全性に循環参照によるメモリリークの抑止が含まれないことは認めてくれた感じかな?
Rustを使えば絶対安全とか言ってる人の言うことを信じるのは良くないよ
匿名掲示板の変な人の発言じゃなくてちやんとしたドキュメントを読んだ方が良い
Rustはメモリ安全性について独自の定義はしてなくて、Wikipediaに書かれているような意味でのメモリ安全性を保証するよ
970デフォルトの名無しさん
2022/09/17(土) 17:46:34.02ID:37/3YRxM971デフォルトの名無しさん
2022/09/17(土) 17:54:50.07ID:8assD4qG972970
2022/09/17(土) 17:57:12.28ID:37/3YRxM なお、トレーシングGCにおいて循環強参照を避けることを目的に弱参照を使用することは全く何の意味もない
トレーシングGCのアルゴリズムを知っていれば循環強参照がGCのパフォーマンスやメモリ効率を悪化させることが無いのは明らかであるし、
弱参照の使用はレアケース故に概してあまり最適化されていないため、パフォーマンスは大抵の処理系においてむしろ悪化する
トレーシングGCのアルゴリズムを知っていれば循環強参照がGCのパフォーマンスやメモリ効率を悪化させることが無いのは明らかであるし、
弱参照の使用はレアケース故に概してあまり最適化されていないため、パフォーマンスは大抵の処理系においてむしろ悪化する
973デフォルトの名無しさん
2022/09/17(土) 18:01:07.97ID:F49YQPus GCあるほうが楽だと思うんだけど、スパイクの無いGCって実現できないの?
974デフォルトの名無しさん
2022/09/17(土) 18:02:24.90ID:cg31Hi2x >965
>Rubyよりは使われてるみたいだな
逆逆 Stackoverflowは精度がイマイチ
jetbrains
Ruby https://i.imgur.com/zqmf96u.png お一人様 7% ほとんどの人が仕事で使っている
Rust https://i.imgur.com/olB9F6L.png お一人様 86% ほとんどの人が個人の趣味
>Rubyよりは使われてるみたいだな
逆逆 Stackoverflowは精度がイマイチ
jetbrains
Ruby https://i.imgur.com/zqmf96u.png お一人様 7% ほとんどの人が仕事で使っている
Rust https://i.imgur.com/olB9F6L.png お一人様 86% ほとんどの人が個人の趣味
975デフォルトの名無しさん
2022/09/17(土) 18:03:21.53ID:8assD4qG >>969
いや?全然。
循環参照によるメモリリークはメモリエラーだろ。メモリ安全「RAMアクセス時に発生するバグやセキュリティホールなどから保護されている状態」じゃない。
それにRustファンの言うことを信じているとか、冗談を言うのはやめてくれよ。気持ち悪いから。
いや?全然。
循環参照によるメモリリークはメモリエラーだろ。メモリ安全「RAMアクセス時に発生するバグやセキュリティホールなどから保護されている状態」じゃない。
それにRustファンの言うことを信じているとか、冗談を言うのはやめてくれよ。気持ち悪いから。
976デフォルトの名無しさん
2022/09/17(土) 18:04:26.55ID:RkjWnqae977デフォルトの名無しさん
2022/09/17(土) 18:05:04.82ID:5J0Fty65 >>962
「どの言語でも基本的には、OOMキラーに殺される前にGCが走らせたり、手動でメモリーを解放できること」ができないと安全では無いんじゃないかな。なので環境依存よ。
そう、Rustを使えば安全では無い。
「どの言語でも基本的には、OOMキラーに殺される前にGCが走らせたり、手動でメモリーを解放できること」ができないと安全では無いんじゃないかな。なので環境依存よ。
そう、Rustを使えば安全では無い。
978デフォルトの名無しさん
2022/09/17(土) 18:07:30.72ID:37/3YRxM979デフォルトの名無しさん
2022/09/17(土) 18:17:28.35ID:DwuaYi+a 今回の件でGC言語がなぜ何倍も遅いのかよく分かった
世代別ガベージコレクションをするため頻繁にコピーGCを行なうことが遅くなる敗因の一つ
世代別ガベージコレクションをするため頻繁にコピーGCを行なうことが遅くなる敗因の一つ
980デフォルトの名無しさん
2022/09/17(土) 18:27:42.60ID:nd18Koff >>973
昔、ハードウェア側でGCするJVM(?)があったような…。
昔、ハードウェア側でGCするJVM(?)があったような…。
981デフォルトの名無しさん
2022/09/17(土) 18:30:08.29ID:NCiJs45P >>973
RustはGC無いけど即座に自動的にメモリ解放されて楽だよ
RustはGC無いけど即座に自動的にメモリ解放されて楽だよ
982デフォルトの名無しさん
2022/09/17(土) 18:36:24.89ID:w5Ud45eS 参照カウントって GC じゃないの?
983デフォルトの名無しさん
2022/09/17(土) 18:37:21.32ID:5PJHomtk 四天王で最弱のGC。
984デフォルトの名無しさん
2022/09/17(土) 18:37:25.76ID:DA06Eolw >>981 それの何が楽だと言っているの?
985デフォルトの名無しさん
2022/09/17(土) 18:38:14.76ID:5PJHomtk 俺の考えたGCが最強だけど、サブマリン特許やる予定だから教えない。
986デフォルトの名無しさん
2022/09/17(土) 18:39:44.29ID:iNOCwuLa はよ次スレ
987デフォルトの名無しさん
2022/09/17(土) 18:40:19.19ID:ykXCo787 GC言語を使うと大して楽になるわけではないのに劇的に遅くなるからな
無能にはGC言語が向いている
無能にはGC言語が向いている
988デフォルトの名無しさん
2022/09/17(土) 18:40:33.78ID:5J0Fty65989デフォルトの名無しさん
2022/09/17(土) 18:42:13.95ID:5PJHomtk Java製アプリはオメガテーつこてるけど、遅いとか重いとか一切ない。
サクサク快適。
だがしかし、キャレットの位置が異常なのでテキストの選択がやりにくい。
この動作はJava GUIの仕様だが、仕様が間違っていると思う。
Windowsと同じ動作にするべき。
サクサク快適。
だがしかし、キャレットの位置が異常なのでテキストの選択がやりにくい。
この動作はJava GUIの仕様だが、仕様が間違っていると思う。
Windowsと同じ動作にするべき。
990デフォルトの名無しさん
2022/09/17(土) 18:47:25.27ID:lRvi//fY >>980 次スレ気づいてない 誰か代理 俺は無理
991デフォルトの名無しさん
2022/09/17(土) 18:47:35.21ID:kG69OWVT >>982
プログラマー指定せずとも自動的に参照カウントが使われる言語(PerlとかPythonとかSwiftなど)の場合はGCで合ってるよ
C++のshared_ptrやRustのRcのように特殊な用途のみにプログラマーが明示的に指定して使うものはGCとは呼ばれず単なるデータ管理構造
プログラマー指定せずとも自動的に参照カウントが使われる言語(PerlとかPythonとかSwiftなど)の場合はGCで合ってるよ
C++のshared_ptrやRustのRcのように特殊な用途のみにプログラマーが明示的に指定して使うものはGCとは呼ばれず単なるデータ管理構造
992デフォルトの名無しさん
2022/09/17(土) 18:48:56.73ID:KEhwIc0k993デフォルトの名無しさん
2022/09/17(土) 18:51:00.89ID:fAQVBQ3R994デフォルトの名無しさん
2022/09/17(土) 18:51:29.16ID:5PJHomtk お子様 → Python
おんな → Ruby
真の男 → Rust
こう言いたいのでは?
岡くんは。
おんな → Ruby
真の男 → Rust
こう言いたいのでは?
岡くんは。
995デフォルトの名無しさん
2022/09/17(土) 18:52:46.32ID:5PJHomtk >>993
ってことは、2~3倍遅くても何も問題ないってことだろ。
ってことは、2~3倍遅くても何も問題ないってことだろ。
996デフォルトの名無しさん
2022/09/17(土) 18:55:08.60ID:5PJHomtk パイソンとかジャッカルには厨二を惹きつける響きがある。
女がなぜRubyを使いたがるのかはよく知らん。
岡くんがRust推しなのは本読んでわかった気になったから。
女がなぜRubyを使いたがるのかはよく知らん。
岡くんがRust推しなのは本読んでわかった気になったから。
997デフォルトの名無しさん
2022/09/17(土) 18:55:32.40ID:lBhMDjlR998デフォルトの名無しさん
2022/09/17(土) 18:56:42.77ID:8assD4qG 次スレはワッチョイ付けるよね。
999デフォルトの名無しさん
2022/09/17(土) 18:57:28.27ID:8assD4qG >>997
循環参照除く
循環参照除く
1000デフォルトの名無しさん
2022/09/17(土) 18:58:09.16ID:8assD4qG 1000
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 19日 7時間 35分 53秒
新しいスレッドを立ててください。
life time: 19日 7時間 35分 53秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 一律現金給付も消費減税もなし 高市内閣の経済対策に割れる世論 [蚤の市★]
- 空自機レーダー照射、音声データ公開 中国 ★3 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- 津波警報の発表中にグーグル検索、AIが「すべて解除」と誤情報 [蚤の市★]
- 【YouTuber】バイク事故で入院のゆたぼん、振込で「お見舞金」募る [muffin★]
- 低所得層のマクドナルド離れが深刻に 広がる「ファストフード格差」の真相 米国 [少考さん★]
- 中国大使さん、麻生太郎を『この政治屋』と名指しし正論長文を投稿。 [271912485]
- 【実況】博衣こよりのえちえち朝活🧪 2
- 【実況】博衣こよりのえちえち朝活🧪
- 中国「もはや高市の謝罪や撤回で済まされるフェーズは過ぎ去った。辞任以外の選択肢ない」 [271912485]
- 【高市悲報】日本人のTikTokアカウントが続々収益化剥奪中!!乞食どもざまああああああああwwwwwww [394917828]
- 残クレマイホーム爆誕 [715715613]
