Rust part27

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
垢版 |
2024/12/02(月) 22:32:50.31ID:D+1pIyvG
公式
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 part26
https://mevius.5ch.net/test/read.cgi/tech/1726838318/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2025/03/22(土) 12:11:53.98ID:IPTdsePr
いうてGUIやるならクラス継承がないときつくね?
2025/03/22(土) 12:13:52.50ID:IPTdsePr
RustやGoをやる人はフロントをやらないからクラス無しで十分なんだろうけどさ
2025/03/22(土) 12:14:46.71ID:20oTaz9t
絶対にC++じゃないところ以外はc++使わなくなった
iotとかの組み込みとか

他人のソース読むのもめんどくさい
2025/03/22(土) 12:18:05.67ID:/Xq5kWDX
ここはRustスレで組み込み屋の集う場所
フロント屋も居ていいけど話が噛み合わないことを自覚してくれ
2025/03/22(土) 12:19:02.77ID:JDdxCEyD
>>839 >>840
GUIはクラス継承の典型的な失敗適用ケースの一つとして有名だ
無理やりにピラミッドな歪んだクラス継承で作られているか無茶なクラス多重継承で作られているかになってしまっている
もちろんGUIはクラスを使わずにトレイトやインターフェイスなどで複数の機能を多重に実装するのが好ましい
2025/03/22(土) 12:19:21.85ID:20oTaz9t
いのなかのかわずではいけない
llmぐらい使えないと
845デフォルトの名無しさん
垢版 |
2025/03/22(土) 12:22:13.13ID:+aAOpttf
自称組み込み屋では
846デフォルトの名無しさん
垢版 |
2025/03/22(土) 12:24:51.61ID:+aAOpttf
Trait境界
2025/03/22(土) 12:25:22.83ID:F6xx6yRe
Javaの悪口はやめなくていいよもっとやれ~
2025/03/22(土) 12:28:08.50ID:20oTaz9t
Javaは偉大な功績があった
30年前のスターで今は選ばれないだけ

自分の母親をBBAと言うのと同じメンタリティ
849デフォルトの名無しさん
垢版 |
2025/03/22(土) 12:29:33.62ID:+aAOpttf
Trait制約
2025/03/22(土) 12:33:14.93ID:20oTaz9t
javaは多くの人をC++から救った功労者
時代とパラダイムが変わり今はRustがC++から多くの人を救う功労者に
2025/03/22(土) 12:33:33.59ID:pQ0AfiNn
OracleがアホなのであってJavaは悪くないおじさんになっていいか?
2025/03/22(土) 12:56:47.52ID:nNEN9uWE
>>851
Oracle 的ライセンス形態は Java の一部だ。
不可分なものを分けて考えるのはナンセンス。
2025/03/22(土) 13:36:44.76ID:U6/Lg1xx
「RustにはGCが無い」は誤解を産む表現
GCを実装していない訳じゃなくてGCが不要なの
2025/03/22(土) 13:44:37.92ID:dcRxFfMt
メモリ管理を自分でやるかランタイムに任せるか、なんだよね
メモリ管理を自分でやらなくてはいけないとネガティブに捉えるならば「GCが無い」というデメリットになり得る
2025/03/22(土) 13:53:15.19ID:SJ3E9yt4
前にこのスレで話題に出てたように
GCを後回しにして、そのまま終了するようなプログラムだと
RustよりGC付き言語の方が速いことがある
2025/03/22(土) 14:05:17.42ID:U6/Lg1xx
>>851
C++やJavaがアホなのであってObjective-Cは悪く無い
857デフォルトの名無しさん
垢版 |
2025/03/22(土) 14:28:26.15ID:CvXZsmCq
GCか。そういえばGCなしの Java って作れないんだろうか?
2025/03/22(土) 14:52:54.85ID:HDM9FDgQ
>>857
それをやろうとしたのが脱JVMのKotlin/Nativeでしょ
とはいえKotlin/Nativeも独自のGCを作ったが
859デフォルトの名無しさん
垢版 |
2025/03/22(土) 17:02:35.40ID:w9r0aks+
【鹿児島】県警幹部、情報漏洩の疑い 2月には不同意性交疑いで送検 [蚤の市★]
https://asahi.5ch.net/test/read.cgi/newsplus/1742567997/

日本中で多発しているのか?
国民は騙されているのか?
2025/03/22(土) 18:26:15.55ID:nNEN9uWE
ここまで Rust が注目されているのはクラウドの従量課金システムの影響がデカい。

たとえばウェブ系みたいにリクエストをさばいて次のリクエストが来るまでの空き時間に GC が走れば GC の速度ペナルティは問題にならない……
と従来は言われていたんだが従量課金の世界では空き時間という概念が通用しない。
サービスを提供する上では問題にならなくてもかかる金が違うというのは経営層にわかりやすく見えてしまう。
2025/03/22(土) 18:39:47.45ID:+4wHRnDV
ラムダならGC走る前に終われるんでしょ
862デフォルトの名無しさん
垢版 |
2025/03/22(土) 18:54:40.05ID:aLOoKjU5
Web系のサービス分野でRustが注目を浴びてるとは思いづらい
今のところ期待されてるのはCLIツールやシステムプログラミング、組込みなどじゃないの?
Rustの採用例 (Discordなど) はあるけど、有名どころのサービスを列挙していけば他の言語の方がずっと多いと思う

Web系だとRustのGoのようなコンパイル言語を選ぶ企業がいる一方で、「バックエンドにTypeScriptを使う」も妥当な選択肢の一つとして見られたりするくらいだし
(これはフロント側との知識の共有しやすさが理由)
2025/03/22(土) 19:09:06.13ID:+4wHRnDV
Goより茨の道だからやめたほうがいいね。メンバーがついてこれんし。
ライブラリが未整備だろうから自前実装も居るだろう
面倒。Rustのコミッタを集めてOSSにプルリク出していくことが広報になるとか割り切って尖ってくのを経営がOKすればいいが
2025/03/22(土) 19:09:54.71ID:+4wHRnDV
estieあたりはそうなのかな
865デフォルトの名無しさん
垢版 |
2025/03/22(土) 19:09:58.69ID:+aAOpttf
スタートエンドに使うのもあり
866デフォルトの名無しさん
垢版 |
2025/03/22(土) 19:10:54.90ID:+aAOpttf
Rust使うならC++使うわ
2025/03/22(土) 19:15:35.11ID:SJ3E9yt4
ライブラリは未整備ではないが、カジュアルにAPIを変えちゃう傾向がある
あと、chronoみたいな基本的なライブラリが使いづらい
2025/03/22(土) 19:17:42.77ID:wj/QNrNA
>>862
Rustの利用調査でWebバックエンドが利用の最大多数派であったように
Rustといえば主要な使われ方はWebバックエンドだよ
そもそもRustの基幹の一つであるtokioはそのために作られた
goroutineより性能も良い

>>866
C++は絶対にない
tokioやgoroutineに匹敵する非同期インフラすらC++では弱くて無い
2025/03/22(土) 19:27:58.28ID:+4wHRnDV
型安全警察で~す
2025/03/22(土) 19:44:27.97ID:GMYQzWfO
ユーザーは無料で遊べちまうのに業者は課金されるのか
2025/03/22(土) 20:06:41.33ID:LDE6EGsp
>>860
別に注目されてないだろw
872デフォルトの名無しさん
垢版 |
2025/03/22(土) 20:46:20.66ID:+aAOpttf
RustはHaskellのようなもんだな
2025/03/22(土) 20:51:35.38ID:pQ0AfiNn
サーバー系は、どう議論しようがAWSらがRustを使うと決めてるんだから俺たちもRustを使うべきなんだよね
2025/03/22(土) 20:54:15.56ID:wj/QNrNA
RustがIT企業の支持を得られて普及した要因の最大の理由は非同期タスクでCPUマルチコアスレッドを最大限に生かせることが実証されたため
もちろんそのメリットを生かせる最大の分野がWeb
その結果としてWebインフラが次々とRust製になっていってるのもご存知の通り
2025/03/22(土) 20:58:48.70ID:Hzxc05GG
>>873
内部で使われてるって話とごっちゃになってないか?
2025/03/22(土) 21:37:06.41ID:nNEN9uWE
内部で使ってれば外部 (SDK) の充実だって期待できるだろ。
他もサポートするとはいっても内部で第一に使っている言語が最も切られにくいはず。
2025/03/22(土) 21:47:08.55ID:wj/QNrNA
もちろんそれもあるがアマゾンAWSはエネルギー効率の高さを示してRustの使用が良いと主張している
エコのため、クラウド提供側にとっては電気消費量のため、クラウド利用側にとっては利用料金のため、誰にとってもRustが良い
2025/03/22(土) 21:49:55.80ID:0jsJ/YT+
状況に応じて道具を選べないやつなんて所詮この程度だからな
相手にするだけ時間の無駄だよ
879デフォルトの名無しさん
垢版 |
2025/03/22(土) 21:56:00.76ID:aLOoKjU5
企業としてはユーザーが最も多い言語のSDKに一番力を入れるんじゃない?
2025/03/22(土) 21:56:48.74ID:+4wHRnDV
じゃあRustか
2025/03/22(土) 22:00:34.26ID:P6hXjgwK
クラウドに限らずどんな分野のとんな用途でも
環境などで言語制限のある分野でなければ
Rustが一番よいだろうね
2025/03/22(土) 22:02:15.86ID:GMYQzWfO
雑な推理だな
お金の話をすれば雑でも許してもらえる法則でもあるのかな
2025/03/22(土) 22:04:35.46ID:+4wHRnDV
工数と開発者のスキルが必要なのが難点でしょ
スタートアップはとりあえずlaravelで雑でも動かしたい
2025/03/22(土) 22:08:44.37ID:nNEN9uWE
プログラマにかかるコストも大きいのでそれとのトレードオフではある。
2025/03/22(土) 22:08:56.75ID:wj/QNrNA
スキルがないとかその分野に標準の言語があるとかの制約がなければRust
制約がないのに他の言語を選ぶメリットがない
2025/03/22(土) 22:17:50.69ID:GMYQzWfO
なんで許されてるのか分からない人物を思い浮かべてください

もしかして、お金の話をしてるからじゃないか?
887デフォルトの名無しさん
垢版 |
2025/03/22(土) 22:49:39.83ID:g5MG8noC
Goのほうが良い
888デフォルトの名無しさん
垢版 |
2025/03/22(土) 22:49:40.67ID:g5MG8noC
Goのほうが良い
2025/03/22(土) 23:13:07.51ID:2RmOfPx/
なんかpythonの話ししてる時に呼んでもないのに出てくるRubyの人みたい
2025/03/22(土) 23:30:44.29ID:P6hXjgwK
Goは適用範囲が狭すぎてね
そしてその分野もRustが代わりになれるから
2025/03/22(土) 23:39:54.79ID:SJ3E9yt4
シングルバイナリで配布するなら、今でもGoの方が有利だろ
2025/03/22(土) 23:51:36.52ID:FupbzmQ3
>>855
CやRustが必ず速く、GC言語が必ず遅いです。
そのケースでは、CもRustもメモリ解放する必要ありませんから。
GC言語がCやRustに勝てる可能性はありません。
2025/03/22(土) 23:59:13.86ID:P6hXjgwK
スタック領域を最も活用できるRustが一番有利だろうね
もちろんヒープ領域は返さない手がある
2025/03/23(日) 00:19:54.96ID:Ft35v0Bz
プログラマが充分に賢いと仮定できるときとそうでないときがある。
2025/03/23(日) 02:37:14.92ID:FBKpXUl6
esbuildとswcを比べるといい
swcは少なくともesbuildの3〜5倍の開発工数がかかってる
にもかかわらず性能でも人気でも後発のesbuildに実質負けている
896デフォルトの名無しさん
垢版 |
2025/03/23(日) 04:01:40.19ID:fJAmg8F4
>>889
あれなんだろうな
2025/03/23(日) 08:06:03.43ID:E0tNSJV1
>>889
KENYA が Eust 使ってる姿が想像できないなω
2025/03/23(日) 11:30:47.99ID:7BeeA992
>>895
これが現実だよな
規模の大きい用途でもなければ性能差以外のところに価値を見出さないとRustは選択肢にならない
2025/03/23(日) 11:46:34.65ID:ucJr9566
>>898
バカ発見
それは言語の比較ではなく作者の比較
900デフォルトの名無しさん
垢版 |
2025/03/23(日) 12:05:46.10ID:dLW1UlJo
それを言い始めたら、現実のプロジェクトであまり使われないのを無視して「Haskellは生産的」と主張し続けてる人と同じじゃないの
2025/03/23(日) 12:16:32.87ID:hhiHggcP
何の制約もない理想的な世界ではRustが一番みたいな主張をするのは宗教だからね

現実を説いても無駄だよ
2025/03/23(日) 12:29:31.57ID:ucJr9566
ハスケルがどこで使われてるかは知らないが
Rustはネットインフラなど各所で使われてるからな
2025/03/23(日) 13:45:50.39ID:ILZgSc5B
PrismaなんてRustからTypescriptに乗り換えてるからなぁ
2025/03/23(日) 14:04:29.94ID:kax3x6iq
まあ現実というか現時点でHaskellは実在しているので
自分は現実を説いていると思ってる人はじつは将来のHaskellについて説いているんだろう
2025/03/23(日) 14:14:35.83ID:i3JV7Cin
>>903
PrismはJavaScript/TypeScriptでのSQLのORMだよ
コアをRustで書いていたけどTypeScriptとの間でのデータのシリアル変換がオーバーヘッドなのでやめた
RustでなくC/C++でもGoでも何でも同じ話
2025/03/23(日) 14:19:18.42ID:Ft35v0Bz
Haskell や ML 系は金融系で人気があるみたいな話だね。
そういう人は数理最適化とかの専門家で、アカデミック寄りの出自だったりするから言語もそういう系統になる。
2025/03/23(日) 14:23:11.51ID:MPpv/Zn0
>>899
そうそう優秀な作者だからこそヘルスバーグやエヴァン・ウォレスはRustでも作ってみて自分の目で比較した上で敢えてGoを選んでるんだよな
2025/03/23(日) 14:29:01.82ID:i3JV7Cin
逆にオーバーヘッドよりも効果が上回るものも多い
そういうものはJS/TSのライブラリがRustやC/C++で書かれている
これはPythonのライブラリでも同じ
Goでそれらのライブラリを書かれることはない
2025/03/23(日) 14:41:46.62ID:aJUotRkD
>>907
頭悪そうな君には理解できなかったのかね
TypeScriptの型チェック&コンパイラの件は
①C#などのクラス依存言語はクラスベースで書かざるを得ないため元のTypeScriptコードとの相違が大きくなり今後もコードを合わせ保守していかなければならない特殊事情のため選べなかった
②RustやC++などはGC依存言語でないため元のTypeScriptコードとの相違が大きくなり今後もコードを合わせ保守していかなければならない特殊事情のため選べなかった

理解できない人は自分の言語にスレに戻りなさい
あるいはRustアンチスレへ行きなさい
ここはRustのためのスレです
2025/03/23(日) 14:45:12.04ID:NxWV5kSB
工数が3倍以上かかっても数%の性能向上でペイできる分野ならいいんだけどね
大手クラウドベンダーのインフラ開発がまさにそれ
ペイできるどころかお釣りがじゃんじゃん来る

逆にそういう分野に該当しないtscgoとesbuildでは
費用対効果を考えてRustは選ばれなかったということ
911デフォルトの名無しさん
垢版 |
2025/03/23(日) 14:47:02.77ID:RxW/LXmg
typescriptのコンパイラやツールをgoにとられたのはかなり痛いね
仮にもpythonやjsと並ぶ覇権言語の実装に選ばれなかった
これは重みがある事象になる
2025/03/23(日) 14:48:42.88ID:kKBddGNP
PrismaのTS移行はパフォーマンスが主因ではないぞ
TSとRust双方のスキルが必要でコミュニティのコントリビュートが得られないからとはっきり書かれてる
https://www.prisma.io/blog/from-rust-to-typescript-a-new-chapter-for-prisma-orm
2025/03/23(日) 14:51:45.32ID:aJUotRkD
>>911
TypeScriptだけの自業自得の特殊事情を理解できない人はこのスレから出てけよ
ここはRustのためのスレ
2025/03/23(日) 14:54:10.83ID:aJUotRkD
>>912
他の言語コミュニティの問題ならRustは関係ないだろ
なぜそこまでしてこのRustスレを荒らすんだ?
915デフォルトの名無しさん
垢版 |
2025/03/23(日) 14:54:48.47ID:AhwOgDDy
Rustを選んだらクビになるだろ
趣味ならRustで十分だよ
916デフォルトの名無しさん
垢版 |
2025/03/23(日) 15:04:08.69ID:dLW1UlJo
>>908
Pythonについては「Goが選ばれない」というよりも、そもそもC/C++/Rustしか選択肢がない
他の言語でPythonのライブラリ(拡張モジュール) を作る場合、Pythonが提供しているC APIを呼ぶ必要がある (※)
だからCと連携しづらい言語は使えないし、Python側とは別のランタイム (Python側とは別に動くガベージコレクタ) を持つ言語も向いてない

まだC/C++製のものが多いけど、最近はRust製のものも出てきてて、この分野はRustがかなり有望だと思う
JS/TSは自分は詳しくないので知らない

(※)
C++/Rustの場合、実際にはPython C APIをラップするライブラリを使って開発するから、開発者が直接これを呼ぶわけではない
RustだとPyO3というクレートが有名
自分は実際にこれ使ってるけど、なかなか良い感じ
2025/03/23(日) 15:16:21.64ID:gOdPz2Go
なぜかRustスレでRustを叩くために
他の言語の仕様の問題とか
他の言語のコミュニティの問題とか
そんなRustと関係ない事情の件ばかりを持ち出すのは感心しないね
そういう他言語の問題がなければRustが好ましいという左証になってるとも言えるけど
2025/03/23(日) 15:21:41.23ID:2OqM692P
>>909
esbuildには@もAも当てはまらない

グリーンフィールドかブラウンフィールドかに関わらず
類似処理をしているesbuildとtscgoが同じ結論に達した事実を見れば
tscの特殊事情が主たる理由ではないことは明らか
2025/03/23(日) 15:34:46.69ID:gOdPz2Go
敗北して閑散としているGoのスレッドでやればいいんじゃないかな
Rustへの逆恨みは感心しないね
2025/03/23(日) 15:39:28.23ID:SFcoHXsN
Goが単にコンパイラに使われただけなのになにを騒ぐことがあるのか
Rustの優位性はなにも変わってない
2025/03/23(日) 15:46:59.12ID:5hw8+0Sa
Arena<T>やRc<RefCell<T>>を駆使しつつ自分でライフライム管理もやらなきゃ同等の性能は出ないんだから数倍コストがかかるのは当たり前
しかもコストかけたところで大して速くなる用途ではないからな
2025/03/23(日) 16:42:13.02ID:nyXcLsMC
>>921
arena allocation使うのはC++でも同じだよな
RcはC++にないからArc相当のshared_ptrになってしまうが
いずれも大した問題ではなく何を問題視してるのだろう
Rustなら必要なところで用いなければエラーにになるから必ず安全
2025/03/23(日) 16:58:09.93ID:/v/6A0mi
あんまりRustを馬鹿にすると人類滅亡だぞ
2025/03/23(日) 16:58:54.84ID:Js5gC5BL
なんかRustの評価と自尊心が結びついてるやつが居るな
2025/03/23(日) 17:14:32.48ID:kax3x6iq
C++時代には、RAIIやtemplateの知識を不問とする "better C" があった
"better C" からRustに移行するのは容易ではない
926デフォルトの名無しさん
垢版 |
2025/03/23(日) 18:32:51.17ID:BVPP8nhy
SES業界ってなんですの?
やばそうなんですの?
927デフォルトの名無しさん
垢版 |
2025/03/23(日) 18:36:40.02ID:BVPP8nhy
Chromeとfirefoxを比べるといい
firefoxは少なくともChromeの3〜5倍のRustコードが使われてる
にもかかわらず性能でも人気でも後発のChromeに実質負けている
2025/03/23(日) 19:15:20.36ID:nyXcLsMC
Firefoxは根幹がC++のまま進まないからな
ChromeのRustコード量が増えていき逆転するのは間違いない
2025/03/23(日) 20:13:06.33ID:3HZSVJR9
ブラウザ見てもわかるけど金を掛けられる余力がある企業や団体が開発資金を出さないと置き換えは進まない
Rustプログラマは特に集めるのは大変
掃いて捨てるぐらいいたらコストは下がるので開発も進む
2025/03/23(日) 20:15:58.85ID:MwG5166E
>>922
GC言語と比べて高コストという話なのにC++出してきても意味ないじゃん
2025/03/23(日) 20:26:09.56ID:uAz+aBh3
遅くてメモリ喰いのGC言語はC/C++/Rustに絶対勝てない
そんなにGC言語が好きならGC言語のスレに引きこもっていなさい
Rustを脅威に感じているからこそわざわざここへ来て暴れてるのだろうけど醜い姿
2025/03/23(日) 20:31:47.48ID:zNJHBv3d
環境要因だけど、単価と工数でGC言語が勝ってるってさ
2025/03/23(日) 20:35:34.98ID:uAz+aBh3
>>932
単価?
GC言語だけやってる連中はバカだから給料が安いということか?
934デフォルトの名無しさん
垢版 |
2025/03/23(日) 21:25:09.29ID:dLW1UlJo
実際そう
Goはジュニアクラスのエンジニアとシニアクラスのエンジニアとで書き方が変わらないのが特徴で、Googleのような大きな組織での開発効率のために産まれた言語
良し悪しとかでなく、そもそもの言語の目的の違い

パフォーマンスが重要な仕事にはRustが向くけど
、それなりの速度があれば十分という分野ならRustを使う意味はあんまり無い
IOが中心になる分野なら、Rustは多少は速くても「劇的な違い」にはならないと思う
非同期処理を書くのが難しくないとか、社内に知見があるとかの方が重要という場面も多い

もちろんRustが向く分野も多いので、そちらではRustを使えばよい
言語は目的や求められる要求に応じて選ぶという、ごく普通の話
2025/03/23(日) 21:33:57.65ID:3HZSVJR9
速度だけが重要ならjavaなんてなんて生まれていないしここまで大きな産業にもなってない
みんなc++を使えばよかった

実際はそうならなかった
2025/03/23(日) 21:39:18.46ID:kIF/RZ8r
>>931
なんの勝ち負けの話してんだよww
2025/03/23(日) 21:49:34.80ID:QyKgsP1k
C++は平屋のCに何階も増築してきたから基盤はCのままで古い言語だからね
C++11でようやくunique_ptrとshared_ptrのスタートライン

一方でRustは現在の他のモダン言語と同等かそれ以上で何もかも快適
そして開発効率も抜群に良い
静的に最もバグを回避できる優れたプログラミング言語となっている
(もちろん原理的に回避不可能なアプリのロジックバグは除く)
938デフォルトの名無しさん
垢版 |
2025/03/23(日) 21:52:06.36ID:n3c9z4n8
Rustの過剰な持ち上げは普通のRust開発者にとっても迷惑だからな
そういう輩のせいで「Rustは信者が煩い」みたいな意見を見るし、それに辟易する
向き不向きや求められる要求、組織の知見などを考慮して技術選定するという、開発者なら持つべき感覚を否定し続けてるのが理解できない

特定の言語だけを持ち上げる信者はGoやC#やTSにもいるし、そういうのは同様にうざったい
2025/03/23(日) 21:55:17.62ID:zNJHBv3d
2000年頃、サーバーの仕事なら、新人にはCのメモリ管理が無理だからってJavaでキャリアスタートしたよ。
その頃のオンプレはメモリ数GBだけどJavaが何とか動かせたんだ
そこからGC言語優位が続いたけど、サーバーレスやらで効率重視時代が戻ってきたんだね
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況