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(土) 01:57:17.67ID:pEem+ZLp
コンテキストは一般的に使われる用語だぞ
それこそプログラミングのコンテキストでもよく使われる
コンテキスト長はまあ流行だからわざと使ってるんだろ
2025/03/22(土) 02:18:51.91ID:lhCwsCEz
>>807
コンテキストは知ってるよ。コンテキストに長さと言う概念持ち込むのがよく分からんだけ。単なるオブジェクトなんだから長いも短いもプログラマー次第じゃんと
2025/03/22(土) 02:22:12.11ID:UPRjExhr
>>806
現代のチャットAIサービスの対話内記憶力(過去の対話履歴の保持限界)のしょぼさは誰もが知るところであってな...
810デフォルトの名無しさん
垢版 |
2025/03/22(土) 02:53:44.38ID:U6/Lg1xx
>>805
だってAIだもん
2025/03/22(土) 03:27:10.02ID:By+tvoLU
科学臭防止のために
敢えて忘れっぽくしてあるんだろ
ボケ老人の無限ループと症状が良く似てる
2025/03/22(土) 08:02:31.40ID:U6/Lg1xx
そんなこともあるさ
AIだもの
2025/03/22(土) 08:46:20.81ID:20oTaz9t
粘着してくる馬鹿がこのご時世にLLMも知らないでなんでプログラムしてるのか謎すぎる
2025/03/22(土) 08:50:54.26ID:20oTaz9t
コンテキスト長でググって意味が判らないならもうプログラマ引退した方が良いレベルだよ

> つくずくRust関連で賑わってる話題って
つくづくだよ おじいちゃん
2025/03/22(土) 09:07:44.47ID:c11Lo5GV
つくずくにツッコむとか草
>>813-814みたいなお爺ちゃん丸出しなリアクションしてるのに本人は気ズいてないのも草
816デフォルトの名無しさん
垢版 |
2025/03/22(土) 09:14:42.51ID:5jLwffS+
RustよりGolangのほうがええぞ
2025/03/22(土) 09:15:11.34ID:nNEN9uWE
場合による。
2025/03/22(土) 09:23:26.99ID:JDdxCEyD
ほとんどのケースでGoが劣るけど
一部に互角なケースもある
2025/03/22(土) 09:23:52.43ID:20oTaz9t
GC有り言語のコードをGC有り言語に移すのは難易度が低いってだけ
Rustははるか前にGCを言語仕様から外したから選ばれなかった
2025/03/22(土) 09:31:58.11ID:JDdxCEyD
RustでもC++でも循環含めたガベージをまとめて回収するならアリーナ系でメモリアロケート
そのわずかな手間だけで速くて省メモリになるから
TSのケースのようなそのまま移植ではなくて新規や再設計ならRustで組むのがベター
2025/03/22(土) 09:38:45.99ID:20oTaz9t
Rustはマクロがあるから同じ処理を何度も書く手間が省ける
外部のコードジェネレータに頼らなくて良い
同じ様な処理が並びがちなインタプリタやコンパイラ系とは相性が良い
2025/03/22(土) 10:02:18.86ID:zL5M5nMT
負け惜しみばっかりで情けないな
2025/03/22(土) 10:11:41.52ID:GMYQzWfO
C#の敗因をここで議論する意味が分からん
2025/03/22(土) 10:19:41.52ID:JDdxCEyD
>>823
C#を含めた各クラス依存言語はクラスベースで書かざるを得ないため元のTypeScriptコードとの相違が大きくなり今後もコードを合わせ保守していかなければならない特殊事情のため選べなかったと書かれていた
いずれもTypeScript側の特殊事情で雁字搦めになっている
RustやC#の問題ではない

その件とは関係なくクラス依存言語は時代遅れだけどね
825デフォルトの名無しさん
垢版 |
2025/03/22(土) 11:00:03.74ID:aLOoKjU5
比較的新しい言語のKotlinやSwiftでもクラスはありますがな…
人気トップレベルの Python でもクラスを使うし

近年問題視されてるのは実装の継承くらいで、カプセル化やポリモーフィズム、メソッド記法は Rust, Go にもあるし、OOP自体は今も現役
C#やJavaはクラスが常に必要で、そこは個人的には好まないけど (staticメソッドを実質的に名前空間+関数として使えはする)
2025/03/22(土) 11:20:31.59ID:JDdxCEyD
>>825
クラス依存言語が時代遅れと明確に書いた通りで同じ意見だ
もちろんそれらカプセル化・ポリモーフィズム・メソッド記法などはクラス特有ではなく関係ない話
クラスと他の差異はクラス継承にありそれが問題というのも同意見
KotlinとSwiftにクラスがあるのは置き換え継承言語として元言語にクラスがあったため
827デフォルトの名無しさん
垢版 |
2025/03/22(土) 11:32:44.58ID:+aAOpttf
実はすべてハードウェアの都合で
素敵な世界は後付けだからな

・データに型がある
・構造化
・クラスベース
・例外

マシンパワーが上がれば必要ない可能性がある
828デフォルトの名無しさん
垢版 |
2025/03/22(土) 11:34:01.80ID:+aAOpttf
マシンパワーでなく機械力な
敵性言語は使わないようにしよう
2025/03/22(土) 11:40:22.91ID:20oTaz9t
クラスベースが時代遅れとは思わない
やってることは基本的に同じ
データと手続きがある
何も違いはないとまでは言わないけどさ
利便性があればそれを応用して使えればいい
2025/03/22(土) 11:44:40.17ID:DzZgP0yC
Pythonが優れてる
いやC#がほとんどのケースで優れてる
いやTypeScriptのほうがベター

君たちはこういうやり取り見たときにどう思うの?
やってること全く同じだよ
めちゃくちゃ次元が低い
2025/03/22(土) 11:47:38.36ID:pQ0AfiNn
KotlinもSwiftもインターフェースを使えるんだから、クラスで問題になってる継承による可読性の悪化は十分に対処できる
2025/03/22(土) 11:50:10.91ID:20oTaz9t
>>830
GC有りならその3つ+golangでいい
833デフォルトの名無しさん
垢版 |
2025/03/22(土) 12:03:06.76ID:+aAOpttf
>>829
全てをカバーしていないことが分かってきた程度だと思う
ほかのやり方のほうが良い場合もある的な
834デフォルトの名無しさん
垢版 |
2025/03/22(土) 12:05:17.24ID:+aAOpttf
>>830
金儲けのために劣った言語を推してくるベンダーや著者が後を絶たないので
それ違いますよ?という声は大切
2025/03/22(土) 12:08:01.39ID:GMYQzWfO
各々の言語ごとに規格を作っても言語がバラバラな状態は1ミリも改善しないんだよな
2025/03/22(土) 12:08:16.78ID:pQ0AfiNn
大規模プロジェクトがどの言語を使うかは結局のところ利権の問題になってくるのさ
C#やJava等はその辺のしがらみが大きすぎる
2025/03/22(土) 12:09:17.47ID:JDdxCEyD
>>829
クラス依存言語は時代遅れ
クラスと他との差はクラス継承にある
クラス依存言語はクラス継承に依存している
もちろんクラス継承を使わずに上手く書けるならばその言語はクラス依存言語ではない
しかしクラス継承があるとそれをを使ってしまう人がいる
クラス継承を無くせた言語が好ましい
2025/03/22(土) 12:11:48.69ID:20oTaz9t
windowsでデスクトップアプリ作るならC#
webでフロントエンド作るならts
AI系機械学習ならPython
趣味中の趣味でRustとgolang
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 系は金融系で人気があるみたいな話だね。
そういう人は数理最適化とかの専門家で、アカデミック寄りの出自だったりするから言語もそういう系統になる。
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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