- 1 名前:デフォルトの名無しさん [2023/08/15(火) 22:24:39.45 ID:xzxy4cgp.net]
- 公式
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 part20 https://mevius.2ch.net/test/read.cgi/tech/1677771928/ ワッチョイスレ プログラミング言語 Rust 4【ワッチョイ】 https://mevius.2ch.net/test/read.cgi/tech/1514107621/
- 803 名前:デフォルトの名無しさん mailto:sage [2023/12/31(日) 18:29:47.72 ID:15iRFp/+.net]
- プログラミング出来ない人にRustはハードルが高いという主張か
- 804 名前:デフォルトの名無しさん mailto:sage [2023/12/31(日) 19:12:47.61 ID:SnRIdEnt.net]
- ゴミには何触らせてもゴミ
- 805 名前:デフォルトの名無しさん mailto:sage [2023/12/31(日) 20:25:01.01 ID:d6XbubcX.net]
- >>786
単に最近のスクリプト言語が簡単過ぎるだけだと思うけどね ブイブイ言わせてる()モダンなスクリプト言語使いが 俺たちRustも書けるっしょwみたいなノリで挑戦して 書けなくて諦めるというのを何度も見てきた 本来プログラミングってのはこの程度は難しいものよ
- 806 名前:デフォルトの名無しさん mailto:sage [2023/12/31(日) 20:41:56.95 ID:Asz1BteV.net]
- Rustを書けず断念するような低レベルの人ならば
他の言語でもまともなプログラムは書けないと思うけどな
- 807 名前:デフォルトの名無しさん mailto:sage [2023/12/31(日) 22:03:37.75 ID:682wQwxe.net]
- バージョンおじさんの次はスクリプトコンプおじさんか
- 808 名前:デフォルトの名無しさん mailto:sage [2023/12/31(日) 22:07:53.39 ID:fB+p+szm.net]
- ライフタイムは関数に渡すときborrowするだけなら何も難しいことはないんだが型に参照を含めていろんな操作をしたり持ち回ったりし始めると複雑度が急上昇する
- 809 名前:デフォルトの名無しさん mailto:sage [2023/12/31(日) 22:22:03.06 ID:Asz1BteV.net]
- そこは同じ
型に含まれてる参照のライフタイムがその型にも付くだけ
- 810 名前:デフォルトの名無しさん mailto:sage [2024/01/01(月) 00:50:09.76 ID:X6Py91w/.net]
- あけましておめでとうございます
ライフタイム面倒なので捨ててstaticにしたいそんな貴方へ魔法の関数プレゼント! fn to_static_str(input: &str) -> &'static str { input.to_owned().leak() }
- 811 名前:デフォルトの名無しさん mailto:sage [2024/01/01(月) 19:58:44.82 ID:SMFNndU8.net]
- the book で勉強中だけど覚えること多いなあ
構文を覚えるだけで70時間はかかりそう デザインパターンの勉強は必要なさそうだけど 実践投入するには読経も20時間分ぐらい必要だろうな
- 812 名前:デフォルトの名無しさん mailto:sage [2024/01/01(月) 22:17:40.22 ID:nmIunYxl.net]
- 90時間でも約11日稼働ならオンボーディングで
極端に辛いというほどじゃなくね
- 813 名前:デフォルトの名無しさん mailto:sage [2024/01/01(月) 22:29:17.37 ID:pmJAVvpO.net]
- >>795
Rustの構文は諸言語のバリエーション範囲内でほとんど同じ 強力なパターンマッチングとその構文が新規なくらいですぐ習得できる
- 814 名前:デフォルトの名無しさん [2024/01/02(火) 00:14:27.39 ID:SHn+5kOU.net]
- Rustの勉強が大変なら勉強なんかせんでええ
Copilotに書かせてコンパイル通ればOKや!
- 815 名前:デフォルトの名無しさん mailto:sage [2024/01/02(火) 08:32:02.80 ID:xTyEZXhx.net]
- copilot は予測変換の賢いやつって感じ。
個々の場面では思ったよりも賢くて使い物になるが全体を構成するのに人の思考がいらないほど、全部丸投げ出来るほどではない。 出来る人が楽をするツールであって、できない人が使ってもまともなものは作れない。
- 816 名前:デフォルトの名無しさん [2024/01/02(火) 22:18:53.42 ID:3cCPTdjI.net]
- >>792
どっちかというとそういうもち回しによる複雑な操作するなってのがrustの思想だろ
- 817 名前:デフォルトの名無しさん mailto:sage [2024/01/03(水) 00:45:56.91 ID:cT5UAedN.net]
- 他の言語の習慣を捨てないとなかなか実践できないと思う
しばらく使ってるとRust特有のプラクティスが見えてくるけど
- 818 名前:デフォルトの名無しさん [2024/01/03(水) 00:58:25.14 ID:WEsHc8Hy.net]
- 全体を構成する部分が問題になってRustにノータイムで移行できない人間が書くスクリプト言語で書かれたプログラム、読みたくなさすぎる
- 819 名前:デフォルトの名無しさん mailto:sage [2024/01/03(水) 18:10:43.49 ID:AJuUFyM+.net]
- VSCodeとrust-analyzerでrustを書いている人にちょっとお聞きしたいんだけど、
rustのコード補完で、必ずabc順になっちゃうんだけど 直前に使用したメソッドを優先的に上位に表示させることってできないの? VSCodeのエディタの設定でrecently usedを設定してもabc順でしか表示さない InteliJIdeaでは学習した結果、使用頻度の高いものを上位に表示してくれてたのに・・
- 820 名前:デフォルトの名無しさん [2024/01/03(水) 23:00:13.67 ID:parSgmbo.net]
- 質問の仕方が間違っているぞ
そういう時は「補完もまともに出来ないクソ言語」って言えば信者が頑張って探してくれる
- 821 名前:デフォルトの名無しさん mailto:sage [2024/01/04(木) 17:30:55.33 ID:mYBU2Jpa.net]
- InteliJでは出来てたって書いてあるの読めない人なのかな?
こういう人がテストケースとか書いてると思うと怖くてたまらんね
- 822 名前:デフォルトの名無しさん mailto:sage [2024/01/04(木) 17:56:16.02 ID:dLQyUrS8.net]
- >>804は頭の弱いRustアンチの人だから無視しとけ
- 823 名前:デフォルトの名無しさん mailto:sage [2024/01/04(木) 18:21:30.81 ID:mYBU2Jpa.net]
- ごめんよ
rustが難しくて理解できない可愛そうな人だったか
- 824 名前:デフォルトの名無しさん [2024/01/04(木) 19:32:15.16 ID:lFo5UMLf.net]
- 誰も問題解決出来てなくて草
マジで糞言語なのか? VSCodeでもPythonなら出来るぞこれ
- 825 名前:デフォルトの名無しさん [2024/01/04(木) 20:05:26.49 ID:9Tnu7Lk1.net]
- >>776
これはそう思うわ。 そこが面倒ならそもそもrust使うことが面倒だろって気にしかならん。
- 826 名前:デフォルトの名無しさん mailto:sage [2024/01/04(木) 20:44:14.40 ID:5w1EWT82.net]
- 普通にバグ報告すればいいのに
- 827 名前:デフォルトの名無しさん mailto:sage [2024/01/04(木) 20:47:26.53 ID:mYBU2Jpa.net]
- >>808
あらためてVSCode再起動したら普通に直近に選択したメソッドや変数が上位に表示されるようになった ごめんね ぺこり ちなPythonは入れ子のループの内側から外側のbreakができないから嫌い
- 828 名前:デフォルトの名無しさん mailto:sage [2024/01/04(木) 21:51:07.65 ID:dt0a6v34.net]
- InteliJ は rust-analyzer 使ってないんじゃなかった?
開発支援機能の基盤が違えば細かい挙動が一致しないのなんて当たり前過ぎて何が言いたいのかわからない。
- 829 名前:デフォルトの名無しさん mailto:sage [2024/01/04(木) 22:28:32.21 ID:4GGvVaU9.net]
- >>795の読経って何?
- 830 名前:デフォルトの名無しさん mailto:sage [2024/01/05(金) 08:39:06.77 ID:wSd1e+VK.net]
- >>813
https://github.com/BurntSushi この人のリポジトリひとつ読んだら実装に移るわ
- 831 名前:デフォルトの名無しさん mailto:sage [2024/01/05(金) 09:40:39.59 ID:K2XmLAOd.net]
- Rustで書かれたLinux互換OS「Maestro」が爆誕
https://softantenna.com/blog/rust-maestro/
- 832 名前:デフォルトの名無しさん mailto:sage [2024/01/05(金) 09:43:03.49 ID:QSnLODWj.net]
- >>814
ああ、コードを読むのを読経と言ってるのか。ありがとう。
- 833 名前:デフォルトの名無しさん [2024/01/05(金) 13:58:06.60 ID:p8td/CWz.net]
- 読経なんかせんでええ
GPTに書かせろ
- 834 名前:デフォルトの名無しさん mailto:sage [2024/01/05(金) 14:50:07.45 ID:5Ddnqo9+.net]
- ソースはお経じゃねえぞ
- 835 名前:デフォルトの名無しさん mailto:sage [2024/01/05(金) 16:26:15.51 ID:qm5+loRz.net]
- 写すと写経
読むと読経か 般若心経に波羅蜜多という単語が出て来る 修行の意味だが、修行を行った量という意味でもあり 英単語のparameterと同語源だという 引数か ヤシの木palmとparameterも同語源って説がある palmは手の平の意味だが手の指で文字を数えるとも繋がる これがまた修行の量とか引数って概念に繋がる またヤシの葉で分厚いパルミラヤシと呼ばれるものは経文を書くのに使われていた 経文を書いた量がまた修行のパラメーターとなった ナツメヤシのことをdateというが日にちも数えるもの、デートも日にちを重ねて交流を深めるものとされた ヤシの葉と修行と日にちと引数は常に数えるものとされた 一方で波羅蜜、パラミツというスイカの5倍くらいある果物もある 果実を輪切りにするとアナログ時計のように果肉が並び 時間を象徴するものだから?という話があるが、パラミツと波羅蜜多は特に関係がないという方が多い インドにRust外注したら動くものは帰ってくるのかどうか
- 836 名前:デフォルトの名無しさん mailto:sage [2024/01/05(金) 17:09:23.62 ID:FktlJzQH.net]
- parameterのpara-はギリシア語由来の「離れている」では
parallel(平行)のpara-
- 837 名前:デフォルトの名無しさん mailto:sage [2024/01/05(金) 19:03:58.53 ID:kJ7MyVdE.net]
- >>815
爆誕出来てないじゃん。 仮に互換するにした場合、バグも再現するんかね?
- 838 名前:デフォルトの名無しさん [2024/01/06(土) 15:29:56.82 ID:NPThFXTg.net]
- 無理にひねくれたこと書かんでよろしい
- 839 名前:デフォルトの名無しさん mailto:sage [2024/01/07(日) 02:08:36.16 ID:eqr3i2HS.net]
- rustちょっと書いたけどなんかハマらんな
つまんない 刺激が少ない 俺は別に言語に安全性なんて求めてないんだ 刺激がほしいんだ
- 840 名前:デフォルトの名無しさん [2024/01/07(日) 02:15:40.93 ID:k7dl9y2N.net]
- >>823
お前のチームのバグ出しまくる同僚に使わせたら?
- 841 名前:デフォルトの名無しさん [2024/01/07(日) 02:41:23.33 ID:KA2Mqlfb.net]
- プログラミングそのものに刺激を求めるんじゃない
刺激はプログラミングで実現したいものに求めろ
- 842 名前:デフォルトの名無しさん [2024/01/07(日) 09:36:48.73 ID:qkYZiPZe.net]
- rustはコンパイラにムチを打たれながらコーディングする性癖ドM言語だよ
自身の性癖と合う言語を使ってけ
- 843 名前:デフォルトの名無しさん [2024/01/07(日) 15:48:04.06 ID:ujkX2rEF.net]
- Rustがムチ打つかレビューでムチ打つかの違いでしかないんだよな
誰にも見せないコードなら関係ないけど
- 844 名前:デフォルトの名無しさん mailto:sage [2024/01/07(日) 16:53:56.32 ID:FD9BMc1I.net]
- 男は黙ってSegmentation Fault
- 845 名前:デフォルトの名無しさん [2024/01/07(日) 21:59:04.51 ID:k7dl9y2N.net]
- >>827
レビューは体裁しか見ないやついるからな。内容読まないとかレビューになってねーから。 コンパイラにチェックさせたほうがマシ。
- 846 名前:デフォルトの名無しさん mailto:sage [2024/01/08(月) 12:20:12.43 ID:JTfbpR0w.net]
- 刺激ってメモリリークでクラッシュとか、ストレージフォーマットとかか?
- 847 名前:デフォルトの名無しさん mailto:sage [2024/01/08(月) 20:41:35.20 ID:6GvPzxXI.net]
- スマートポインタについて勉強中。強い参照、弱い参照という概念が出てきて目が回る
RefCell……所有権の共有が発生する参照……参照??? 言葉遊びが過ぎないか。。。
- 848 名前:デフォルトの名無しさん [2024/01/08(月) 21:50:36.68 ID:VjyRCTjd.net]
- 何書いてるかによるけど、出来ればスマートポインタ使わずに書きたい
- 849 名前:デフォルトの名無しさん mailto:sage [2024/01/08(月) 21:56:10.69 ID:a9mjVCEv.net]
- >>831
強い参照、弱い参照はRustやC++だけでなくJavaやC#、PythonやJavaScriptでさえ出てくる一般的な概念だぞ RefCellは所有権の共有じゃないぞ スマートポインタや参照という言葉もRustの定義を理解した上で学ぶ必要があるんだけどちゃんとした資料で勉強してるか?
- 850 名前:デフォルトの名無しさん [2024/01/08(月) 22:02:17.92 ID:6GvPzxXI.net]
- >>833
目が回って頭が混乱してた。Rcのことです the bookを読んでます。英語版と日本語版を読み比べならが進めてます
- 851 名前:デフォルトの名無しさん [2024/01/08(月) 22:04:58.02 ID:6GvPzxXI.net]
- >>832
FSTという決定木を呼び出す実装を書く予定なんだよね どこまで既存のクレートを使えるか次第だけど。たぶんスマートポインタ必須だろうなあ……胃が重い
- 852 名前:デフォルトの名無しさん mailto:sage [2024/01/08(月) 22:45:23.91 ID:U+1fQP74.net]
-
- 853 名前:target="_blank">>>831
説明するのには言葉を使うしかしょうがないだろう。 それとも小難しい記号だらけの操作的意味論を読み解くほうがマシとでもいうか? []- [ここ壊れてます]
- 854 名前:デフォルトの名無しさん mailto:sage [2024/01/08(月) 22:56:58.99 ID:DdO69zqE.net]
- >>835
まず前提環境が重要になる たとえば並行はあるのか?並列はあるのか?両方あるのか? あるとしても共有が必要なそれらの範囲はどこまでなのか? それとは別の話で参照の共有と所有権の共有についても前者だけで済むのか後者も必要なのか? など
- 855 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 00:03:40.70 ID:8DV95bbu.net]
- >>835
木構造は普通にポインタ使うと地獄だよ Nodeにポインタを持たせる実装ならRefCellとRcとOptionの組み合わせでゴニョゴニョやることになる
- 856 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 00:15:41.68 ID:nS4EcHpr.net]
- 配列にどんどん詰め込んでいって
ポインタのかわりにインデックスで管理するという方法も取れなくはない。 Rust で参照の取り扱いが面倒くさくなったときは割とよく使われる。
- 857 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 00:41:55.42 ID:p6fXuzFt.net]
- Rustだから面倒になるのではなく
同じ方針ならばC/C++でも同じようになる そしてどの言語でも同じく色んな方針を取ることができる たとえばプログラム終了まであるメモリを解放しない&しなくてよい状況と方針ならば CだけでなくRustでもそのようにプログラミングすることで簡単になる
- 858 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 00:48:52.81 ID:71QF1ibn.net]
- Array/VecとMapでやる方が普通
てかスマートポインタで胃が重いとか言ってる人にFST実装させようとするのはどうなのか 学生さんの宿題ならいいんだけど
- 859 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 13:46:52.23 ID:cAvIdAYQ.net]
- >>815
windowsこそrustで書き直して欲しい
- 860 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 14:29:03.17 ID:ZeSQ9HCg.net]
- いやWindowsは消滅してくれ
Windowsのパス区切り文字がバックスラッシュだと面倒くさいんだよ いつになったら他のOSのようにスラッシュになるんだ
- 861 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 14:42:13.51 ID:W90zSzbf.net]
- そこでいまどき困るか?
ライブラリで吸収してくれるだろ
- 862 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 15:03:46.95 ID:mDjH0FU9.net]
- 困るのはそんなポイントではないわな
- 863 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 15:51:14.16 ID:LmJT0Ko+.net]
- UNIX
https://learn.microsoft.com/ja-jp/cpp/c-runtime-library/unix プログラムを UNIX に移植する場合は、次のガイドラインに従ってください。 ・引数としてパスとファイル名を表す文字列を実行するルーチンでは、UNIX と互換性のあるパス区切り記号を使用します。 UNIX は、この目的でスラッシュ (/) のみをサポートしますが、Win32 オペレーティング システムでは、円記号 (\) とスラッシュ (/) の両方をサポートします。
- 864 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 16:00:24.31 ID:OfKvL6VZ.net]
- WindowsはWSL2のおかげで立ち位置を少し取り戻した感ある
Docker×WSL最強なんだ
- 865 名前:デフォルトの名無しさん [2024/01/09(火) 16:26:04.96 ID:dEgljR3a.net]
- Rustを学習していてよくわかんないんだけど、なんで&mut演算子って=の右側に書くの?
演算子を分けて&を右でmutを左にすべきことじゃないのか
- 866 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 16:31:10.75 ID:T7+wXIHZ.net]
- >>848
変数がmutなのと参照がmutなのと意味が違うでしょ
- 867 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 16:38:48.96 ID:7APTEGxI.net]
- 不変なT型 T
不変な不変参照 &T 不変な可変参照 &mut T 可変なT型 mut T 可変な不変参照 mut &T 可変な可変参照 mut &mut T
- 868 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 16:51:10.28 ID:/HMizx3H.net]
- それ複オジがよく書いてたやつだけど
そうやって書くと型の違いと変数のmutabilityの違いを混同しちゃうから良くないんだよね
- 869 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 16:57:39.62 ID:FRUFivso.net]
- fn main() {
let mut foo = String::from("foo"); let mut bar = String::from("bar"); let a1 = &foo; // a1の値も参照先(foo)も変更できない // a1.push('o'); // 不可 // a1 = &bar; // 不可 println!("{a1}"); // foo let a2 = &mut foo; // a2の値は変更できないが参照先(foo)は変更できる a2.push('o'); // a2 = &mut bar; // 不可 println!("{a2}"); // fooo let mut a3 = &foo; // a3の値は変更できるが参照先(foo)は変更できない // a3.push('o'); // 不可 a3 = &bar; println!("{a3}"); // bar let mut a4 = &mut foo; // a4の値も参照先(foo)も変更できる a4.push('o'); a4 = &mut bar; println!("{foo} {a4}"); // foooo bar }
- 870 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 17:54:54.96 ID:yDV9ZPsZ.net]
- >>815
先にfirefox互換のブラウザをRustで作れよ
- 871 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 20:29:20.32 ID:OfKvL6VZ.net]
- >>815
ついにRustで書き切ったカーネルが出たか 素晴らしい😎
- 872 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 21:43:46.90 ID:ba97u6j0.net]
- JythonみたいにRinuxとか呼ばれる様になるんかね
- 873 名前:デフォルトの名無しさん [2024/01/09(火) 23:30:54.91 ID:kFOi0b9p.net]
- >>847
わかる
- 874 名前:デフォルトの名無しさん [2024/01/09(火) 23:33:35.76 ID:kFOi0b9p.net]
- >>850
>可変な不変参照 mut &T >可変な可変参照 mut &mut T そこは mut& T mut& mut T のほうが良くないか?
- 875 名前:デフォルトの名無しさん mailto:sage [2024/01/09(火) 23:44:10.92 ID:VWF/HjAU.net]
- >>857
なんでmut& Tやmut& mut Tのほうがいいと思うの?
- 876 名前:デフォルトの名無しさん mailto:sage [2024/01/10(水) 00:26:25.61 ID:50jzIioV.net]
- 変数は不変 参照先も不変
【Rust】 let ptr: &i32 = ... 【C/C++】 const int* const ptr = ... 変数は可変 参照先は不変 【Rust】 let mut ptr: &i32 = ... 【C/C++】 const int* ptr = ... 変数は不変 参照先は可変 【Rust】 let ptr: &mut i32 = ... 【C/C++】 int* const ptr = ... 変数は可変 参照先も可変 【Rust】 let mut ptr: &mut i32 = ... 【C/C++】 int* ptr = ...
- 877 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 07:32:23.77 ID:GWa8/EJ0.net]
- プログラミングをしていて最も出現頻度が高いのがその4つのうちこのパターンだな
>変数は不変 参照先も不変 >【Rust】 let ptr: &i32 = ... >【C/C++】 const int* const ptr = ... したがって可変部分のみmutを付加するRust方式が理に適っている
- 878 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 09:26:21.36 ID:87NFfbL3.net]
- C/C++のconstとRustのletを対比するなよ
コンパイル時の定数と変数は違うから
- 879 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 10:46:44.96 ID:6ZDKWey9.net]
- C/C++のconstはコンパイル時の定数とは限らない
> 変数は不変 参照先も不変 C++はconst int*で定義した変数経由では参照先を変更出来なくても他から参照先が変更されることがあるので「参照先が不変」とは言えない
- 880 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 11:01:12.76 ID:AliX8x8r.net]
- >>861
コンパイル時の定数は Rustではconst C/C++ではconstexpr
- 881 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 11:06:03.10 ID:YtourOsv.net]
- C/C++のconstはコンパイル時の定数となることもあるのがややこしいところ
constexprはそれを矯正するもの 1対1の単純な比較では抜け落ちるものが多すぎる
- 882 名前:デフォルトの名無しさん mailto:sage [2024/01/15(月) 18:27:24.64 ID:8IhMbXbn.net]
- イミュータブルの観点でこの対応は合ってる。
Rust: let foo: &i32 = ... C++: const int* const foo = ... ただし違いとしては、 Rustではfooが生きている間は参照先が(内部可変性を除いて)真に書き変わらない保証がある点が異なる。
- 883 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 18:48:37.40 ID:6S0S7+zy.net]
- この件はC++と比較しても刺激が少ない
mutがない関数型言語と比較するほうがいい
- 884 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 19:39:11.45 ID:gS91WelD.net]
- ミュータブルを無くすと美しく見える反面
ガベージコレクションが多数発生し効率が悪くなる アルゴリズムも制約を受けてしまい効率が悪くなる
- 885 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 19:42:50.91 ID:NPS8JVAZ.net]
- Linuxカーネルについに実用的なコードが
マージされたと話題になってるな
- 886 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 20:07:47.38 ID:ouelKdFS.net]
- >>868
新規追加するドライバにだけ採用とか前に言ってなかったっけ?
- 887 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 21:08:18.79 ID:6S0S7+zy.net]
- >>867
ガベコレが多数発生することをRust風に言うと、 実行時の参照カウントが激しく増減する
- 888 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 21:16:06.79 ID:gS91WelD.net]
- >>870
ミュータブルがない関数型言語との比較の話だから ミュータブル非導入で起きていることは使い捨て一時ガベージの大量発生
- 889 名前:デフォルトの名無しさん mailto:sage [2024/01/17(水) 23:31:19.01 ID:6S0S7+zy.net]
- cloneに似た処理をしてからオリジナルをdropするんだよね
- 890 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 04:18:08.52 ID:p4+mv2Ay.net]
- RustはカーネルやOSコアの開発で存分に活躍してくれ🙏
- 891 名前:デフォルトの名無しさん mailto:sage [2024/01/18(木) 06:21:12.49 ID:vxth9lRp.net]
- ぺたんこおっぱい
ぽっこりおなか つるつるわれめ
- 892 名前:デフォルトの名無しさん [2024/01/19(金) 01:46:37.00 ID:qsekRxP5.net]
- プログラミング言語利用実態調査でRustが急落
https://www.nikkei.com/article/DGXZQOUC223M10S3A221C2000000/
- 893 名前:デフォルトの名無しさん [2024/01/19(金) 08:43:59.73 ID:q7Fi5Auv.net]
- >>875
それ日本だけのアンケートじゃん
- 894 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 08:55:08.16 ID:v7odrc0V.net]
- 登録が必要な記事貼るとか
- 895 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 10:17:52.92 ID:9hGbEahh.net]
- >>875
日本でもクソ言語ってバレ始めてるなw
- 896 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 10:49:32.99 ID:Z0EBK6tx.net]
- そもそもrustを使う場面があるか?って話
wasmは始まる前からオワコンだし、組み込みシステム開発してる人なんて割合で見ればプログラマの中でごく一部だし
- 897 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 11:13:07.05 ID:vjpbBz8R.net]
- >>879
ごく一部だというのが仮に事実だとしても、少ないからって要らないってわけでもないだろ。 そこそこの規模だと C よりは Rust のほうがいいわ。
- 898 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 11:19:17.56 ID:EYCY+PGA.net]
- >>875
ちゃんとリンク貼れ無能 スキルアップしたい言語はPythonとJavaScript、不動の不人気言語はCOBOL 安藤 正芳 日経クロステック/日経コンピュータ https://xtech.nikkei.com/atcl/nxt/column/18/02670/112900003/
- 899 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 11:27:47.52 ID:uugkJRQ7.net]
- 「実際に仕事で使われているプログラミング言語」(2023)
https://qiita.com/mmake/items/b346cb32ccc3bcb5d03f 日本でのRustの使用実態が全く見られないの笑えるな
- 900 名前:デフォルトの名無しさん [2024/01/19(金) 11:34:00.68 ID:EoDClT2o.net]
- Rustは業務で使用する言語ではない
- 901 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 11:36:55.28 ID:arzVgFZ3.net]
- 使われてる言語ランキング見てると、CやC++、Rustみたいな組み込み開発用言語は全体から見ればもはやプログラミングの中でもマニアックな分類なんやね
ブログラマといえばWebサービス関連の人ってイメージになっちゃった
- 902 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 11:48:30.00 ID:vjpbBz8R.net]
- とはいえそれを支えるホスト環境 (OS) や処理系は大抵の場合に C とかで書かれてるんだけどな。
- 903 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 11:49:23.47 ID:pW7O4nZv.net]
- RustがC/C++の代わりになるのは間違いないのだけれどね
富士通さんはRustの普及をもっと頑張ってくれよ
- 904 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:01:24.14 ID:pW7O4nZv.net]
- >>885
C/C++からRustへの書き換え作業は大変だからね 脆弱性の解消のために徐々にRustへの置き換えが進んでるから2030年頃にはだいぶ完了してるっしょ
- 905 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:05:10.29 ID:pW7O4nZv.net]
- 有名どころだと
ProssimoがsudoやzlibのRust実装を頑張ってるよね https://github.com/memorysafety
- 906 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:05:22.87 ID:vjpbBz8R.net]
- デバイスドライバとかは C のほうが楽だけど
言語処理系くらいのレイヤだと大部分は Rust で書いたほうが楽そうだなーとは思う。
- 907 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 12:26:38.25 ID:CZFLW0PQ.net]
- そろそろ実装に入れそうだけど。Rustを勉強したことを少し後悔ぎみ
オブジェクト指向言語しか触ったことなかったから取得するのにガチで一ヶ月(130時間)かかった chatgptに聞いた感じだと、これでも割と早い方らしい。おとなしくC/C++を使えばよかった
- 908 名前:デフォルトの名無しさん [2024/01/19(金) 12:33:55.04 ID:3hcnICbb.net]
- 【AI】Googleの医療面接特化AI「AMIE」は人間よりも正確な診断が可能&患者への印象に優れるという研究結果 [すらいむ★]
https://egg.5ch.net/test/read.cgi/scienceplus/1705583722/l50 【AI】Google DeepMindが数学オリンピックレベルの幾何学問題を解けるAIを発表、人間の金メダリストに近い性能を発揮 [すらいむ★] https://egg.5ch.net/test/read.cgi/scienceplus/1705583476/l50 【AI】大学入試共通テスト、3つのチャットAIに解かせてみたら? GPT-4はバケモノだった [すらいむ★] https://egg.5ch.net/test/read.cgi/scienceplus/1705585402/l50 【ナゾロジー】「株価の変動を粒子の振動として理解」量子力学で株式市場の法則を読む! [すらいむ★] https://egg.5ch.net/test/read.cgi/scienceplus/1705583580/l50 【AI】NTT、自分の分身AIを低コストで作る技術。自分の合成音声を簡単に作れる技術も [すらいむ★] https://egg.5ch.net/test/read.cgi/scienceplus/1705583313/l50 ボイス・トォ・スカルのコアプログラムの一部は上記を統合している
- 909 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 13:26:04.84 ID:eEzmAF9q.net]
- >>890
130時間はサンクコストなので0時間の時点における正解は現時点でも正解 ってAIは教えてくれなかったの?
- 910 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 13:41:00.69 ID:CZFLW0PQ.net]
- C/C++, java, pythonの経験があるから、Rustを取得するのに50時間かからないだろうと思ってた時期が僕にもありました
ヌルポが怖いからRustを使うけど……歯を食いしばって捻出した130時間を投資回収できるかは神のみぞ知る
- 911 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 13:47:10.87 ID:vjpbBz8R.net]
- C/C++ の経験があってそんなに時間かかるか?
「習得」というのがどの程度の基準で見るかにもよるけど いわゆる the book を一通り読んだ後なら コンパイラがあまり助けてくれないところ (unsafe) を除けば マニュアルを見ながら書けばだいたいなんとかなる程度には使えそうなもんだと思うんだが。
- 912 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 13:56:01.98 ID:arzVgFZ3.net]
- C/C++を適当にやってたせいでRustでつまづくってのはありそう
- 913 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:12:09.59 ID:CZFLW0PQ.net]
- >>894
最近はpythonで仕事する機会が多くて、C/C++を4年ほど触ってなかったのと、 仕事の後に疲れた頭で勉強したから体力的にキツかったのと。。。 the bookを読むだけで90時間はかかったわ。検索モジュールを開発しようと思ってるんだけど いきなり実装に入るより読経した方がマシな感じで、regexのコードを読んでる 既に10時間読経に捧げて、あと10時間は追加の読経が必要な感じ この後、形態素解析エンジンのコードも読む必要があるから、追加で20時間はお勉強する予定であわせて130時間 ……重いです
- 914 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:23:24.55 ID:arzVgFZ3.net]
- >>896
おつかれよくがんばった
- 915 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 14:50:46.17 ID:tvouuqwU.net]
- >>896
the bookでの90時間の中身がわからないので何とも言えないかな bookだけを読んだのか それともdocsやreferenceと行き来して読んだのか サンプルコードくらいのことを書けるようになっただけなのか それとも各機構や機能を本質的に理解したのでdocsなど見ればbookに書かれてないことも書けるようになったのか などピンキリだよね
- 916 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 15:08:45.88 ID:IG9zAVYP.net]
- >>890
一般的にですが、 自分が使いたい新たな言語の学習で、辛いとかキツいとか後悔とか感じる人はプログラマーに向いていません。 プログラマーに向いてる人たちにとっては、新たな学習や会得はワクワク楽しくてその時間を後悔することもありません。
- 917 名前:デフォルトの名無しさん [2024/01/19(金) 15:23:39.42 ID:w30sYh7E.net]
- >>899
禿同だな
- 918 名前:デフォルトの名無しさん [2024/01/19(金) 15:25:17.10 ID:1KLWZB9m.net]
- 件の人は質問がどれもバカっぽかったから習得からは程遠い印象
- 919 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 16:19:14.85 ID:vjpbBz8R.net]
- Rust の個々の機能が難しいとは感じないけど
綺麗に噛み合うように全体を設計するのは C++ とは違う感覚が要るから 大きいプログラムを綺麗に設計しようとしたら最初はしんどいかも。 ボトムアップ的なスタイルで書いていくのをオススメする。
- 920 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 16:39:45.44 ID:8qrrLmZj.net]
- 逆かな
みんなリファクタリングが機能しないからRustだとボトムアップじゃだめだと分かっかんだよ
- 921 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 16:40:26.29 ID:Rx8gKVuk.net]
- the book自体の難しさがあるというか
- 922 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 17:22:29.33 ID:5TL7zSTv.net]
- the bookを頭から読むやつなんているんだ
大してわかりやすくもないし 説明が冗長な感じだからChatGPT使った方が良いぞ
- 923 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 17:23:51.53 ID:vjpbBz8R.net]
- 初心者にとって知らんことが書いてあるんだからそんなにスラスラとは読めないのは当たり前だし、文章自体に問題があるようには感じないな。
改善すべき点がゼロなわけではないが、少なくとも C++ を分かっているくらいの人が最初に読むには十分すぎるほどに良書じゃないの。
- 924 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 17:34:10.12 ID:vjpbBz8R.net]
- 説明対象がもつ難易度より分かりやすい説明があったとしたらその説明は嘘であるか不足しているってことだ。
本来の難易度は後にならないと分からないから学習者本人には見分けられない。
- 925 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 17:55:40.81 ID:88sLHWJm.net]
- ガリ勉完璧主義者ほど隅から隅まで理解しようとするけど
要領よくChatGPTを使いこなすチャラ男に天然GPTとしてカモられている
- 926 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 18:00:19.70 ID:88sLHWJm.net]
- 天然GPT本人はマウントして気持ち良くなりたいから他のみんなと勉強会じゃなくて家でガリ勉なんだ
- 927 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 18:05:32.43 ID:5TL7zSTv.net]
- 作りたいものを決めてそれを実現するための知識をChatGPTで調べるというやり方のほうがはるかに効率が良いよ
多少間違ったこと教えてきたり 古かったりするけどそれはもう気にしてたら仕方がないので 無視してどんどん手を動かすほうが良い
- 928 名前:デフォルトの名無しさん [2024/01/19(金) 18:15:21.92 ID:1hwMDgMT.net]
- The Bookは簡潔にまとめるために説明をやや端折り気味
書いてる内容自体が難しいわけじゃないけど深い理解には至らないから腹落ち感を得にくい あんまり期待しすぎず無料で読める基本チュートリアルとして捉えておくべき
- 929 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 18:26:39.26 ID:OWRF5bQs.net]
- ところでこのスレには組み込み開発でRustを使ってる人はいるの?
- 930 名前:デフォルトの名無しさん [2024/01/19(金) 18:38:50.67 ID:5qNxVIXw.net]
- 組み込みは頭おじいちゃんが支配してるからRust使える人いないよ
- 931 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 18:49:19.87 ID:AbS8PLZw.net]
- そう組み込みも重要な分野だから、これにRustが皆無な時点で大手では大々的に採用されていないって事、せいぜい窓際
「実際に仕事で使われているプログラミング言語」(2023) https://qiita.com/mmake/items/b346cb32ccc3bcb5d03f
- 932 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 18:52:09.31 ID:wGMq60ju.net]
- そうだ窓際追い出し目的でおじいちゃんにRustやらよう
- 933 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 18:53:27.57 ID:wGMq60ju.net]
- そうだ窓際追い出し目的でおじいちゃんにRustやらせよう
本当にあるな
- 934 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 18:54:40.94 ID:75Zji/CQ.net]
- 今時の組み込みって何使ってるんだろ?
- 935 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 18:55:15.30 ID:Nlxayr7x.net]
- >>903
Rustでもリファクタリング前提で書き始めるのがいいよ 早すぎる構造決め打ちや早すぎる最適化などはせずリファクタリングで対応
- 936 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 19:00:48.51 ID:SK8TlxrV.net]
- >>899
んなアホな。 一般的というなら「石の上にも三年」とも「下手の横好き」とも言うから、嫌いだからと言って不向きとは言えない。
- 937 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 19:08:03.87 ID:pqBZI8v7.net]
- 格言おじいちゃん、窓際組み込み?
- 938 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 19:08:58.61 ID:pqBZI8v7.net]
- 格言は説得力とは真逆だと思うの
- 939 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 19:10:50.73 ID:+7/a4sFt.net]
- 自分がこうだから他人もこうあれ
って考えは時代にそぐわない老害感がある
- 940 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 19:11:44.46 ID:pqBZI8v7.net]
- 論理的でもなく屁理屈にも劣ります
- 941 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 19:12:08.48 ID:SK8TlxrV.net]
- >>896
Rustは絶壁の学習曲線だから、段階的な学習は難しい。少なくともスタックフレームの動きを意識できないとキツイと思う。 Rustを使った開発も、小さく始める段階的開発とかきついんじゃない?ひたすらスクラップ&ビルド繰り返しそう。
- 942 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 20:04:18.16 ID:U1u9K+K0.net]
- >>924
スタックフレームはコンピュータの基礎知識であってC言語でも必須でありそれをRustの問題にする人はいない 段階的開発がキツいという主張もそんなことはなく根拠もない
- 943 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 21:01:18.97 ID:vjpbBz8R.net]
- 全体を綺麗に構成することはしづらくても小さなモジュール単位でならそれなりに構成できるからそれを繰り返せばいい。
全体の構成を考えてから作るよりは汚いだろうけど、綺麗な全体の構成を考えるなんていう出来もしないことをやるよりはそういうボトムアップ方式のほうが少なくとも途中まではまあまあに出来る。 もちろんちゃんと全部をまともに構成できるだけの能力を身に付けられるならそれに越したことはないよ。 でも実際問題として初心者にはできないじゃんと思ったからボトムアップ方式のほうが(初心者の内は)よさそうと考えてる。
- 944 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 21:22:17.40 ID:U1u9K+K0.net]
- 他の言語と同じ
そこにRust固有の問題はないな
- 945 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:20:52.17 ID:5TL7zSTv.net]
- >>924
意識するのはヒープじゃないか? スタックフレームは解放されるんだから意識しないで良いんだぞ
- 946 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:39:11.81 ID:vjpbBz8R.net]
- 変数の寿命と連動するから意識するよ。
C/C++ の世界だと当たり前のことだから意識してる自覚すらないレベルで自然に考えてるけど。
- 947 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:39:43.86 ID:eEzmAF9q.net]
- 人格をもたない書物は効率が悪いという風潮は面白い
人格がなければ報酬とか私刑とかができないってことだろうか
- 948 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 22:43:52.06 ID:Hr4uH45j.net]
- 進行が早くなったのでいつもの
次スレはなしで既存のワッチョイスレにしよう 過疎るのは既定路線なので頃合いでしょ
- 949 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 23:05:04.70 ID:Rx8gKVuk.net]
- 「スタックフレームを意識する」というのはどの程度を指してるんだろう。
どれがスタックに積まれるかとどうスタックに積まれるかは違うわけで。
- 950 名前:デフォルトの名無しさん [2024/01/19(金) 23:24:13.49 ID:LbAGY+B7.net]
- >>924
スタックフレームの動きってプログラミング初心者でも何の問題もなく理解できるやろ 学習曲線めちゃ緩やかじゃん
- 951 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 23:35:33.58 ID:QqY+6sl7.net]
- オラから『Rustの練習帳』って新刊が出るんだね
タイトルがエモい
- 952 名前:デフォルトの名無しさん mailto:sage [2024/01/19(金) 23:44:43.13 ID:NtpPLEep.net]
- ワクワクすっぞ
- 953 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 00:29:37.21 ID:zhjwtCng.net]
- オライリーをオラと略す人は初めて見た
- 954 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 00:46:25.56 ID:B5JkVzvF.net]
- そう?
オラの村では普通だでね
- 955 名前:デフォルトの名無しさん [2024/01/20(土) 01:10:08.13 ID:ppE6WkEJ.net]
- 都会は進んでるなあー
- 956 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 01:16:50.20 ID:zhjwtCng.net]
- ミスチルはわかるんだ
ミスター・チルドレンは長いから サザンもサザンオールスターズは長いからわかる マクドもマクドナルドは長いからギリわかる オライリーをオラは無いだろ たかが2文字略すなと思った ま、どうでもいいんだがな
- 957 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 01:51:39.52 ID:HZE0SdTu.net]
- スクリプト言語出身者が増えたせいだよ
スタックフレームやヒープなんてCSやってりゃ習うでしょ コンパイラかコンピュータアーキテクチャでやる スクリプト言語はスタックフレームの開放も全てGCがやることになるから 全く意識しないんだよな
- 958 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 01:55:10.81 ID:ppE6WkEJ.net]
- スクリプト言語に限らず、C/C++を書かなければそこら辺に気を使う機会はないよ
- 959 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 07:57:38.44 ID:lqSANakz.net]
- >>937
公式にオラの村ってのがあるよね
- 960 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 08:33:10.42 ID:QXcnqV7m.net]
- GCありでパフォーマンスも関係ないなら、スコープだけ気にしていれば困らないしね。
- 961 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 08:49:07.11 ID:G76ZEaWY.net]
- >>939
マクドじゃなくてマックね
- 962 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 09:18:20.17 ID:viZi/CYZ.net]
- webサービスまわりは全部スクリプト言語かGCランタイム付き言語だもんなあ
- 963 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 11:01:53.93 ID:ppE6WkEJ.net]
- 最近は組み込みもC/C++を使う理由がないことが多い
- 964 名前:デフォルトの名無しさん [2024/01/20(土) 11:38:27.03 ID:lE+lj03S.net]
- オラは「Rust for Rustaceans」の訳書出さないな
本格的にRustやるなら必読書なんだけどな
- 965 名前:デフォルトの名無しさん [2024/01/20(土) 11:42:02.65 ID:o5qofGYG.net]
- スクリプト言語はともかく静的にコンパイルする言語ならGC言語でもスタック/ヒープは意識するけどね
- 966 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:07:36.77 ID:KBzblFQB.net]
- >>945
CPU時間(ミリ秒)あたりで課金されるからこそのRustだよ
- 967 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:23:09.39 ID:+uoYRouQ.net]
- オンプレミスでも同じ
Rustで書くかスクリプト言語で書くかでサーバーやメモリの必要量が何倍も変わる 電気代も節約できRustはエコにも貢献
- 968 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:30:18.74 ID:KBzblFQB.net]
- そう、CO2排出量を考えたら、Rust以外で書くのは社会にとっての悪
- 969 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:33:36.69 ID:wJQgtkwZ.net]
- 昔は全体の性能に余裕があって I/O (ストレージと通信) が極端に足を引っ張る状況だったから言語処理系の動作速度は問題にならなかったけど今は全ての性能をギリギリまで絞り出す勝負に変わってる感じだね。
- 970 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:46:54.29 ID:+pH1NoHl.net]
- Rust言語は
・タイプセーフ、メモリセーフによる高い安全性 ・並列プログラミング処理設計 ・ガベージコレクタのようなランタイム無しに動作 だから、これらを活かせる製品に採用したらいいんじゃないかな いまどきそんなのは組み込みロボットとかカーネルやエンコーダデコーダくらいしかないような気がするけど
- 971 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 12:56:12.54 ID:UT8XEnd7.net]
- >>953
その条件ならウェブに向いてるね そして実際に使われてるね
- 972 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:15:54.83 ID:KWXCbsaH.net]
- ウェブっていうかwasmじゃね?
rustじゃないけどffmpegのwasm実装は使ったことある
- 973 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:17:39.73 ID:NDqmkpk/.net]
- >>954
Webって言っても大規模なユーザーがいるようなものじゃない? 大した事無いサービスで、スペック高い人が必要なRustはまだまだ辛い気がする。Javascript並みに誰でも使えますって世の中になったらRust一択でも良いのかもしれないけれど。
- 974 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:22:10.20 ID:KBzblFQB.net]
- AWSもGCPもサーバーレス環境とかのランタイムや下周りがだいたいRustで書いてある
- 975 名前:デフォルトの名無しさん [2024/01/20(土) 13:22:24.95 ID:lxegQoou.net]
- CO2排出量は難しいな
Rust書けない人間がCO2排出するだけのうんこ生産機になってしまうのもあんまエコじゃない気がする
- 976 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:24:24.78 ID:tKcafxZR.net]
- actix-webはどうなん?自分はよく知らんのだが使ってる人いるんけ?
- 977 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:24:56.70 ID:NDqmkpk/.net]
- >>958
そんなこと言ってると、Rustへのリスキリング時のco2排出量もRustのコストって言われちゃうぞ。
- 978 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:27:59.09 ID:KBzblFQB.net]
- CO2排出量を考えて、コンパイル中は息を止めている
- 979 名前:デフォルトの名無しさん [2024/01/20(土) 13:34:01.02 ID:vYJJrZqN.net]
- JavaがOracle事件で終わって脱SpringでRustのActixがついに普及するかなと思ったらC#のASP.NETにみんな行っちゃった
- 980 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:39:08.81 ID:tKcafxZR.net]
- >>962
そうなんか…
- 981 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 13:57:32.93 ID:ngmk9luX.net]
- Javaが脱Springなんて馬鹿げた事言い出してるのかと見間違えたが
脱Javaの話か Rustは学習コスト高いからJavaでやってた様な大人数プロジェクトには向かんだろう
- 982 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 14:59:14.28 ID:ppE6WkEJ.net]
- みんな経済合理性でRustを選択するんだよな
- 983 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 15:49:27.64 ID:w9m16ZcP.net]
- >>952
特に機械学習ではその方向が顕著 MLIRみたいにSIMDやGPUを使う前提でIRが設計されてる Node.jsが切り開いた非同期IOの登場もでかい これによってIOの比重が高いプログラムでもIO待ちがなくなり さらにマルチコア、GPUを活かせる環境が整った 一方Rustはtokioなどの非同期IOを実現できるフレームワークが山のようにある さらにSIMD命令を直接使える仕様も整備されてきている (LLVMの最適化によって勝手に使われることも多いが) マルチスレッドは言わずもがな 他の言語でこれらを全てサポートしている言語はない 現在の最先端の環境を活かせる言語は他に選択肢がない <
- 984 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 16:00:45.48 ID:tKcafxZR.net]
- RustのWebアプリケーションは未履修だけどぜひやりたいなあ
- 985 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 18:46:27.21 ID:PTOG17pe.net]
- >>954
Webで使うにはTokioなどの重量級ランタイムが必要 ただ利用するだけなら難しくはないけどエコシステム含めそこまで安定しているものじゃないのでランタイム含め自力で修正できる力が必須
- 986 名前:デフォルトの名無しさん [2024/01/20(土) 18:55:33.87 ID:I+Fu8n3P.net]
- >>964
90年代後半にコボラーがJavaでWebアプリを作れるようになるための学習コストに比べればRustの学習コストは断然低い
- 987 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 19:12:06.87 ID:6DBgVQg4.net]
- >>969
その時期にいた純粋コボラーって定年間際のジジイじゃん。そりゃ学習コスト高いわ。
- 988 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 19:21:51.44 ID:w9m16ZcP.net]
- httpclientもそれぞれのイベントループに対応したものをつかわないとダメだから割と面倒なんだよね
使い方もフレームワークによってかなりクセが違っていて面倒だし ぶっちゃけWebはGoやpythonでいいんじゃねーかって思う
- 989 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 19:26:03.92 ID:tKcafxZR.net]
- Goでいいは分かる
- 990 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 19:56:32.80 ID:k6CjZuQW.net]
- Go のランタイムサポートは分厚めだがどうせ要るもの(やること)と考えればそんなに速度的に不利なわけではないよな。
- 991 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 20:11:15.24 ID:u/fg5YR1.net]
- 速度的にはGoで十分なんだけど型とか貧弱すぎるんだよな…
sumタイプとパターンマッチくらいは欲しい
- 992 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 20:17:19.49 ID:tNrs3Odf.net]
- >>968
tokioは他言語と比べて大きくない そして安定している >>971 各言語に複数のイベントループライブラリがあってその通りだが Rustはデファクトスタンダードがあるためそこで困ることはない
- 993 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 21:17:45.54 ID:w9m16ZcP.net]
- >>975
いやデファクトがあるのは良いけど 例えばコマンド実行1つとっても tokio::process::commandとか使わなきゃいけなくてなんだかなあと 非同期版じゃないのと区別しなきゃいけなくて嫌気が刺す まあpythonもasync使えば同じことなのだけど
- 994 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 21:24:03.71 ID:w9m16ZcP.net]
- まあ俺はRust信者だから使うのだけど普通の人はなかなか辛いんじゃないかなーと
その点Goは何も考えなくて良いしpythonもasync使わなけりゃ同期的に書けるし
- 995 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 21:48:04.29 ID:USm4U3n4.net]
- >>976
PythonもasyncはそうだしJavaScript(Node)も同期execと非同期exec分かれているし 動作が異なるのだから別になるのは当たり前 もちろんRustでも同様で そもそも関数の返り値が異なる だから関数が分かれているのは正しい したがって一番下位のライブラリが別であることに何ら問題はない 一方で中位ライブラリ作成側の視点に立つと 同期か非同期かだけの違いでasync/awitを除いて全く同じ構造の関数を作ることになる そのため『?async』キーワードによるジェネリック化がRustでは進められている 期待しているのはこの話でよいのか?
- 996 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 23:05:04.71 ID:w9m16ZcP.net]
- >>978
いや見た目は似ててもpythonとはだいぶ違うよ まずpythonでのasync defは単なるコルーチンオブジェクトなので非同期とか関係ない これにより恐ろしい柔軟性を持ってる さらにWebにおいてはASGIという非同期Webフレームワークが満たすべき仕様をまず決めた その仕様を満たしさえすればどのような実装でも非同期の機能を満たせるような仕様となっている そこにはもうイベントループなどの概念は消え去っている さらに同期版と同居できる仕様となっている なのでdjangoなどは同期版と非同期版の切り替えが可能となっている このように明らかにユーザーフレンドリーな姿勢を貫いている
- 997 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 23:17:14.31 ID:wyzQTwgG.net]
- >>979
Rustのasyncもコルーチンだぞ まずは理解してから出直して来い
- 998 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 23:26:48.19 ID:HZE0SdTu.net]
- >>980
コルーチンではないでしょ
- 999 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 23:49:39.00 ID:nUH4CzWh.net]
- Rustのasyncはstackless croutineでstate machineとなっている
個別stackのresouceもswitchingも不要なため軽くて有利
- 1000 名前:デフォルトの名無しさん mailto:sage [2024/01/20(土) 23:50:29.43 ID:u/fg5YR1.net]
- Rustのasyncは(スタックレス)コルーチンである
Rustのasyncは(スタックフル)コルーチンではない どっちも正しいとは思うけど
- 1001 名前:デフォルトの名無しさん [2024/01/21(日) 10:13:23.50 ID:VnWGTEfZ.net]
- >>977
Rustが活きるのってやっぱり軍事系じゃないかな 兵器の制御とかGCなんてもってのほかだし速度も必要 メモリリークも起こせない
- 1002 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 11:18:24.63 ID:JCOE1HZY.net]
- DAD御用達?
- 1003 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 11:24:54.33 ID:8LqvrPkW.net]
- 物理攻撃にソフトウェアを活用するってある意味「お花畑」だよな
- 1004 名前:デフォルトの名無しさん [2024/01/21(日) 11:29:12.59 ID:7K9itJgV.net]
- パパ活か?DoDだろ
DoD御用達はAdaだぞ
- 1005 名前:デフォルトの名無しさん [2024/01/21(日) 11:46:34.67 ID:VnWGTEfZ.net]
- やっぱりAdaしかないか
プリプロセッサ使うのもNGだからマクロがダメなんかな
- 1006 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 11:59:39.08 ID:dFB+Bg2+.net]
- とはいえF-35はC++だったんだし、そのうちRust採用されてもおかしくはないけどな
- 1007 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 12:09:12.81 ID:4CYZ0hXB.net]
- The Book読んでコード打ち込んだりしたが理解できた気がしない
次はどうすればいいの
- 1008 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 13:24:30.49 ID:8LqvrPkW.net]
- 仕様の次は実装とか
いま極端なところにいる奴は次はもう一方の極端に行けばいいし ちょうどいい位置にいる奴は一生そこに居続ければいいのでは?
- 1009 名前:デフォルトの名無しさん [2024/01/21(日) 14:20:11.30 ID:sCtD39A+.net]
- >>990
理解できてないと感じるのがunsafeやasyncやマクロ辺りならそこは一旦放置して小さいCLIツールをいくつか書いて実践経験を一度積むほうがいいかもしれない 逆にownership/reference/lifetime/generic/traitといったコアなところが理解できてないと感じるならオライリー本など別の入門書をすすめる
- 1010 名前:デフォルトの名無しさん [2024/01/21(日) 15:14:08.20 ID:eSjvKxMy.net]
- >>989
Rustは使われない ISOプロセスは産業界の評価が高い
- 1011 名前:デフォルトの名無しさん [2024/01/21(日) 15:15:15.91 ID:eSjvKxMy.net]
- F-15は50年以上空を飛んでいることを思い出してほしい
Rustは50年後存在しない
- 1012 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 15:44:39.63 ID:cX88PWDV.net]
- >>993
Rustのスポンサー欄を見ればわかるけど将来Rustが使われるのは確定されたことだぞ アンチさんどんまい
- 1013 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 15:46:08.09 ID:4rk7TZPC.net]
- 統計学的に会社や国家、生物種の存続見込みを解析した例を見たことが有るな。
これまでの歴史が長いものはこれからも長く続く可能性が高い。
- 1014 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 15:50:57.32 ID:eziZnnQK.net]
- >>996
Javaみたいにホストがアホなことするとすぐ廃れるけどな
- 1015 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 16:55:47.23 ID:4CYZ0hXB.net]
- >>992
ありがと
- 1016 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 19:43:22.00 ID:/dcZ0aWP.net]
- 次スレ
Rust part22 https://mevius.5ch.net/test/read.cgi/tech/1705760500/
- 1017 名前:デフォルトの名無しさん mailto:sage [2024/01/21(日) 20:22:28.74 ID:mpR7a4j6.net]
- >>994
C++みたいに、色々な実装がでてくれは、50年後にも生きてるんじゃない?
- 1018 名前:1001 [Over 1000 Thread ID:Thread.net]
- このスレッドは1000を超えました。
新しいスレッドを立ててください。 life time: 158日 21時間 57分 50秒
- 1019 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|