X



Rust part23

レス数が950を超えています。1000を超えると書き込みができなくなります。
0001デフォルトの名無しさん
垢版 |
2024/02/23(金) 17:37:52.13ID:CheDQupm
公式
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 part22
https://mevius.5ch.net/test/read.cgi/tech/1705760500/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.2ch.net/test/read.cgi/tech/1514107621/
0898デフォルトの名無しさん
垢版 |
2024/05/16(木) 23:54:35.57ID:4W8w/h2s
何十年かかろうがRustが普及するのは事実
乗り遅れるなよ?
0899デフォルトの名無しさん
垢版 |
2024/05/16(木) 23:57:43.65ID:sN6tl8jZ
既にそれらクラウドやCDNのインフラはRust製へ切り替わっていってるし
その上で動くユーザーコードも従量制コストのためRustが採用されてるね
0902デフォルトの名無しさん
垢版 |
2024/05/17(金) 17:27:00.95ID:fyAXY6lw
Rustって、学習コストていうか、習得難易度が高いらしいね
0903デフォルトの名無しさん
垢版 |
2024/05/17(金) 18:13:44.03ID:63RUfPPA
本来ちゃんと考えなきゃいけないものをランタイムがやってくれるからって
思考放棄してた部分が表に出てきただけなんだよね
例えば優秀な人はCでもポインタ一つとってもその意味するところが何か、所有するのか、弱参照なのかを意識するし
オブジェクトの管理に参照カウントを実装しているだろう
実際至高のCプログラムであるlinuxカーネルはそのような作りになっている
優秀な人は凡人に見えていないものが見えてるんだよね
0904デフォルトの名無しさん
垢版 |
2024/05/17(金) 18:50:38.58ID:x3ZQoGKy
>>903
>実際至高のCプログラムであるlinuxカーネルはそのような作りになっている
>優秀な人は凡人に見えていないものが見えてるんだよね
そして年間数百個の脆弱性を生む結果となっている
真に優秀なら当然そんな結果はもたらさない

自分が優秀だと勘違いしてる人は凡人にすら見える当たり前ことが見えてないんだよね
0906デフォルトの名無しさん
垢版 |
2024/05/17(金) 19:06:03.74ID:FyQgq0p4
>>903
そのランタイムに任せて非効率になる道と
人が頑張って効率的になるが脆弱性も生じる道の2つしか従来なかったところに
第3の道として効率的かつ安全が保証されるRustが登場して解決した
0908デフォルトの名無しさん
垢版 |
2024/05/17(金) 20:17:03.89ID:Bzly/lr+
それなら有志団体のProssimoあたりがRust移植を資金調達しながらやってるじゃない
焦らんでも数十年後にはRustがそれなりに普及してるよ
0912デフォルトの名無しさん
垢版 |
2024/05/17(金) 21:01:30.45ID:xPWhJeFc
バカと初心者は遅いバカ向け言語でいいんだよ
バカでなければその後にRustに行き着くから
0914デフォルトの名無しさん
垢版 |
2024/05/17(金) 21:18:42.19ID:63RUfPPA
昔のCでよくある
hoge = update_hoge(hoge);
みたいなプログラムはRustに移植するのがクソ大変なんだよ
古いプログラムだとこの手のコードが大量に出てくる
実質データ構造から全て書き直しになって移植に時間がかかる
0917デフォルトの名無しさん
垢版 |
2024/05/17(金) 21:26:53.82ID:5wpOXFHi
インターネットドメインの無償TLS証明書であるLet's Encryptなどを運用している非営利団体ISRG (Internet Security Research Group)のProssimoプロジェクトは二つの目標を掲げている。
「私たちの目標は二つある。1つは、インターネットを支えるソフトウェアインフラをメモリ安全のコードに書き換えること。もう1つは、メモリ安全性に関する人々の考え方を変えることだ。『C』や『C++』のようなメモリ安全ではない言語で書かれたソフトウェアを展開するのは危険だという証拠があるにもかかわらず使われ続けており、人々がそのリスクを十分に認識し、メモリ安全性をソフトウェアの要件と見なすようにしたい。」
このソフトウェアインフラのメモリ安全性向上に向けて取り組むProssimoプロジェクトの一環として、suやsudoなどのセキュリティユーティリティーを「Rust」で再実装して広める活動も行われている。
0918デフォルトの名無しさん
垢版 |
2024/05/17(金) 21:29:19.78ID:qNukMIkl
コンピュータリテラシーの低い人を増やしまくった結果セキュリティ事故祭りになっているのでは?
0919デフォルトの名無しさん
垢版 |
2024/05/17(金) 21:44:22.72ID:GF5EVhbY
>>914
>> hoge = update_hoge(hoge);

その例だけなら以下で終わるから説明不十分
update_hoge(&mut hoge);

もちろんこれはメソッド化して
impl Hoge {
 fn update(&mut self) {
呼び出しはhoge.update()

これで終わる話だから
おそらく元のC言語コードがグローバル変数を使うなど酷い状態なのだろう
0921デフォルトの名無しさん
垢版 |
2024/05/17(金) 22:24:35.35ID:63RUfPPA
>>915
当たり前だがhogeはヒープで確保されており
あらゆるところで参照、保持、変更されうる場合がある
よってRcにて管理する必要がある
当然Rcの中のオブジェクトを変更できないと意味がない
つまりCellなりRefCellが必要となる
そして循環参照の問題もあるので弱参照を考えなきゃならん
このようにちょっとしたコードでも単純に移植することが難しい
rust wayな方法で書き直すしかない
0922デフォルトの名無しさん
垢版 |
2024/05/17(金) 22:35:22.67ID:mTdFoxaI
sudoが時間かかってるのは単にそれなりの規模だからってだけだと思うけどな
あとsudo風の代替品ではなくてそのまま入れ替え可能なものを目指してるから
仕様の把握と一致検証にも時間がかかるだろうし
0923デフォルトの名無しさん
垢版 |
2024/05/17(金) 22:36:32.50ID:JB0Glcw4
ゲーム開発に向かないからC/C++が残ることが確定してしまった
0926デフォルトの名無しさん
垢版 |
2024/05/17(金) 22:42:58.17ID:cCnlY4YV
Rustゲームエンジン開発なんざ勝手にやっとけって感じ
セキュリティ脆弱性が致命的になる分野でのRustへの移植が大事なんだから
0927デフォルトの名無しさん
垢版 |
2024/05/17(金) 22:44:28.89ID:JB0Glcw4
>>925
ゲーム会社でRustを採用しようとするところが全然出てこない
それが答えだよ
0928デフォルトの名無しさん
垢版 |
2024/05/17(金) 22:58:43.56ID:BR1qVngc
巨大なC/C++遺産ですぐに動けないだけでおそらく少しずつ進めているのだろう
もし何ら対策しないところがあるとすればそのゲーム会社だけ取り残されるのだろう
0929デフォルトの名無しさん
垢版 |
2024/05/17(金) 23:17:51.68ID:+PGm3s9t
ゲームなんていう表層的な分野でRustは採用なんてされてないだぁ!って駄々をこねられてもねえ
0931デフォルトの名無しさん
垢版 |
2024/05/18(土) 00:25:26.98ID:Hzmk0zu+
少なくともアメリカの軍事分野の制御システムは>>500の声明のとおり最優先でC/C++からRustへの置き換えられるのが確定してるし民間に広まるのは時間の問題
0932デフォルトの名無しさん
垢版 |
2024/05/18(土) 00:35:56.17ID:woQdAE7H
DirectX、OpenGL、Vulkanといった主要なグラフィックスAPIがC/C++で作られてるし
ゲーム分野が仮にRustに置き換わるにしろ数十年はかかりそう
0933デフォルトの名無しさん
垢版 |
2024/05/18(土) 06:54:07.34ID:CGudIpEF
ポインタの概念を経由しないでrustから入るってほぼ無理だと思うけどね。
rustから入ればc/c++はいらないって人はその辺を誤魔化しすぎてんだよ。
0935デフォルトの名無しさん
垢版 |
2024/05/18(土) 10:36:57.70ID:Fx9Rd4Sf
rustがメインで使われるようになろうとも、組み込み系の最初の学習教材としてはC言語が一番扱いやすいから大学で組み込み系での実践言語として今後も使われていくよ
一定数ははじめからRustを教えたりJavaを教えるところもあるかもだけど
0936デフォルトの名無しさん
垢版 |
2024/05/18(土) 10:48:07.73ID:XduL+8Iy
なんか勝手に組み込みの話にされてるけどゲームはC/C++が残り続けるよ
Rustでゲームを作るのは流行らない
0937デフォルトの名無しさん
垢版 |
2024/05/18(土) 18:43:24.68ID:Olj0jDDg
政府レベルで勧告しているから少なくともビジネスレベルやその製品まではC/C++が排除されてRustへ置き換わる
ゲームのような枝葉末節は知らん
0938デフォルトの名無しさん
垢版 |
2024/05/18(土) 19:54:53.77ID:JFC2kl3y
ゲーム作る人大半の人は、言語じゃなくて、
どんなゲームエンジンを使うかしか意識しないでしょ。

まずは、メジャーなゲームエンジンに、
Rustが採用されるところからじゃない。
0939デフォルトの名無しさん
垢版 |
2024/05/18(土) 20:34:58.97ID:knMB7JYq
Rustでゲームは向かないみたいな記事はあったけど、あれもゲームエンジンのレイヤとかではなくてもっと上のゲーム固有のロジックを記述する時にRustは向かないというだけの話じゃなかったか?
0940デフォルトの名無しさん
垢版 |
2024/05/19(日) 08:21:11.59ID:J8UPACIo
ゲーム固有の言語と汎用の低級言語の二つを採用するのが良い
でも上のレイヤはGUIとかデータ記述言語とかで置き換えられ
ロジックを記述する言語は一つしか採用されないみたいな思想の人もいるかな
0941デフォルトの名無しさん
垢版 |
2024/05/19(日) 13:44:20.88ID:UOsr9CB4
>>938
まともなゲーム会社はエンジンを内製するんで何の言語使うかとても意識するけど
0942デフォルトの名無しさん
垢版 |
2024/05/19(日) 14:21:47.30ID:9ppbKK2j
改造とかカスタマイズはするかもしれんが、まともなところイコール内製は成立しないんじゃないかな。
0943デフォルトの名無しさん
垢版 |
2024/05/19(日) 14:58:26.82ID:9JWy2KZh
数年前にもRustはゴミ。使う奴なんていないみたいなことを言っている奴がいた気がするが
0944デフォルトの名無しさん
垢版 |
2024/05/19(日) 15:44:35.31ID:J8UPACIo
じつはLLVMのインフラを捨てずカスタマイズしたのがRust
逆に、プロトコルの互換性はあっても
古い実装と古いコンテンツを捨ててしまうのがインターネットでしょ
0945デフォルトの名無しさん
垢版 |
2024/05/20(月) 11:59:29.58ID:yyhnuWrn
でもお前ミドルウェアとか全く書かないじゃんってやつばっかなのになぜかrust使おうとするやつ
0947デフォルトの名無しさん
垢版 |
2024/05/22(水) 21:52:53.58ID:0G81pYpr
JetBrains開発Rust用IDEのRustRoverが安定版リリースに向けてライセンス体系を発表したけど非商用無料で使わせて貰えるみたい
ttps://blog.jetbrains.com/rust/2024/05/21/rustrover-is-released-and-includes-a-free-non-commercial-option/
0948デフォルトの名無しさん
垢版 |
2024/05/23(木) 02:03:24.72ID:zV267ZMC
おお (^-^)
0949デフォルトの名無しさん
垢版 |
2024/05/23(木) 06:59:30.95ID:nsNudoX6
RustRover 優秀そうだけど、デファクトになってほしくないんだよなぁ。LSPベースの rust-analyzer と開発体験を分断されたくない。

Kotlin みたいに JetBrains 製品にお布施しないとまともな開発者体験を得られない言語に成り下がられるのはゴメンだ。
0952デフォルトの名無しさん
垢版 |
2024/05/23(木) 09:03:01.21ID:pOxW5wqV
> 開発体験を分断されたくない。
後発にしては厳しい無料条件なので心配しなくても良いかと

正式な開発でなくても(リモートワークも含めて)仕事時間中に使えば
"regular direct or indirect income"に該当するから"non-commercial license"は適用違反

"non-commercial license"はテレメトリーをオプトアウト出来ないので要注意
0954デフォルトの名無しさん
垢版 |
2024/05/23(木) 19:28:45.95ID:BdcLV1xd
>>912
とバカが申しております
0955デフォルトの名無しさん
垢版 |
2024/05/23(木) 19:58:53.15ID:6Gn5p/CD
バカにはスクリプト言語でまともなコードを書くのは難しい
0956デフォルトの名無しさん
垢版 |
2024/05/23(木) 22:37:27.54ID:jrJOBQ7e
>>831の反Rustの人ですら
数行のコード以外はスクリプト言語よりもRustの生産性が高いと認めてるもんな
0957デフォルトの名無しさん
垢版 |
2024/05/24(金) 11:24:20.14ID:56Y1qcJr
10行以内かつ実行時間10秒以内のスクリプトだけはPythonの方が生産性が高い
0958デフォルトの名無しさん
垢版 |
2024/05/24(金) 12:56:31.70ID:nrXjP27l
四半期に一回、特定のひと一人で、実行時間1分みたいな、たくさん動かないやつはJVMか.NET系で買いてるかな〜

Rustで書くスキルも無いが。
0959デフォルトの名無しさん
垢版 |
2024/05/24(金) 17:03:15.24ID:2N4ieM97
>>956
んなこたない。適当なAPI叩いて結果保存するくらいのことでわざわざrustなんか使わねーよ。
0967デフォルトの名無しさん
垢版 |
2024/05/24(金) 23:15:30.97ID:s3G1nQRJ
やりたいこと次第だけどシェルの代替はPythonでほぼ事足りると思う
ファイル操作、文字列のパースやフォーマット、プロセスの呼び出しなどは簡単にできるし読みやすい
0968デフォルトの名無しさん
垢版 |
2024/05/24(金) 23:15:34.63ID:s3G1nQRJ
やりたいこと次第だけどシェルの代替はPythonでほぼ事足りると思う
ファイル操作、文字列のパースやフォーマット、プロセスの呼び出しなどは簡単にできるし読みやすい
0970デフォルトの名無しさん
垢版 |
2024/05/24(金) 23:53:57.26ID:fBactBUY
wslが使い物になるようになってから全部シェルスクリプトでよくね?ってなっちゃった
0973デフォルトの名無しさん
垢版 |
2024/05/25(土) 08:48:10.16ID:vDhIrX/5
Pythonってライブラリ資産が豊富でマルチプラットフォームなスクリプトだから使われてるだけでしょ
0974デフォルトの名無しさん
垢版 |
2024/05/25(土) 09:34:12.56ID:q+P8yrMm
>>973
その通りだけどそれが重要じゃん
だからRustはユーザ少ないし流行らないし消えそうじゃん
0976デフォルトの名無しさん
垢版 |
2024/05/25(土) 10:30:11.54ID:q+P8yrMm
じゃあ数字で出してよ

pythonが流行ってるとしてRustはどうなのか?
ユーザ数でもプロダクト数でも何でも良いから比較数値を出して見てよ
0977デフォルトの名無しさん
垢版 |
2024/05/25(土) 10:45:29.87ID:Ok/Wj9Ar
>>976
分野に定着すれば数が少ないことは「消えそう」という根拠にはならない。
総合的な判断なので一部の数値を見るのはあまり意味がないが……。
事実上の標準であるリポジトリ PyPI と crates.io のパッケージ数はそれぞれ 543556 と 146503 。
Python のほうがかなり数は多いが Rust が消えそうなほど弱小ということはない。
エンドユーザーに近いほうが数は多いのが自然だし。
0979デフォルトの名無しさん
垢版 |
2024/05/25(土) 11:20:17.33ID:jCqkIMgy
TIOBEとかgithubとか色々でてるじゃん
どう判断するかはあるけどそれくらい探せよ
0980デフォルトの名無しさん
垢版 |
2024/05/25(土) 11:24:55.77ID:CqoBbhiM
>>973
十分普及しているからさらに使われれるという面もあるな。
配布するスクリプトは昔ならわざわざ実行環境入れてもらうハードルがあるから標準の sh や bat を書いてたけど
今は安心して python 一本だな。
0981デフォルトの名無しさん
垢版 |
2024/05/25(土) 11:48:54.94ID:q+P8yrMm
>>980
数は正義だからね
0982デフォルトの名無しさん
垢版 |
2024/05/25(土) 11:49:54.05ID:7FqN5d/t
ここはRustスレだ
バカはクズ言語Pythonを使っていろ
しかしバカはここから出て行け
0983デフォルトの名無しさん
垢版 |
2024/05/25(土) 11:57:26.64ID:q+P8yrMm
俺がRustを使ってないと何時から錯覚した?

他の言語も使うがRustも普通に使ってるぞ
0984デフォルトの名無しさん
垢版 |
2024/05/25(土) 12:08:10.83ID:0t71UrW4
例えばJavaが消える最大の原因はKotlinだろうから
JavaとPythonを比較するのは無意味だと思う
RustとPythonも同じ
0987デフォルトの名無しさん
垢版 |
2024/05/26(日) 05:37:36.04ID:3cUpvkRQ
pythonが定着するとかイヤだなぁ・・・
pythonとかjsとか使わざるをえないからイヤイヤ使う言語ってほんとイヤ
0988デフォルトの名無しさん
垢版 |
2024/05/26(日) 11:36:19.22ID:7yHeuCrc
ネイティブコンパイラはOS依存を強制される説があって
javaとかjavascriptとかは強制がないとされていた

最近はネイティブではなくunsafeが悪いみたいな話になってるね
0989デフォルトの名無しさん
垢版 |
2024/05/26(日) 16:24:52.23ID:yRNPjL2P
>>987
残念ながら普通の人はpython使ってる
その中身をrustで書く
こうなっていくと思う
普通の人が直接rust書くのは無理かと
C/C++とおんなじ
0990デフォルトの名無しさん
垢版 |
2024/05/26(日) 17:48:00.24ID:VjGSgwTY
プログラムを書くのがプログラミングの専門家ってわけじゃないのが現代だからね。
学者ならどの分野にしても多少はプログラミングも (専門家レベルでは全くないにしても) 学んで欲しいが
事務員とかアーティストが使うことを想定したらかなりハードルを下げるのはしょうがない。
0991デフォルトの名無しさん
垢版 |
2024/05/26(日) 19:02:26.55ID:hB5FbGHx
Pythonの最も速くて使いやすいパッケージ管理ツールRye+uvはRust製
Python⇔RustはPyO3で相互呼び出し可能
今後のPythonはツール面でもライブラリ面でもRustの助けを得て進んでいく
0992デフォルトの名無しさん
垢版 |
2024/05/26(日) 21:48:57.66ID:qVdh8/fj
CPythonじゃなくてRustPythonになるのは歓迎
0994デフォルトの名無しさん
垢版 |
2024/05/26(日) 23:19:03.24ID:E+Olvt9B
PythonもJavaScriptも今どきのイケてるパッケージはRustで書かれてるよ
RubyやPHPは知らん
0995デフォルトの名無しさん
垢版 |
2024/05/26(日) 23:47:36.53ID:qyBtaRPy
X言語でX言語用のツールを作ってたけど
遅いとか色々問題が出てきたのでrustで作り直しました
という事例がそこそこ出てきたけどそこで
c++という事例あるかな?
レス数が950を超えています。1000を超えると書き込みができなくなります。

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