Rust part22

レス数が900を超えています。1000を超えると表示できなくなるよ。
1デフォルトの名無しさん
垢版 |
2024/01/20(土) 23:21:40.08ID:wyzQTwgG
公式
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 part21
https://mevius.5ch.net/test/read.cgi/tech/1692105879/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.2ch.net/test/read.cgi/tech/1514107621/
822デフォルトの名無しさん
垢版 |
2024/02/15(木) 10:38:37.60ID:TrooctNX
今の時点で使いやすければなんでもいいんだYO
2024/02/15(木) 10:45:22.07ID:9MXGquuv
C++コンパイラが諸問題を指摘してコンパイルエラーにしてくれる状況は来そうにない
これだけ増築工事を重ねてもまだ見込みが立たないまま
2024/02/15(木) 11:47:28.36ID:olqTmpaN
C++の知識は大いに再利用されているので現実世界の変化は小さい
想定外かもしれないのは変化の大きさではなく
現実世界を定義できないことだ
定義できるのは理論だけ
2024/02/15(木) 12:02:34.79ID:oxTsPXaA
>>821
今の想定が甘いとか具体的指摘なかったら
想定外の対処ができてないから駄目は無敵論法
2024/02/15(木) 14:40:35.94ID:wvzNp0zm
そりゃWeb系だとGoのほうが使いやすいに決まってるでしょ
パフォーマンスもスクリプト言語よりはめちゃくちゃ速いから十分
2024/02/15(木) 14:47:01.34ID:z+RD4XEG
サーバーサイドは群雄割拠時代よね
Rust、Go、Java/Kotlin、C#いっぱいある
2024/02/15(木) 16:20:13.71ID:x2y7hFPc
>>825
駄目とは言ってない。
駄目かどうかも「わからない」ことが産業的なハードルだよねって話なんだが、わからんかな。
2024/02/15(木) 16:46:19.25ID:606b12LT
>>828
あなたの話相手してもrustでも他言語でもいいけど
問題回避のためにこういう仕様や実装にすべきじゃないか
みたいな議論が成り立たないのでそちらがおよそ産業的じゃないね
2024/02/15(木) 16:50:52.01ID:olqTmpaN
すべてを疑っても産業だけは疑いようがないって話なら
想定内と想定外の境界がどの辺にあるのかはなんとなくわかる
2024/02/15(木) 17:21:54.77ID:SzbBTI0k
>>814
Rustは型〇ナニーで長時間バトルだったと言ってるぞw
>>812動画の人がいくら天才でも2年間かき回したのは頂けない
2024/02/15(木) 17:26:25.25ID:BHoNDVf7
Rustは非同期処理がC++より扱いやすいおかげでサーバー方面に進出したのは良い
さすがにフロントでRustは微妙そうだけど、このままどんどん多方面に普及してほしい
2024/02/15(木) 17:31:26.55ID:dtRRoOMy
Ruby は、Go/Rust/Elixir の3大言語を超えた!
Rust の上昇は止まったか?

Stack Overflow 米国年収。2022 -> 2023

Ruby : 9.3 -> 9.9 万ドル
Elixir : 9.3 -> 9.6
Go : 8.9 -> 9.3
Rust : 8.7 -> 8.7

多くの言語 : 6.5〜7 -> 7.3〜7.8

PHP : 5 -> 5.9
Dart : 4.4 -> 5.6
2024/02/15(木) 17:35:21.87ID:eOw5Ad1t
>>832 夢見てないで現実見ては?
https://active.nikkeibp.co.jp/atcl/act/19/00546/011500001/
2024/02/15(木) 17:41:41.98ID:wvzNp0zm
>>812
流し聞きしたけど複雑だとかしょーもない構文の好き嫌いみたいな話しかしてなくて草
2024/02/15(木) 17:53:07.04ID:8jpdfcc8
>>835
Rustインフルエンサーの成れの果てですなw
2024/02/15(木) 18:08:05.70ID:uSGIT3N+
>>834
せめて用途別のプログラミング順位を挙げてくれ

…単発に言っても無駄か😭
2024/02/15(木) 18:08:23.00ID:giVh/goG
Goは2年も続けられるだろうか

大分前に少し使ってみたけど例外投げずにResult(タプル)で返す言語設計を採用しながら
返されたResultを無視してもコンパイラが警告出さないからやめた
Cで戻り値のエラーをスルーする事案が多発したから後発言語で例外が作られたのに

↓を見て気持ち悪さを感じる人には向かない

file, err = os.Open(path) // ← fileと一緒にエラーの受け取りを強要される
os.Chdir(path) // ←エラーしか返さないから戻り値を無視して処理を継続できる
2024/02/15(木) 18:11:15.85ID:x2y7hFPc
>>829
情報が充分じゃない (から議論を始めることさえできない) ことが
リスクだという話をしているつもりなんだが、伝わってないのか?
どんな問題が起こるのか事前にわかれば苦労しないよ。

起きたことに対処し続けるしか仕方がないが
可能なら自分が対処する当事者にはなりたくない。
2024/02/15(木) 18:19:47.46ID:SZiIKMeC
「Go」、2月のTIOBE指標で過去最高8位に
https://japan.zdnet.com/article/35215159/
https://japan.zdnet.com/storage/2024/02/13/0ee0eaf7a75e201ad2ee580740569609/240213_tiobe.png
2024/02/15(木) 18:24:55.60ID:x2y7hFPc
>>838
悪いほうがよい (Worse is Better) 原則というものも知られている。
正しさと単純さを天秤にかけてどちらが良いかという点で Rust とは異なる重みづけをしたのが Go だと思う。
問題をコンパイラが検出できる設計はもちろんありがたいが、そのために持ち込む構造は人間が把握しやすいものだろうか。
正直言って Go が良いとは全然思わないが一貫した理念に基づく判断であって、不備でそうなってるわけではない。
2024/02/15(木) 18:31:33.80ID:j4EJcuA3
>>829 >>839
このあたりは設計の根深い問題で、「変化を抱擁する」を標語としたアジャイル開発とかインクリメンタル開発とかで色々議論されたな。
あんまり目立った成果は無かったような気もするけど、機能間の疎結合と可換性は重要な指摘だと思うわ。
2024/02/15(木) 18:34:16.56ID:3rKktGL8
>>817
これはごもっともな意見
50年後にRust 2072エディションがある状況で最新コンパイラが2015エディションをサポートし続けてるとは思えないからどこかでは切ることになる
それでもRustのモデルとC++のモデルとどちらのほうが相対的によさそうかという選択の問題
844デフォルトの名無しさん
垢版 |
2024/02/15(木) 19:40:03.38ID:TrooctNX
50年後にC++23はサポートされているのだろうか
というかC++は50年後もアップデートしているのだろうか
2024/02/15(木) 19:52:43.98ID:flxKbqvK
>>843
cargo fix --edition
のあるRustは至れり尽くせりだよ
2024/02/15(木) 20:00:49.77ID:nijJOd3e
>>844
既にC++17とC++20で以前導入の機能の削除が大量に行われている
847デフォルトの名無しさん
垢版 |
2024/02/15(木) 20:11:12.94ID:Zy70aZMD
じゃあもうRustで良いじゃん
2024/02/15(木) 20:27:48.49ID:Y7OgkdHD
CになかったC++の機能は削除してもチューリング完全が保証される
逆に、削除したらチューリング完全ではない保証をするならミニマリズムがベター
2024/02/15(木) 22:27:00.96ID:MX4y8Eg+
>>840
Kotlinが上がってきてるのうれしい
Fortranも上がってるのはなぜだ
2024/02/15(木) 22:56:46.83ID:x2y7hFPc
C++ は欠陥報告という制度で過去の規格に遡って修正が加えられることがある。
たとえば C++11 発行当時の C++11 と今の C++11 は内容が異なるわけ。
基本的には過去の仕様に新機能を追加したりはしないが微妙な挙動の変なところを直すような保守は続いている。
実質的には Rust のエディションみたいなことにはなってるんだよなあ。
851デフォルトの名無しさん
垢版 |
2024/02/15(木) 23:13:05.86ID:17JkefKn
llvmも実装はc++だし。
2024/02/15(木) 23:33:02.83ID:CqGYBNeH
>>850
Rustは必ずeditionを明示しないといけないから
あるソースコードがどのeditionなら確実に動くのか明確にわかる
そしてそのeditionを指定してコンパイルも通り実行もできる

しかしC++は当初のC++11に従いコンパイルできて動いていたものが
今はC++11の機能のいくつかは削除されてしまっているために
2024/02/15(木) 23:44:16.83ID:x2y7hFPc
>>852
C++11 は C++11 として存在し続けているので問題になってないという話をしてるんだが
854デフォルトの名無しさん
垢版 |
2024/02/15(木) 23:57:58.06ID:m2l7AKkd
一般人と同等の読解力を複オジに期待しないこと
855デフォルトの名無しさん
垢版 |
2024/02/16(金) 01:17:00.51ID:2uzjzXJf
cppreference.comの下のほうにちょろっと書いてあるdefect reportってそういうことだったんだ
勉強になるわ〜
856デフォルトの名無しさん
垢版 |
2024/02/16(金) 02:58:58.82ID:T31Boec7
>>853
名前が同じならなんでも良い…… ってこと!?
2024/02/16(金) 05:29:44.45ID:VnZfCvN7
>>856
「規格が同じなら」ということだよ。

c++11とかはあくまで規格なので各実装の準拠率とか注意するポイントはあるけど、メジャーな機能を保守的に使えばそれなりに互換性を維持できる。
2024/02/16(金) 06:06:29.14ID:VMcEA5aE
RustのEdition方式が優秀すぎる
新たな機能の規格で分けるのではなく
各Editionは後方互換性の変化で分けているため
過去に書かれたコードも必ず動く
859デフォルトの名無しさん
垢版 |
2024/02/16(金) 08:50:06.12ID:T31Boec7
>>857
規格が同じといいつつ機能消してんだから同じなのは規格の名前だけじゃん
860デフォルトの名無しさん
垢版 |
2024/02/16(金) 08:50:57.44ID:T31Boec7
規格から機能ごと消えるんならよう
2024/02/16(金) 08:57:09.07ID:MpEo3rxP
>>859
消してないけど何いってんの?
2024/02/17(土) 07:36:35.11ID:pKHDV/cx
ID:T31Boec7
流石にこいつ日本語能力なさすぎだろ
ガイジかな?
2024/02/17(土) 07:58:38.87ID:y2U3e6uM
mojo vs rustでmojo公式とnetflix天才とRust本著者で盛り上がっている
https://www.youtube.com/watch?v=MDblUyz0PtQ

>>814,835
早口なので大変だろうけどちょとした言葉の節々に情報があるからリスニングがんばれ
864デフォルトの名無しさん
垢版 |
2024/02/17(土) 08:38:43.36ID:P+bU7/QC
>>863
copilotで要約して貰うのが時間も短縮できるのに無能だなw
2024/02/17(土) 11:31:52.42ID:/wuPDCL7
>>864
この天才同士のディスカッションを楽しめないなんて損してんね🥲
2024/02/17(土) 11:55:10.10ID:wfN7KjH7
Netflixの天才とかいうのが胡散臭くて信頼性がないんだけどどういう人なのよ。
2024/02/17(土) 12:54:06.77ID:p6Fewl3N
>>863
この人の英語聞き取りにくい
もうちょっとゆっくり喋って欲しい
中身うっすいのにさ
2024/02/17(土) 12:58:21.47ID:p6Fewl3N
>>862
普通に境界性知能ってやつでは?
この手のは全部そうだと思うようにしてる
869デフォルトの名無しさん
垢版 |
2024/02/17(土) 17:40:44.30ID:SxaDWram
>>863
ベンチマーク試してみたところ以外はブログ記事のまんまなのでわざわざ動画で見なくてもいいなこれ

公式ブログに書くならもうちょっとちゃんとしたベンチマークやれよって感じ
見識を疑うレベル
870デフォルトの名無しさん
垢版 |
2024/02/17(土) 18:56:01.48ID:bc7xcSj4
Netflixの天才がいかがでしたかブログレベルの動画を出すとは
2024/02/17(土) 19:01:49.62ID:hd6B0gbf
>>863
動画内の指摘が記事に反映されてMojoがRustの3倍速いじゃん!!
Mojoコンパイラ賢いな
2024/02/17(土) 19:07:25.89ID:1+LtKHMi
以前からMojoがCより何倍も速い!とかやってるけど
ベンチ方法や条件などが何かおかしい
2024/02/17(土) 20:11:15.92ID:lHr0QJnq
SIMDが効くような恣意的なベンチだしな
2024/02/17(土) 21:00:37.77ID:QWthdRCX
でもデータを見てから断罪するのは俗っぽいから
データを見ないでロジハラするのがベター
2024/02/17(土) 21:16:16.12ID:lHr0QJnq
DynamicVectorは最適化でSIMD使うように最適化されるってだけだろ
あと末尾最適化する
くだらなすぎる
2024/02/17(土) 21:40:36.38ID:WeOJL5ES
え? Rustって末尾最適化できんの?
2024/02/17(土) 23:56:23.75ID:uU5eCENW
Rust Reserved keywords

KW_ABSTRACT : abstract
KW_BECOME : become
KW_BOX : box
KW_DO : do
KW_FINAL : final
KW_MACRO : macro
KW_OVERRIDE : override
KW_PRIV : priv
KW_TRY : try
KW_TYPEOF : typeof
KW_UNSIZED : unsized
KW_VIRTUAL : virtual
KW_YIELD : yield
2024/02/18(日) 09:43:13.97ID:2fU6EVDD
>>873,875
同じLLVM系なのにRustが3倍遅いのかよ!!
Mojoがコンパイラ賢いのかRustコンパイラが...
879デフォルトの名無しさん
垢版 |
2024/02/18(日) 10:23:17.76ID:8VIVYK48
あれを見て本当にRustが遅いと思っちゃう層の人にRustは向いてない
880デフォルトの名無しさん
垢版 |
2024/02/18(日) 10:24:13.10ID:8VIVYK48
ちなみにSIMD云々は本質じゃないよ
2024/02/18(日) 10:33:07.03ID:diN1NxZN
>>879が3倍速いRustコードを出すってよ
2024/02/18(日) 10:46:23.01ID:fnRzA2e2
これはGoの方が速いんじゃないか?
2024/02/18(日) 11:13:09.56ID:NoFg1fuK
GoはGCを伴う言語だから論外
MojoはC/C++/Rustより3倍速い
2024/02/18(日) 11:27:28.89ID:YdXgtYKq
>>878
同じLLVMといってもMLIRという数値計算に最適化されたIRを使ってるから速い
恣意的な例である
2024/02/18(日) 11:36:55.83ID:a/PaZk8n
そういえば昔Delphiがコンパイルの速さを売りにしてたの思い出した
なんか懐かしい
2024/02/18(日) 12:18:39.29ID:Wi99yBdV
20年後にRustを懐かしむスレはここですか?
887デフォルトの名無しさん
垢版 |
2024/02/18(日) 14:55:22.54ID:LhS8zjp4
20年後には流石にもっと良い言語が登場して流行っていることを期待している
888デフォルトの名無しさん
垢版 |
2024/02/18(日) 15:22:23.80ID:L2mk1x1a
>>885
アンダースヘルスバーグ天才だよな
ボーランドでDelphi作って
マイクロソフトでC#とTypeScript作って
889デフォルトの名無しさん
垢版 |
2024/02/18(日) 15:34:23.48ID:CKqOMEmo
>>888
MAUIくん!病室に戻るんだ!
2024/02/19(月) 09:27:30.10ID:JlpPRp2V
>>888
俺は天才とは思わない
この人ってお手本となる言語があって
それをよりよくすることは得意な気がする
2024/02/19(月) 10:19:49.07ID:j7eyydGe
普通の人が実務で使うような汎用プログラミング言語は
とびぬけた画期的なパラダイムで構成しても使い難いし、
ひとつひとつはどうということはない要素を上手く組み合わせる
バランス感覚が重要って感じはあるね。
天才的な閃きでどうにかするようなものではない。
2024/02/19(月) 11:58:45.15ID:r1DaNm3S
既存のものをうまく組み合わせたりリーダーシップをとったりするのに天賦の才があったという意味なら天才かな
893デフォルトの名無しさん
垢版 |
2024/02/19(月) 12:07:19.13ID:BnjhEPJH
自分は何も出来ない無才なのによく言うわw
2024/02/19(月) 14:11:02.99ID:JlpPRp2V
C#→Javaのビミョーなところを直す
Delphi→Pascalのビミョーなところを直す
TypeScript→JSに型付け
895デフォルトの名無しさん
垢版 |
2024/02/19(月) 14:41:59.29ID:FfoO1n86
Rustのビミョーなところを直して欲しい
896デフォルトの名無しさん
垢版 |
2024/02/19(月) 15:33:58.75ID:BnjhEPJH
R#だすかー
897デフォルトの名無しさん
垢版 |
2024/02/19(月) 16:37:49.01ID:pyxz0P7h
Turbo PascalやDelphiやVisual J++は彼か作ったと言えるがTypeScriptはHejlsbergが作ったわけじゃないからな

広報+コントリビューター+社外との政治的調整役
898デフォルトの名無しさん
垢版 |
2024/02/19(月) 18:10:38.68ID:VthC7yJG
R#とか絶対統計処理用の言語じゃん
899デフォルトの名無しさん
垢版 |
2024/02/19(月) 18:20:06.89ID:BnjhEPJH
そうだな
じゃあRustyNailって名前にするか
2024/02/19(月) 18:38:07.38ID:j7eyydGe
ビミョーなところをどうにかしたってどうせ別のビミョーなところが出てくるに決まってるんだよ。
だましだまし発展させて行き詰まったあたりでまた新しい何かが登場するのが世の中のサイクルというもんだ。
2024/02/19(月) 18:50:17.05ID:JlpPRp2V
割とマジでヘルスバーグ動きますの可能性はある
Carbon、Go→Google
Rust→Mozilla
?→Microsoft

この流れは確かにある
2024/02/19(月) 20:05:38.11ID:gidehIA9
GoogleもMicrosoftもRust支持で
Carbonの公式FAQにはRustが使えるならRustが良いと明記されている
903デフォルトの名無しさん
垢版 |
2024/02/19(月) 20:34:12.24ID:VthC7yJG
Rust支持というより、現状最良の選択肢がRustであると認めているだけでは
なのでもっと良い選択肢を作ることが出来たら嬉々として打ち出してくる可能性はあると思う
2024/02/19(月) 20:55:09.09ID:WSW9DaUh
代替の芽が今ないから早くて十数年以上先
MojoはPythonベースで関心が数値計算に向いていて違う
2024/02/19(月) 20:57:44.38ID:34j+4tJw
Netflixの天才は2年かけて右端の住人になったのか
https://pbs.twimg.com/media/GDa2G6iWIAAsyh3.jpg:orig

これからは目立った実績が無いのにRust歴が長いと
型〇ナニーで時間溶かしてると認定される
2024/02/19(月) 21:23:20.71ID:MW9zngaI
>>905
Go?
Goはランタイムが大きくGCベースの言語だからRustの代わりにならんよ
907デフォルトの名無しさん
垢版 |
2024/02/19(月) 21:38:55.37ID:BnjhEPJH
>>906
結局さ一周回ってAdaで良いんじゃ?
2024/02/19(月) 21:46:39.06ID:VDl5KQ6V
オーガスタちゃんが平伏せと命令する言語?
909デフォルトの名無しさん
垢版 |
2024/02/19(月) 22:19:23.32ID:hvnIqBoW
Web用途だとRustはtokioと関連ライブラリが必須だからGoよりランタイム大きくなるけどね
2024/02/19(月) 22:41:42.37ID:+OQMy10I
>>909
Rustバイナリが小さい
tokio+hyper他で特別な指定もなく普通に作ったweb server実行バイナリがstrip後に1.3MB
2024/02/19(月) 23:17:36.45ID:aeOZND98
サーバーエンドでバイナリサイズなんてどうでもいいけど専有メモリ量がJavaやGoより小さいのはよい
2024/02/20(火) 03:09:16.36ID:sgoVzbhC
Rustってcargo buildとかやると通信量結構えげつない
2024/02/20(火) 08:39:03.07ID:VuVDzPkr
依存関係があるライブラリをダウンロードすれば Rust に限らず
それなりにたいくさんひっついてくるのはよくあること。
2024/02/20(火) 08:51:21.95ID:HobPlk1l
C++でビルドする前にapt-getしてね、ってのも同じことだしな
915デフォルトの名無しさん
垢版 |
2024/02/20(火) 09:54:42.94ID:avQkuhyK
Rustだと依存ライブラリの数が桁違いに多くなるのが原因
2024/02/20(火) 10:20:25.82ID:VuVDzPkr
お前それ、 JavaScript の前でも同じこと言えるの?
917デフォルトの名無しさん
垢版 |
2024/02/20(火) 10:20:33.45ID:kmanQ674
>>903
その通り
Rustの次に期待
918デフォルトの名無しさん
垢版 |
2024/02/20(火) 13:00:59.06ID:MPPpoDC+
>>907
ブロックが波カッコだったらなぁと思ったことある。
919デフォルトの名無しさん
垢版 |
2024/02/20(火) 13:46:52.53ID:sgoVzbhC
一回DLしたパッケージOSにキャッシュしてくれればいいんだけど
そうじゃないから学習でやってると無尽蔵に取りにいくのはなんとかならんのか
2024/02/20(火) 14:05:25.22ID:VuVDzPkr
>>919
えっ、普通にキャッシュしますが……。
2024/02/20(火) 14:18:44.11ID:YaBXE8T+
>>919
1回しかダウンロードしない
その後はそのキャッシュを用いる
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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