Rust part30

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2025/05/28(水) 09:31:36.60ID:ciITeZ5D
公式
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 part29
https://mevius.5ch.net/test/read.cgi/tech/1746200850/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2025/05/31(土) 14:56:58.99ID:BT0xlZs3
現状Copilotレベルの補完すらちょっと応用的なことしようとすると使い物にならんからな
Web屋の言語と違ってVibe Codingなんて夢のまた夢
2025/05/31(土) 14:57:54.14ID:Wfh15HZ5
>>250
今のAIだと結局人間の監査が必要だからまだまだ先かと
AIの得意とする言語はPythonなのが現状だし
2025/05/31(土) 15:00:20.05ID:0EZlcd7x
Pythonなどスクリプト言語プログラマから不要になりそうね
2025/05/31(土) 15:10:36.04ID:Wfh15HZ5
逆では?グルー言語は残る
2025/05/31(土) 15:13:34.19ID:BT0xlZs3
別にバグってても何かがぶっ壊れてても、エンドユーザにバレた後で修正すればいいって感じのものなら
AIに全部生成させてもあんまり困ることないだろう
2025/05/31(土) 16:19:47.05ID:976xRPKt
>>260
あれだけメモリ安全性に固執しておいて、バグッててもOK的な姿勢とは。
2025/05/31(土) 16:23:22.78ID:0EZlcd7x
>>261
消え行くスクリプト言語の話だろ
2025/05/31(土) 16:35:20.26ID:Wfh15HZ5
単純に関数名などで用途がわかって実行できる言語が有利だと思うけどね
rustはそうはいかない
2025/05/31(土) 16:37:33.86ID:0EZlcd7x
>>263
プログラマがAIで不要になる話だよ
2025/05/31(土) 16:46:59.83ID:/yGsmgz4
第1段階 スクリプト言語はAIのみが生成の時代へ
第2段階 AIはもっと速い言語のコードを生成へ
2025/05/31(土) 17:00:21.29ID:vaxfTYLN
RustにとってAIによる目先の脅威は、既存物のRustへの書き換えの作業のうちコーディングが自動化されて人間はテストばかりやらされるようになることじゃないかな
書き換えなんてAIが最も得意とするタスクで、Rustでも十分な精度が出る
書き換えは単純作業なので人間にとっては脳内麻薬ドバドバなのに、その気持ちいい部分がAI化されちゃうとRust触って俺スゲーしたいだけの人達がやる事なくなっちゃうよ
2025/05/31(土) 17:26:37.61ID:/yGsmgz4
>>266
普通の人は書き換えなんてやりたくない
新たな設計や機能の改善など創造的なことが楽しい
268デフォルトの名無しさん
垢版 |
2025/05/31(土) 19:05:28.17ID:INfHeArP
>>267
その論でいくと書き換えAIの精度を上げていくのは楽しいんじゃないかな
2025/05/31(土) 19:14:49.45ID:Wfh15HZ5
それはllmが何をしているのかを理解してない発言
2025/05/31(土) 19:23:46.27ID:/yGsmgz4
遅い言語のコードを生成するのはバカげてる時代になるから速くて省メモリな言語が有利だね
2025/05/31(土) 19:26:17.54ID:nmv5+SMF
悪いリファレンスカウントとヒープを使っていてもあれはライブラリだから
言語は悪くも良くもならないという中立性に魅力がある
2025/05/31(土) 21:52:40.30ID:YcA/fePE
ワナビおじさん
2025/05/31(土) 21:56:37.03ID:hZhWOomP
>>236,243
指摘した人も指摘しただけで
マルチスレッド対応したままArcやめるPRは出してないな
2025/06/01(日) 01:44:05.23ID:HqUXKEdT
Linux 6.15リリース:486クラスCPUサポート終了でRust統合加速
https://innovatopia.jp/uncategorized/55816/
2025/06/01(日) 08:13:47.82ID:4sBAU+Od
コマンドを作った奴は本当は喉から手が出るほどGUIがほしいんでしょ
ほしがれー
2025/06/01(日) 08:47:16.18ID:3zBjeqMb
BionicGPTもそのGUIのDioxusもRust製
https://github.com/bionic-gpt/bionic-gpt
2025/06/01(日) 08:52:33.88ID:zL90snIl
実用レベルのGUIアプリはどれもWebブラウザを使ってる奴か
2025/06/01(日) 09:00:06.64ID:3zBjeqMb
>>277
DioxusはTauriやElectronのようなWebブラウザJavaScript依存とは違って純Rust
2025/06/01(日) 09:01:28.49ID:oe0B6NCW
文字合成とかまで含めてきちんと UNICODE の全部をサポートしようとするとおおごとだからなぁ……
OS (または実質的に OS の一部のようなミドルウェア) が提供する機能のラッパーという形にしてもらったほうが安心できる。
2025/06/01(日) 09:03:49.22ID:3zBjeqMb
>>277
DioxusはTauriやElectronのようなWebブラウザではない
JavaScript依存もなくピュアRust
2025/06/01(日) 09:19:26.30ID:uL2Wr00R
>>280
現実は非情
https://dioxuslabs.com/learn/0.6/guides/desktop/#
> Apps built with Dioxus desktop use the system WebView to render the page.

Rustのコード自体はwasmじゃなくてネイティブで動くらしいから、頑張って慣れない英語読もうとしてそのあたりの説明を勘違いしちゃったんだろうね
健気で哀れな複おじ
2025/06/01(日) 09:33:24.37ID:3zBjeqMb
>>281
違いが理解できない?
ElectronとTauriはブラウザそのものでJavaScript依存
Dioxusは純Rust
2025/06/01(日) 10:02:51.51ID:4sBAU+Od
XAMLみたいなのはスクリプトじゃなくてデータだから純度が下がらないというのはまあわかる
じゃあCSSは
2025/06/01(日) 10:03:09.02ID:F948rj57
>>282
ElectronのJSランタイムは基本Node.jsで、オプションとしてブラウザ側も使用できる
Tauriも同様に、Rustコードの実行はネイティブ
上記のリンクにも記述のある通り、Dioxusはブラウザ側のDOMやjs/wasmにアクセスする手段がなく、その点で機能性が劣っていると言えるが、本質的には現時点ではElectronやTauriと大きな違いはない
2025/06/01(日) 10:14:51.82ID:zL90snIl
>>284
さっきのURLに document::eval() でDioxusはブラウザ側jsにアクセスできるって書いてあるじゃん
2025/06/01(日) 10:16:54.42ID:0BZHKwCC
>>284
全く異なる
Dioxusはマルチプラットフォーム
desktop platformの時のみwebviewを使う
287デフォルトの名無しさん
垢版 |
2025/06/01(日) 10:20:48.90ID:wOKtdl9D
単純にWebに載せるやつのほうが機能が充実してるしフレームワークのメンテナも利用者も多い
あと流行りのデザインやアニメーションを容易に組めるのが一番でかい
こういうとRustじゃない~て暴れられるけどGUIとロジックで役割分担してるだけなんよ
2025/06/01(日) 10:38:08.36ID:F948rj57
>>286
stableな実装は現状どのプラットフォームでもWebブラウザベースのみだよ
DOMとCSSが独自仕様なFlutterと違ってDioxusは仕様上HTML/CSSに依存してるんで、脱WebViewしようとすれば結局自前でブラウザを実装する必要があり、
互換性は全く期待できないしパフォーマンスでWebViewに勝つのも相当厳しいだろうな
2025/06/01(日) 10:42:10.51ID:0BZHKwCC
>>288
いいえ
Dioxusがwebviewを使うのはdektopのみ
2025/06/01(日) 10:46:19.31ID:F948rj57
>>289
https://dioxuslabs.com/learn/0.6/guides/mobile/
> Mobile is a first-class target for Dioxus apps, with a robust WebView implementation that supports CSS animations and transparency effects.
> Mobile apps are rendered with either the platform's WebView or experimentally with WGPU.
2025/06/01(日) 10:50:53.13ID:OE0EnsgK
DioxusはAndroidもiOSも対応してるのか
なかなか良さそうだな
2025/06/01(日) 10:53:22.67ID:4sBAU+Od
互換性ねえ
JVMと完璧な互換性のあるScalaみたいなのをまた作りたいのか
2025/06/01(日) 10:59:10.87ID:OE0EnsgK
Androidではjni-rs使ってRustで書けるのね
2025/06/01(日) 11:27:32.43ID:P0zCx+Hv
>>287
Rustで一番書きたいのは、ビジネスロジックというかバックエンド側だし
今現在GUIの表現において、一番大量の資産と表現力があるのはWebブラウザだから、あんまりそっちをRustでこだわるうまみって薄いんよな
Excelだってテキストエディタだってもうブラウザベースでやれてんだし

ハード屋でもないなら、どうせフロントには一切触れないとかありえないからそっち方面の資産は持ってるだろってのもある
2025/06/01(日) 12:35:57.00ID:qAHg6uzj
偏見だけどそもそもRustを好むような人ってフロントやりたがらない印象がある
2025/06/01(日) 13:03:57.46ID:MiYIiKjY
DioxusもwebviewレンダリングじゃなければIME部分を含めバグだらけなのでまだまだ使い物にならないよ
どのライブラリもwinit依存が多いからバグも共有してるものが多い

>あれだけメモリ安全性に固執しておいて、バグッててもOK的な姿勢とは。
これは耳が痛いね
2025/06/01(日) 14:36:26.65ID:f44LlI2e
>>296
バグどれよ?
2025/06/01(日) 15:24:01.36ID:ljy8kuAt
>>296,297
ちょっとおねだりが過ぎませんか?w

dioxusは不合格でした
https://i.imgur.com/EcQtVvZ.png
2025/06/01(日) 15:31:33.86ID:ljy8kuAt
platformはデフォルトのdesktop

WebView2 Managerが起動するので
> Render using Webview or - experimentally - with WGPU or Freya (Skia)
の内Webview backendかと

ウィンドウ移動やフォーカスを変えたりすると>>298になります
2025/06/01(日) 15:35:54.01ID:f44LlI2e
>>298
それの何が問題なの?
2025/06/01(日) 15:40:02.37ID:x1YbBh3g
>>298はDioxus TodoMVCのテキスト入力ボックスにフォーカスがあります

逆にWebViewでここまでひどいとは思いませんでした

フォント 中華
インライン入力 可
再変換 可
再フォーカス後 オンオフ状態リセット、入力途中文字も消える
2025/06/01(日) 15:43:26.55ID:x1YbBh3g
>>296,298
WebView内で閉じた処理はブラウザベースなので良いのでしょうが(中華フォント以外)
WebViewと橋渡しする処理がバグっているのでしょう
2025/06/01(日) 16:18:17.18ID:fAD5kDB0
まじで?
それタイミング関係なく常に発生する?
2025/06/01(日) 16:46:42.32ID:6daCzUqz
>>298の画像を見ても問題があるように見えない
重箱の隅を突くようなバッシングをしてる?
2025/06/01(日) 16:53:14.17ID:2J1lKbXS
ウィンドウ移動ですかね、>>298 バグのトリガー

正常動作(IMEオンしないパターン)
TodoMVC起動(自動的にテキストボックスに入力フォーカス)
タイトルバーをつまんでウィンドウを少し移動(入力フォーカスはテキストボックスのままカーソル点滅もしている)
キーボード入力
テキストボックスに反映される

異常動作(IMEオンするパターン)
TodoMVC起動(自動的にテキストボックスに入力フォーカス)
FEP切り替え
IMEオン
タイトルバーをつまんでウィンドウを少し移動(入力フォーカスはテキストボックスのままカーソル点滅もしている)
キーボード入力
デスクトップ左上に位置に入力エコーバックと変換候補ウィンドウ

起動後の初回IMEオン以外でも
テキストボックスフォーカス&IMEオンのまま、ウィンドウを移動、キーボード入力したら再現するかと
2025/06/01(日) 16:59:11.99ID:oe0B6NCW
>>304
アプリが IME に非対応なときは IME の側で離れた場所に窓を開いて対処する仕組みになってる。
つまりこれはアプリが IME のサポートを(充分には)していない図。
2025/06/01(日) 16:59:40.03ID:6daCzUqz
>>305
その動作の何が問題なのかな
webviewを使ってる数多のアプリでの動作は?
2025/06/01(日) 17:01:32.91ID:2E2nBA/3
>>307
自分でVSCodeで試してみたらいいでしょ
いくらRustエアプでもそれくらいはすぐできるだろ?
2025/06/01(日) 17:07:21.32ID:4sBAU+Od
コーディングができるのは玄人だけだがインストールと設定は素人でもできる
という認識と
フォントが文字化けしたりする現実が乖離してるんじゃないか
2025/06/01(日) 17:13:02.27ID:6daCzUqz
>>308
Microsoft管轄のと比較しても意味ない
もっと単純な比較をすべきだ
2025/06/01(日) 17:21:03.72ID:2E2nBA/3
>>310
だったらSlackで試したらいい
Rust経験ないのは仕方ないとしてもプログラミング自体完全エアプじゃなきゃさすがに入ってるだろ
2025/06/01(日) 17:26:45.46ID:6daCzUqz
なぜデカいのと比べようとする?
もっと単純な比較にしとけよ
2025/06/01(日) 17:34:03.73ID:WYn8l9li
>>305
なるほどありがとう
普通のWebViewアプリやブラウザでは再現しないから何かバグってるんだな
WebViewに全部まかせてるわけじゃないのか
2025/06/01(日) 17:41:33.42ID:bcDCNWwh
比較がおかしい
WebViewを使うGUIフレームワーク同士を比較しないと意味がない
2025/06/01(日) 18:16:51.61ID:7HYVfiGT
いまだにまともなGUI一つ作れないっておかしくね?
316デフォルトの名無しさん
垢版 |
2025/06/01(日) 18:29:20.11ID:qAHg6uzj
>>314
TauriでもElectronでもWailsでも、サンプルに入ってるような小さなアプリをビルドすれば分かるんじゃない?
2025/06/01(日) 18:38:52.12ID:EuGkxJef
>>315
誰も気にしていないどうでもいいことで叩き合ってるだけ
GUIは多数あり実用に使われている
2025/06/01(日) 18:45:14.37ID:DK16msZE
>>317
果たしてそうだろうか。
2025/06/01(日) 18:49:41.21ID:Afq2fQNa
>複オジの品質基準では「何の問題もない」
>一般的な品質基準では「問題ありまくり」

これに尽きる
2025/06/01(日) 19:12:46.36ID:4sBAU+Od
GUIを好む人はバグを再現する最小のコードを書きたがらない
反GUIの人はバグがなくても最小のコードを書いてる
2025/06/01(日) 19:12:53.21ID:F948rj57
Rustに限らずGUIフレームワーク全般に言えることなんだけど、優秀なプログラマほどGUIを使わなくなるから、
ボランティアベースのGUIフレームワークってロクなの無いんだよね。
実際、Rustで成功しているGUIアプリの代表的な例として、ターミナルエミュレータがある。
Rust製のAlacrittyやWezTermはターミナルエミュレータとしては非常に人気があり、日本語も問題ない。
2025/06/01(日) 19:29:51.30ID:pwCmtyNg
Alacritty スクショ
https://i.imgur.com/rDqVWcO.png
2025/06/01(日) 19:32:30.27ID:qAHg6uzj
Rustで書くことが目的化してる人に何を言っても変わらないでしょ
ちょっとくらい見た目や動作に問題があっても、Rustで作られてるならそちらの方が優れてる的な価値観なわけだし
普通の人は逆で、作りたいものが先にあって、それを達成するのにどの道具が良いかを検討するものなんだけど
2025/06/01(日) 20:23:59.45ID:/r9EZP3i
基本的な入力動作すらまともに動かなくてもメモリ安全であればいいんでしょ
そんなアプリを誰が使うのか
2025/06/01(日) 20:31:34.92ID:EOVsDC2W
>>322
さすがにこの状態でまともに使えるとは言わんよ
手元の環境ではこんなことにはならないからAlacritty使ってるけど
2025/06/01(日) 21:05:48.26ID:P1xiFI4O
>>322
それおまえの環境がおかしいんじゃね?
こちらでは起きない
そんな問題も上がっていない
2025/06/01(日) 21:07:24.61ID:P0zCx+Hv
Rustのような新興システムプログラミング言語の優位性を
業務アプリすらWebばっかで、デスクトップ開発の需要自体が死んでる令和の時代になぜかデスクトップGUIフレームワークなんかで決めようとしてる時点で
Rustはクソ言語C++のほうが優れてるみたいな感じに持ってくのがゴールなんだよね
2025/06/01(日) 21:13:17.99ID:gyZ55+5M
安心安全のはずのRustがGUIではバグだらけ
不思議
2025/06/01(日) 21:15:37.04ID:P1xiFI4O
>>328
バグがあるなら示してみろ
2025/06/01(日) 21:20:41.09ID:oe0B6NCW
示されてるのに「こちらではおきない」で無かったことにしてるのはお前だろ。
2025/06/01(日) 21:34:08.02ID:t7W26l2E
Alacrittyは人気のターミナルエミュレータでもう9年目だけどそんなバグは聞いたことないな
2025/06/01(日) 21:35:32.32ID:zL90snIl
>>305
Tauri v2もこのウィンドウ移動によるバグがあるけど誰も指摘しないから
これぐらいの軽度バグは世間的には許されるってことじゃないか?
日本語対応は100点満点じゃないけど70点ぐらいはある
2025/06/01(日) 21:49:21.86ID:P0zCx+Hv
IME使った文字の入力中にウインドウを移動するっていうユースケースが、どれだけ日常かという話
2025/06/01(日) 21:52:14.83ID:vHN87OYL
>>333
>>305の手順では必ずしも文字の入力中ではない様だけど
2025/06/01(日) 21:58:36.70ID:vHN87OYL
>>332
そう自分で直すのが面倒だから見て見ぬふりするね
使うだけの側からしたら代わりは幾らでもある、そっと閉じ
2025/06/01(日) 22:02:27.70ID:t7W26l2E
Rustを叩きたい人が通常ではありえない使い方をして無理やりにAlacrittyを批判してるだけか
2025/06/01(日) 22:22:04.75ID:/r9EZP3i
脆弱性もありえない使い方すると出てくるんでは
メモリ安全だからロジックに集中できて完成度があがるはずじゃなかったんすかw
2025/06/01(日) 22:28:33.11ID:EOVsDC2W
Windows11のAlacrittyでIME入力中にウィンドウ移動しても普通に追従するけどな
環境と再現手順を知りたいところ
2025/06/01(日) 22:34:44.87ID:4sBAU+Od
Rustのコードが1行もないソフトに同じバグがあればとりあえず安心
2025/06/01(日) 22:38:36.61ID:6z/uSzky
>>322,338

Alacritty 異常動作(IMEオンするパターン)
Alacritty起動
IMEオン
タイトルバーをつまんでウィンドウを少し移動
キーボードでa
デスクトップ右下に変換候補ウィンドウ

Windows11
2025/06/01(日) 22:42:20.46ID:6z/uSzky
>>338
変換候補ウィンドウが出た後にAlacrittyウィンドウを移動するのではなく
>>340の順番通りにやると再現率半分くらい
(IMEオンはAlt+`)
2025/06/01(日) 22:43:57.89ID:6z/uSzky
Microsoft IME
旧バージョン互換性オプションオフ
2025/06/01(日) 22:45:30.38ID:6z/uSzky
再現率が半々で、ウィンドウを移動しなくても時々発生するので
ウィンドウを移動が根本原因ではない可能性もあるかと
2025/06/01(日) 22:46:29.92ID:HyrzgXWk
tao(tauri版winit)の実装見たけど少なくともWindowsのIMEはあまりやる気ないな
WM_IME_*が↓でしかヒットしないしWM_IME_REQUESTもWM_IME_CONTROLも出てこない

https://github.com/tauri-apps/tao/blob/dev/src/platform_impl/windows/minimal_ime.rs

winitも同じかな
2025/06/01(日) 22:46:30.67ID:6z/uSzky
今の所、WezTermでは同様のバグは発生してないですね
2025/06/01(日) 22:51:47.81ID:6z/uSzky
>>343
再現率低いAlacritty 異常動作(IMEオンするパターン)

Alacritty起動
IMEオン
キーボードでa
デスクトップ右下に変換候補ウィンドウ
2025/06/01(日) 22:57:05.24ID:UP9ZJCIN
今度はAlacrittyですか…
>Alacrittyはパフォーマンスとシンプルさを重視した自由かつオープンソースのGPUアクセレレーション端末エミュレータである。
知らんがな
2025/06/01(日) 23:03:02.79ID:EOVsDC2W
>>340
おお、確かになるね
IMEオン状態のままだとならないから切り替え直後の1回だけって感じ?
ここ数年常用してて見たことないし、うちの環境ではウィンドウ移動なしでは発生しないっぽいかな
2025/06/01(日) 23:11:44.02ID:0CmIhd20
>>340
Rustを叩くためにそんなありえない使い方をして深刻なバグだと吹聴していたとは呆れた
2025/06/01(日) 23:15:24.99ID:7HYVfiGT
Rustは安心安全
※ただしありえない使い方をしない時にかぎる
2025/06/01(日) 23:45:33.58ID:sQgPtell
ありえおじ
2025/06/01(日) 23:46:59.52ID:0CmIhd20
>>350
ありえない使い方をしても問題ないことをRust叩きしてる人が証明してくれた
2025/06/02(月) 00:05:41.71ID:fXikgHg9
ミニマム再現条件にすると滑稽ですが
好みの位置にウィンドウを持って来るのは普通の事なので(デスクトップ)
ありえない使い方と言うよりも、windowsでネイティブ日本人がテストしてないのか?品質に出ていますね

「ウィンドウ移動する前には、IMEはオフにせよ」なんて使用条件の方が変かと
2025/06/02(月) 00:06:41.28ID:fXikgHg9
>>348
確認できたのはそのパターンです、自分は常用してないので他のバグ発生条件までは分かりませんね
(念のためPowerToysを落としても状況は同じだった)

Dioxus TodoMVCの方はIMEオン直後だけではなくウィンドウ移動後の1キー目で>>298こうなります
2025/06/02(月) 00:07:15.73ID:fXikgHg9
>>332,335
ターミナルで日本語入力する事自体が稀なのでAlacrittyには70点あげても良いですが
Dioxusは「そっと閉じ」の方ですね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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