公式
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/
Rust part21
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
2023/08/15(火) 22:24:39.45ID:xzxy4cgp965デフォルトの名無しさん
2024/01/20(土) 14:59:14.28ID:ppE6WkEJ みんな経済合理性でRustを選択するんだよな
966デフォルトの名無しさん
2024/01/20(土) 15:49:27.64ID:w9m16ZcP >>952
特に機械学習ではその方向が顕著
MLIRみたいにSIMDやGPUを使う前提でIRが設計されてる
Node.jsが切り開いた非同期IOの登場もでかい
これによってIOの比重が高いプログラムでもIO待ちがなくなり
さらにマルチコア、GPUを活かせる環境が整った
一方Rustはtokioなどの非同期IOを実現できるフレームワークが山のようにある
さらにSIMD命令を直接使える仕様も整備されてきている
(LLVMの最適化によって勝手に使われることも多いが)
マルチスレッドは言わずもがな
他の言語でこれらを全てサポートしている言語はない
現在の最先端の環境を活かせる言語は他に選択肢がない
特に機械学習ではその方向が顕著
MLIRみたいにSIMDやGPUを使う前提でIRが設計されてる
Node.jsが切り開いた非同期IOの登場もでかい
これによってIOの比重が高いプログラムでもIO待ちがなくなり
さらにマルチコア、GPUを活かせる環境が整った
一方Rustはtokioなどの非同期IOを実現できるフレームワークが山のようにある
さらにSIMD命令を直接使える仕様も整備されてきている
(LLVMの最適化によって勝手に使われることも多いが)
マルチスレッドは言わずもがな
他の言語でこれらを全てサポートしている言語はない
現在の最先端の環境を活かせる言語は他に選択肢がない
967デフォルトの名無しさん
2024/01/20(土) 16:00:45.48ID:tKcafxZR RustのWebアプリケーションは未履修だけどぜひやりたいなあ
968デフォルトの名無しさん
2024/01/20(土) 18:46:27.21ID:PTOG17pe969デフォルトの名無しさん
2024/01/20(土) 18:55:33.87ID:I+Fu8n3P >>964
90年代後半にコボラーがJavaでWebアプリを作れるようになるための学習コストに比べればRustの学習コストは断然低い
90年代後半にコボラーがJavaでWebアプリを作れるようになるための学習コストに比べればRustの学習コストは断然低い
970デフォルトの名無しさん
2024/01/20(土) 19:12:06.87ID:6DBgVQg4 >>969
その時期にいた純粋コボラーって定年間際のジジイじゃん。そりゃ学習コスト高いわ。
その時期にいた純粋コボラーって定年間際のジジイじゃん。そりゃ学習コスト高いわ。
971デフォルトの名無しさん
2024/01/20(土) 19:21:51.44ID:w9m16ZcP httpclientもそれぞれのイベントループに対応したものをつかわないとダメだから割と面倒なんだよね
使い方もフレームワークによってかなりクセが違っていて面倒だし
ぶっちゃけWebはGoやpythonでいいんじゃねーかって思う
使い方もフレームワークによってかなりクセが違っていて面倒だし
ぶっちゃけWebはGoやpythonでいいんじゃねーかって思う
972デフォルトの名無しさん
2024/01/20(土) 19:26:03.92ID:tKcafxZR Goでいいは分かる
973デフォルトの名無しさん
2024/01/20(土) 19:56:32.80ID:k6CjZuQW Go のランタイムサポートは分厚めだがどうせ要るもの(やること)と考えればそんなに速度的に不利なわけではないよな。
974デフォルトの名無しさん
2024/01/20(土) 20:11:15.24ID:u/fg5YR1 速度的にはGoで十分なんだけど型とか貧弱すぎるんだよな…
sumタイプとパターンマッチくらいは欲しい
sumタイプとパターンマッチくらいは欲しい
975デフォルトの名無しさん
2024/01/20(土) 20:17:19.49ID:tNrs3Odf976デフォルトの名無しさん
2024/01/20(土) 21:17:45.54ID:w9m16ZcP >>975
いやデファクトがあるのは良いけど
例えばコマンド実行1つとっても
tokio::process::commandとか使わなきゃいけなくてなんだかなあと
非同期版じゃないのと区別しなきゃいけなくて嫌気が刺す
まあpythonもasync使えば同じことなのだけど
いやデファクトがあるのは良いけど
例えばコマンド実行1つとっても
tokio::process::commandとか使わなきゃいけなくてなんだかなあと
非同期版じゃないのと区別しなきゃいけなくて嫌気が刺す
まあpythonもasync使えば同じことなのだけど
977デフォルトの名無しさん
2024/01/20(土) 21:24:03.71ID:w9m16ZcP まあ俺はRust信者だから使うのだけど普通の人はなかなか辛いんじゃないかなーと
その点Goは何も考えなくて良いしpythonもasync使わなけりゃ同期的に書けるし
その点Goは何も考えなくて良いしpythonもasync使わなけりゃ同期的に書けるし
978デフォルトの名無しさん
2024/01/20(土) 21:48:04.29ID:USm4U3n4 >>976
PythonもasyncはそうだしJavaScript(Node)も同期execと非同期exec分かれているし
動作が異なるのだから別になるのは当たり前
もちろんRustでも同様で
そもそも関数の返り値が異なる
だから関数が分かれているのは正しい
したがって一番下位のライブラリが別であることに何ら問題はない
一方で中位ライブラリ作成側の視点に立つと
同期か非同期かだけの違いでasync/awitを除いて全く同じ構造の関数を作ることになる
そのため『?async』キーワードによるジェネリック化がRustでは進められている
期待しているのはこの話でよいのか?
PythonもasyncはそうだしJavaScript(Node)も同期execと非同期exec分かれているし
動作が異なるのだから別になるのは当たり前
もちろんRustでも同様で
そもそも関数の返り値が異なる
だから関数が分かれているのは正しい
したがって一番下位のライブラリが別であることに何ら問題はない
一方で中位ライブラリ作成側の視点に立つと
同期か非同期かだけの違いでasync/awitを除いて全く同じ構造の関数を作ることになる
そのため『?async』キーワードによるジェネリック化がRustでは進められている
期待しているのはこの話でよいのか?
979デフォルトの名無しさん
2024/01/20(土) 23:05:04.71ID:w9m16ZcP >>978
いや見た目は似ててもpythonとはだいぶ違うよ
まずpythonでのasync defは単なるコルーチンオブジェクトなので非同期とか関係ない
これにより恐ろしい柔軟性を持ってる
さらにWebにおいてはASGIという非同期Webフレームワークが満たすべき仕様をまず決めた
その仕様を満たしさえすればどのような実装でも非同期の機能を満たせるような仕様となっている
そこにはもうイベントループなどの概念は消え去っている
さらに同期版と同居できる仕様となっている
なのでdjangoなどは同期版と非同期版の切り替えが可能となっている
このように明らかにユーザーフレンドリーな姿勢を貫いている
いや見た目は似ててもpythonとはだいぶ違うよ
まずpythonでのasync defは単なるコルーチンオブジェクトなので非同期とか関係ない
これにより恐ろしい柔軟性を持ってる
さらにWebにおいてはASGIという非同期Webフレームワークが満たすべき仕様をまず決めた
その仕様を満たしさえすればどのような実装でも非同期の機能を満たせるような仕様となっている
そこにはもうイベントループなどの概念は消え去っている
さらに同期版と同居できる仕様となっている
なのでdjangoなどは同期版と非同期版の切り替えが可能となっている
このように明らかにユーザーフレンドリーな姿勢を貫いている
980デフォルトの名無しさん
2024/01/20(土) 23:17:14.31ID:wyzQTwgG981デフォルトの名無しさん
2024/01/20(土) 23:26:48.19ID:HZE0SdTu >>980
コルーチンではないでしょ
コルーチンではないでしょ
982デフォルトの名無しさん
2024/01/20(土) 23:49:39.00ID:nUH4CzWh Rustのasyncはstackless croutineでstate machineとなっている
個別stackのresouceもswitchingも不要なため軽くて有利
個別stackのresouceもswitchingも不要なため軽くて有利
983デフォルトの名無しさん
2024/01/20(土) 23:50:29.43ID:u/fg5YR1 Rustのasyncは(スタックレス)コルーチンである
Rustのasyncは(スタックフル)コルーチンではない
どっちも正しいとは思うけど
Rustのasyncは(スタックフル)コルーチンではない
どっちも正しいとは思うけど
984デフォルトの名無しさん
2024/01/21(日) 10:13:23.50ID:VnWGTEfZ985デフォルトの名無しさん
2024/01/21(日) 11:18:24.63ID:JCOE1HZY DAD御用達?
986デフォルトの名無しさん
2024/01/21(日) 11:24:54.33ID:8LqvrPkW 物理攻撃にソフトウェアを活用するってある意味「お花畑」だよな
987デフォルトの名無しさん
2024/01/21(日) 11:29:12.59ID:7K9itJgV パパ活か?DoDだろ
DoD御用達はAdaだぞ
DoD御用達はAdaだぞ
988デフォルトの名無しさん
2024/01/21(日) 11:46:34.67ID:VnWGTEfZ やっぱりAdaしかないか
プリプロセッサ使うのもNGだからマクロがダメなんかな
プリプロセッサ使うのもNGだからマクロがダメなんかな
989デフォルトの名無しさん
2024/01/21(日) 11:59:39.08ID:dFB+Bg2+ とはいえF-35はC++だったんだし、そのうちRust採用されてもおかしくはないけどな
990デフォルトの名無しさん
2024/01/21(日) 12:09:12.81ID:4CYZ0hXB The Book読んでコード打ち込んだりしたが理解できた気がしない
次はどうすればいいの
次はどうすればいいの
991デフォルトの名無しさん
2024/01/21(日) 13:24:30.49ID:8LqvrPkW 仕様の次は実装とか
いま極端なところにいる奴は次はもう一方の極端に行けばいいし
ちょうどいい位置にいる奴は一生そこに居続ければいいのでは?
いま極端なところにいる奴は次はもう一方の極端に行けばいいし
ちょうどいい位置にいる奴は一生そこに居続ければいいのでは?
992デフォルトの名無しさん
2024/01/21(日) 14:20:11.30ID:sCtD39A+ >>990
理解できてないと感じるのがunsafeやasyncやマクロ辺りならそこは一旦放置して小さいCLIツールをいくつか書いて実践経験を一度積むほうがいいかもしれない
逆にownership/reference/lifetime/generic/traitといったコアなところが理解できてないと感じるならオライリー本など別の入門書をすすめる
理解できてないと感じるのがunsafeやasyncやマクロ辺りならそこは一旦放置して小さいCLIツールをいくつか書いて実践経験を一度積むほうがいいかもしれない
逆にownership/reference/lifetime/generic/traitといったコアなところが理解できてないと感じるならオライリー本など別の入門書をすすめる
993デフォルトの名無しさん
2024/01/21(日) 15:14:08.20ID:eSjvKxMy994デフォルトの名無しさん
2024/01/21(日) 15:15:15.91ID:eSjvKxMy F-15は50年以上空を飛んでいることを思い出してほしい
Rustは50年後存在しない
Rustは50年後存在しない
995デフォルトの名無しさん
2024/01/21(日) 15:44:39.63ID:cX88PWDV996デフォルトの名無しさん
2024/01/21(日) 15:46:08.09ID:4rk7TZPC 統計学的に会社や国家、生物種の存続見込みを解析した例を見たことが有るな。
これまでの歴史が長いものはこれからも長く続く可能性が高い。
これまでの歴史が長いものはこれからも長く続く可能性が高い。
997デフォルトの名無しさん
2024/01/21(日) 15:50:57.32ID:eziZnnQK >>996
Javaみたいにホストがアホなことするとすぐ廃れるけどな
Javaみたいにホストがアホなことするとすぐ廃れるけどな
998デフォルトの名無しさん
2024/01/21(日) 16:55:47.23ID:4CYZ0hXB >>992
ありがと
ありがと
999デフォルトの名無しさん
2024/01/21(日) 19:43:22.00ID:/dcZ0aWP1000デフォルトの名無しさん
2024/01/21(日) 20:22:28.74ID:mpR7a4j6 >>994
C++みたいに、色々な実装がでてくれは、50年後にも生きてるんじゃない?
C++みたいに、色々な実装がでてくれは、50年後にも生きてるんじゃない?
10011001
Over 1000Thread このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 158日 21時間 57分 50秒
新しいスレッドを立ててください。
life time: 158日 21時間 57分 50秒
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 【サッカー】U-17日本代表、激闘PK戦制す 北朝鮮撃破で6大会ぶり8強入り U17W杯 [久太郎★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★3 [ぐれ★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 現役猟師・東出昌大、クマ被害続出も過熱する報道に「クマはそんな危ないもんじゃない」理由語る [muffin★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- ハゲがレジやってるコンビニって
- 4時だから窓から4回ちんこ出した
- クマどもが冬眠拒否
- Perfume・あ~ちゃんの結婚相手の一般男性、吉田カバンの社長と判明 [977261419]
- 自民党議員「高市は先人が築き上げた日中関係を壊した。外務省が謝罪に言ってるが自分で責任を取れ」 [834922174]
- 宇宙飛行士 vs 超天才数学者
