[過去ログ]
Rust part16 (1002レス)
Rust part16 http://mevius.5ch.net/test/read.cgi/tech/1656285423/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
229: デフォルトの名無しさん [sage] 2022/07/07(木) 20:00:40.75 ID:pAImJ0Xg >>225 そのRustの仕様の中でメモリ安全性を達成できていないんだから Rustの仕様の中でメモリ安全性という用語を使うのは不適切 Rustの謳うメモリ安全性は世間一般のメモリ安全性とは異なる概念なんだからそれを表すには他の用語を使うのが適当かと http://mevius.5ch.net/test/read.cgi/tech/1656285423/229
230: デフォルトの名無しさん [sage] 2022/07/07(木) 20:06:09.82 ID:idvDnT2E >>224 クラスはその根幹の継承がデメリットだらけと結論が出ているためGoやRustなどでは採用されていない メンバー変数やメンバーメソッド等とは構造体で使えるため困ることはない Rustでは構造体を含む任意の型に対して横断的に共通適用可能なトレイトがあり非常に強力で利便性がよい http://mevius.5ch.net/test/read.cgi/tech/1656285423/230
231: デフォルトの名無しさん [sage] 2022/07/07(木) 20:09:54.71 ID:6JbvD3+y >>229 知らんがな。 大抵の専門用語は一般名詞に (その分野における) 明確な定義を与えることで成り立ってるのはごく普通のことだろ。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/231
232: デフォルトの名無しさん [sage] 2022/07/07(木) 20:25:04.56 ID:idvDnT2E >>229 世間一般なんてものはなくそれぞれがそれぞれの定義域に依る そしてそれが明確になっていればよい 例えばRustではメモリ競合は防止可能と明確化しつつ、より一般的な競合状態は対象外と明確化している 原理的に無理なものは無理なのだからそこは明確化してあればそれでよい http://mevius.5ch.net/test/read.cgi/tech/1656285423/232
233: デフォルトの名無しさん [sage] 2022/07/07(木) 21:01:30.61 ID:0wlfNyVX >>228 aliasingの話してるところにRAIIが来るのもよくわからないがRAIIだと高速という理屈はさらにわけわかめ http://mevius.5ch.net/test/read.cgi/tech/1656285423/233
234: デフォルトの名無しさん [sage] 2022/07/07(木) 21:12:46.12 ID:PQWZgdhj >>222 windows-rsでunsafe祭りになりながら書いたよ。オススメはしないが。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/234
235: デフォルトの名無しさん [sage] 2022/07/07(木) 21:39:23.64 ID:pHkHW2c/ SwiftのARCとRustのArcの区別がつかない人は論外なので発言を控えてほしい ただでさえしょうもないのにしょうもなさが倍増するからね・・・ SwiftのARCはAutomatic Reference Counting https://docs.swift.org/swift-book/LanguageGuide/AutomaticReferenceCounting.html RustのArcはAtomically Reference Counted https://doc.rust-lang.org/std/sync/struct.Arc.html http://mevius.5ch.net/test/read.cgi/tech/1656285423/235
236: デフォルトの名無しさん [sage] 2022/07/07(木) 22:03:40.09 ID:webRw0a6 >>230 継承をやめて委譲にすれば割とまともになると思います https://mevius.5ch.net/test/read.cgi/tech/1434079972/51 https://mevius.5ch.net/test/read.cgi/tech/1434079972/84 http://mevius.5ch.net/test/read.cgi/tech/1656285423/236
237: デフォルトの名無しさん [sage] 2022/07/07(木) 22:05:44.36 ID:idvDnT2E >>233 C++とRustはヒープ利用に対してRAIIによるデストラクタ呼び出しによりリファレンスカウンタ無しでメモリ解放するので高速 さらに加えてRustでは所有権と借用のルール明確化により解放の安全性も静的に保証している 一方でSwiftはヒープ利用に対して常にリファレンスカウンタを用いるARCによりメモリ解放の管理をするため低速 http://mevius.5ch.net/test/read.cgi/tech/1656285423/237
238: デフォルトの名無しさん [sage] 2022/07/07(木) 22:11:56.95 ID:hEh+9Mpq >>236 その流れで継承不可のクラスベースのオブジェクト指向言語がどういうものになるか思考実験的に考えてみなよ http://mevius.5ch.net/test/read.cgi/tech/1656285423/238
239: デフォルトの名無しさん [sage] 2022/07/08(金) 03:25:18.13 ID:CKdXv9cu それよりSQLが超苦手な俺はPRQLにめちゃくちゃ期待しているのだがラスタシアン達はSQLも達者なのかね? http://mevius.5ch.net/test/read.cgi/tech/1656285423/239
240: デフォルトの名無しさん [] 2022/07/08(金) 03:34:35.68 ID:tnmgUx+u うーん。 このスレ↓では、Rustはメモリーリークしない、Cはリークすると議論してたからなあ。 https://mevius.5ch.net/test/read.cgi/tech/1650185555/ http://mevius.5ch.net/test/read.cgi/tech/1656285423/240
241: デフォルトの名無しさん [sage] 2022/07/08(金) 07:13:21.57 ID:vMUJBeEa pijul使ってみたけど、改行コードがCRLFだと非対応で バイナリファイル扱いになるという謎仕様でまいった 差分とか出せなくなる ファイルタイプ判別を変えるオプションは無い それは置いといても、表示もドキュメントも超簡素で もうすぐ1.0.0リリースを迎えるとは思えない状態 ほとんどの入門記事で使われている重要コマンドpijul statusが 最近のバージョンで削除されたのも謎すぎる だいじょうぶなのかこれ http://mevius.5ch.net/test/read.cgi/tech/1656285423/241
242: デフォルトの名無しさん [sage] 2022/07/08(金) 07:47:38.58 ID:ifo4L8le >>239 今の開発のトレンドが互換性維持で苦労して中途半端なものになるくらいなら好きな仕様にして最後全部トランスパイルすりゃいいじゃん!になってしまったな 世の天才が叡智を絞った結果がRust界隈含めて今まで散々馬鹿にしてたウェブ(JS)の後追いなの草生えるわ ちなみに英語圏ではSQLはシークェルと発音するから覚えとけ ラスタシアンの紳士諸君はえすきゅーえるとかクソダサい発音禁止な http://mevius.5ch.net/test/read.cgi/tech/1656285423/242
243: デフォルトの名無しさん [sage] 2022/07/08(金) 08:02:14.74 ID:i9Nd4OSx PRQL 書き味が CloudWatch logs Insightと似てそうだけどあれもそんなにいいもんじゃないぞ。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/243
244: デフォルトの名無しさん [sage] 2022/07/08(金) 08:04:43.63 ID:pMnIhSXO >>242 外人の禿げたおっさんはだいたいエスキューエル言うてるやろ http://mevius.5ch.net/test/read.cgi/tech/1656285423/244
245: デフォルトの名無しさん [sage] 2022/07/08(金) 08:11:32.47 ID:i9Nd4OSx コントロールも無視もできない処理系や既存資産の上でまともな進化や開発体験を維持しようとしたらトランスパイルになるのは必然だったんだろうな。 それが必要になるクソさと、トランスパイルコストの損益分岐点が最初に現れたのがJSってだけだと思うよ。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/245
246: デフォルトの名無しさん [sage] 2022/07/08(金) 08:44:10.67 ID:efA8XUrt >>240 メモリリークに関しては まず、Rustは自動的に即座にメモリ解放されるため他の言語と比べて高速かつ安全 ただし、Rustにおいて循環参照は他の言語と大きく異なり、 ・意図的に色々と明確に指示して作成しないと、循環参照は自然に発生しない ・強い参照と弱い参照を使い分けることが出来るため、強い参照のみによる循環参照を避けることが可能 ・意図的に強い循環参照を作成した場合は、それはRustにとって自動的なメモリ解放の対象とならない したがって、Rustにおいて強い循環参照を意図的に作成した場合のみメモリリークが起こりうるが、わざと作成したのだから意図通り、という扱い http://mevius.5ch.net/test/read.cgi/tech/1656285423/246
247: デフォルトの名無しさん [sage] 2022/07/08(金) 09:06:34.18 ID:ujjjtz1g ほんと無知って怖いね http://mevius.5ch.net/test/read.cgi/tech/1656285423/247
248: デフォルトの名無しさん [sage] 2022/07/08(金) 09:12:01.24 ID:1lqt9Ku2 「循環参照は自然に発生しない」なんていう解説狂信者おじさんがいる限り、プロジェクトには絶対Rustは採用しない...... http://mevius.5ch.net/test/read.cgi/tech/1656285423/248
249: デフォルトの名無しさん [sage] 2022/07/08(金) 09:29:57.41 ID:L1lQIkzy ほんとこの種の信者は迷惑だわ 普通は多人数で作業して、データー構造をRc<T>をWeak<T>にあらかじめしておくようなことはしないし、”わざと作成したのだから意図通り”とか 相手(これから学ぶ人や新人)を騙すために都合の良いことを吹き込んでいるようにしか見えない・・・ それなら自動メモリ管理ではないので、作り方/使い方により自然/意図しない使い方でリークも場合もあると明確に認めて、その分だけ 自動メモリ管理ではないないので速度が速いし、メモリー解放のタイミングもある程度コントロール出来ると誠実に話したほうが余程、印象が良いのに。 胡散臭い宗教の勧誘に見えるような態度だから叩かれる http://mevius.5ch.net/test/read.cgi/tech/1656285423/249
250: デフォルトの名無しさん [sage] 2022/07/08(金) 09:30:47.62 ID:Gv4jmnae >>241 PijulもPRQLなど最近の新たな試みはRustで実装されることが多いが それらはRust言語のためのものではなく汎用的なものであり それらの問題点もRustとは直接関係がない 今後Rustで書かれた新たなものがどんどん増えていくだろうがそこは区別すべきところかな 一方でそれらをRust言語で使うためのクレートなどがあれば Rustプログラミングにおいて使う特有の話なので それらの話題自体を避けるべきではないね http://mevius.5ch.net/test/read.cgi/tech/1656285423/250
251: デフォルトの名無しさん [sage] 2022/07/08(金) 09:41:28.80 ID:v7XD1ZOP 循環参照は自然に発生しないって、コードを何も書かなければ発生しないって意味かな http://mevius.5ch.net/test/read.cgi/tech/1656285423/251
252: デフォルトの名無しさん [sage] 2022/07/08(金) 09:42:55.25 ID:QpPOct5C >>248 新たなプロジェクトが次々とRustを採用している現実を直視しようぜ >>249 循環参照はRust以外だと知らぬ間に発生してしまう自然なよくあるものだが Rustでは複雑な操作で意図的に作り出さないと出現すらしない点を理解しようぜ http://mevius.5ch.net/test/read.cgi/tech/1656285423/252
253: デフォルトの名無しさん [sage] 2022/07/08(金) 09:58:58.97 ID:BqWLp+Ol RAIIでメモリをケアするのは GC方式にくらべて高速ってのはまぁそうなんだけど それよりも 開放タイミングが決定的であることのほうが特徴 オブジェクトの生存期間によってメモリの使用期間もプログラマが管理できて嬉しい http://mevius.5ch.net/test/read.cgi/tech/1656285423/253
254: デフォルトの名無しさん [sage] 2022/07/08(金) 12:01:11.06 ID:bBPWEvXX >>236 参照カウント方式と区別したいなら、「GC方式」みたいな曖昧な用語はやめて「トレーシングGC」を使おうぜ。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/254
255: デフォルトの名無しさん [sage] 2022/07/08(金) 12:37:51.01 ID:4Cg/jdLt >まず、Rustは自動的に即座にメモリ解放されるため他の言語と比べて高速かつ安全 この時点で嘘だらけなんだから、それ以上読む必要無い 日本語ブログだとこういう複オジレベルの人が多数派なので Rustを本気で学びたいやつは英語のリソースメインで学ぶことを強くすすめる http://mevius.5ch.net/test/read.cgi/tech/1656285423/255
256: デフォルトの名無しさん [sage] 2022/07/08(金) 12:39:17.46 ID:u4+He/YT >>249 アンチは実際にプログラミングしたことがないのかね Rc<T>自体は書き換えできないのでRc<T>だけでは循環参照を作ることができない Rc<T>とWeak<T>は互いに対称ではないため直接置き換える対象ではない 例えばnewもRc::new(T)とWeak::new()で引数Tの有無からして異なる さらに多人数で作業するから強い循環参照を知らぬ間に作ってしまうとの言い訳も意味不明だ http://mevius.5ch.net/test/read.cgi/tech/1656285423/256
257: デフォルトの名無しさん [sage] 2022/07/08(金) 12:42:18.47 ID:u4+He/YT >>255 Rustは所有者がいなくなると自動的に即座にメモリ解放されるため他の言語と比べて高速かつ安全で合っている http://mevius.5ch.net/test/read.cgi/tech/1656285423/257
258: デフォルトの名無しさん [sage] 2022/07/08(金) 14:56:50.59 ID:bBPWEvXX >>257 メモリを解放しないCopying GCの方が高速なんだけどなぁ。 Rustもメモリ解放しない実装なのかね?RAIIならスタック領域しかメモリを確保しないとか。 http://mevius.5ch.net/test/read.cgi/tech/1656285423/258
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 744 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.018s