[過去ログ]
Rust part21 (1002レス)
Rust part21 http://mevius.5ch.net/test/read.cgi/tech/1692105879/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
62: デフォルトの名無しさん [] 2023/09/02(土) 07:37:58.97 ID:v3EBZAej 失礼します Rustは制約の厳しい言語だから(環境さえ整えば)他言語にトランスパイルしやすい言語 という認識は合ってるでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1692105879/62
65: デフォルトの名無しさん [sage] 2023/09/02(土) 11:00:44.98 ID:YkB2gBn6 >>62 トランスパイル先言語との機能的互換性の高さやや元言語のコンパイラが単純なほうがトランスパイルしやすいと思う 例えばOwnership/Borrow/Lifetimeあたりのトランスパイルが楽かどうか http://mevius.5ch.net/test/read.cgi/tech/1692105879/65
165: デフォルトの名無しさん [sage] 2023/09/09(土) 08:43:17.99 ID:jpDXx+st yarnだのcargoだのどいつもこいつもなんでオレオレパッケージマネージャ使いたがるの😭 http://mevius.5ch.net/test/read.cgi/tech/1692105879/165
220: デフォルトの名無しさん [] 2023/09/15(金) 23:11:51.65 ID:UUFGnjcv >>219 ミュータブルか否かの区別があるのは煩雑になるだけで好ましくない。WindowsやLinuxのソースコードに Rustが採用されたと言ってもごく一部でメモリ安全性が特に重視される部分だけ。全部をRustで書くなんて 煩雑な作業には人間はとても耐えられない。 http://mevius.5ch.net/test/read.cgi/tech/1692105879/220
267: デフォルトの名無しさん [sage] 2023/09/16(土) 20:31:44.89 ID:/CtnFWfv >>266 その代償としてイミュータブルをコピーしまくってメモリ浪費して関数型言語遅いじゃん mut祭りで読みづらい代わりに高速でメモリ効率が良いのがRustの売りでしょ http://mevius.5ch.net/test/read.cgi/tech/1692105879/267
294: デフォルトの名無しさん [sage] 2023/09/18(月) 23:41:51.16 ID:X+wkGtcX >>290 ロジックが正しくてもバイナリレベルでは脆弱性になることがある。 分かりやすい例では、言語の理屈では寿命を終えたはずのオブジェクトでも再利用される機会がなくて内容が残り続けるとかね。 そういうときにでもどうにかする知見が C/C++ では積み上がってる。 普通に書いて脆弱性が発生しにくいに越したことはないが、脆弱性が発生していることがわかったときに直せる確信があるというのはセキュリティが重要な場面で C/C++ を使う理由になる。 C/C++ が「自分の足を撃つ」ことになるなんてのは百も二百も承知の上で、「自分の足を撃つことも出来る」ことに価値を見いだしてるんだよ。 もともと自分の足を撃つというのは戦争に行かなくて済むようにわざと撃つことがあるというのを下敷きにした言い回しで、危険であると同時にそれが必要なこともあるというニュアンスを含んでいる。 http://mevius.5ch.net/test/read.cgi/tech/1692105879/294
336: デフォルトの名無しさん [sage] 2023/09/20(水) 18:16:56.45 ID:52Xj2Gp1 >>328 他のDBMSでもプロセス間の排他制御は 出来る方法が限られているのでファイルロックを 使っている可能性が高い。 他の方法だと、mkdir 法や、名前付きパイプが あることがあるが、ファイルロックの方が便利。 一つのプロセスの中のスレッド間の排他制御は 色々な方法が有るが、プロセスを越えた排他制御 は意外と他に出来る方法が無いから。 http://mevius.5ch.net/test/read.cgi/tech/1692105879/336
385: デフォルトの名無しさん [sage] 2023/09/26(火) 18:52:01.41 ID:liEPyEVD rustとgoとc#でjsonのシリアライズ、デシリアライズ実験したんだけど rust 1ms cargo run --release go 10ms c# 40ms dotnet build -c Release こんなに違うもんなの? リリースモードでビルドしたつもりだけど WebAPIのバックエンドどれにするか悩んでたけどもうrust1択でいいやん http://mevius.5ch.net/test/read.cgi/tech/1692105879/385
430: デフォルトの名無しさん [sage] 2023/10/07(土) 06:46:44.80 ID:bWLG2vp7 mut無しとはこういうことか https://play.rust-lang.org/?version=stable&mode=release&edition=2021&gist=a5753729862ae878a1cf011314e90f3e fn qsort<T: Copy+Ord>(list: &[T]) -> Vec<T> { match list { [pivot, ..] => { let (smaller, rest): (Vec<T>, Vec<T>) = list[1..].iter().partition(|&i| i < pivot); [qsort(&smaller), vec![*pivot], qsort(&rest)].concat() }, _ => vec![] } } fn main() { let list = [9, 0, 7, 3, 6, 1, 2, 4, 8, 5]; println!("{:?}", list); println!("{:?}", qsort(&list)); } http://mevius.5ch.net/test/read.cgi/tech/1692105879/430
453: デフォルトの名無しさん [sage] 2023/10/08(日) 18:19:11.05 ID:WAd1DVRF enumのリストで書いてみたわ rust不慣れだから所々おかしいかも https://ideone.com/0Ro48L enum List<T> { Cons(T, Box<List<T>>), Nil, } impl<T: Copy + PartialOrd> List<T> { // 略 fn qsort(&self) -> Self { match self { List::Nil => List::Nil, List::Cons(pivot, tail) => { let (smaller, rest) = tail.partition(|x| *x < *pivot); smaller.qsort().concat(&rest.qsort().prepend(*pivot)) } } } } fn main() { let list = List::<i32>::nil().prepend(4).prepend(8).prepend(8).prepend(3).rev(); list.each(|n| print!("{}", n));println!(""); list.qsort().each(|n| print!("{}", n));println!(""); } http://mevius.5ch.net/test/read.cgi/tech/1692105879/453
474: デフォルトの名無しさん [sage] 2023/10/11(水) 23:18:11.74 ID:vJm7EO/F >>441 >>430がVec使用だから同等でないという話ならばRustにもリンクリストがあるよ リンクリストに特化したパターンマッチング構文や結合構文はないけれど 例えばTをCopyせずそのまま使うならば use std::collections::LinkedList; fn qsort<T: PartialOrd>(mut list: LinkedList<T>) -> LinkedList<T> { if let Some(pivot) = list.pop_front() { let (smaller, rest): (LinkedList<T>, LinkedList<T>) = list.into_iter().partition(|x| x < &pivot); // concat list = qsort(smaller); list.extend([pivot]); list.extend(qsort(rest)); } list } fn main() { let list = LinkedList::from([9, 0, 7, 3, 6, 1, 2, 4, 8, 5]); println!("{:?}", list); println!("{:?}", qsort(list)); } http://mevius.5ch.net/test/read.cgi/tech/1692105879/474
500: デフォルトの名無しさん [sage] 2023/10/15(日) 09:39:38.68 ID:M8zy/AR3 Cで書いたプログラムを Rustで書いたらこうなります っていうのをひたすら集めた本がほしい http://mevius.5ch.net/test/read.cgi/tech/1692105879/500
569: デフォルトの名無しさん [sage] 2023/11/04(土) 12:29:53.92 ID:eFHrirh7 Better C的なRustが欲しい C++と張り合って仕様が複雑になってる http://mevius.5ch.net/test/read.cgi/tech/1692105879/569
765: デフォルトの名無しさん [sage] 2023/12/30(土) 06:29:39.39 ID:GnED1sKw Rust勉強中。アノテーション注釈が出てきたところで流行らない理由をなんとなく察する ヌルポとメモリーリークを防げるから個人開発で使う分にはいいけど。会社で広める気にはならない 学習コスト高いわ http://mevius.5ch.net/test/read.cgi/tech/1692105879/765
815: デフォルトの名無しさん [sage] 2024/01/05(金) 09:40:39.59 ID:K2XmLAOd Rustで書かれたLinux互換OS「Maestro」が爆誕 https://softantenna.com/blog/rust-maestro/ http://mevius.5ch.net/test/read.cgi/tech/1692105879/815
875: デフォルトの名無しさん [] 2024/01/19(金) 01:46:37.00 ID:qsekRxP5 プログラミング言語利用実態調査でRustが急落 https://www.nikkei.com/article/DGXZQOUC223M10S3A221C2000000/ http://mevius.5ch.net/test/read.cgi/tech/1692105879/875
896: デフォルトの名無しさん [sage] 2024/01/19(金) 14:12:09.59 ID:CZFLW0PQ >>894 最近はpythonで仕事する機会が多くて、C/C++を4年ほど触ってなかったのと、 仕事の後に疲れた頭で勉強したから体力的にキツかったのと。。。 the bookを読むだけで90時間はかかったわ。検索モジュールを開発しようと思ってるんだけど いきなり実装に入るより読経した方がマシな感じで、regexのコードを読んでる 既に10時間読経に捧げて、あと10時間は追加の読経が必要な感じ この後、形態素解析エンジンのコードも読む必要があるから、追加で20時間はお勉強する予定であわせて130時間 ……重いです http://mevius.5ch.net/test/read.cgi/tech/1692105879/896
924: デフォルトの名無しさん [sage] 2024/01/19(金) 19:12:08.48 ID:SK8TlxrV >>896 Rustは絶壁の学習曲線だから、段階的な学習は難しい。少なくともスタックフレームの動きを意識できないとキツイと思う。 Rustを使った開発も、小さく始める段階的開発とかきついんじゃない?ひたすらスクラップ&ビルド繰り返しそう。 http://mevius.5ch.net/test/read.cgi/tech/1692105879/924
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
1.431s*