Rust part23

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
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/
2024/04/24(水) 19:45:20.62ID:AQu1Dr63
OsStringはOSから渡されたバイト列をそのまま格納するだけで
EUC-JP環境ならEUC-JPバイト列がそのまま入るし何も変換されたりしないが…
2024/04/24(水) 19:49:39.48ID:MMJHgfnp
想像力が欠如しているか頭がおかしいか指示待ち人間だからそういう幼稚なレスになる

結局内部で使う場合は簡単にutf8に変換してる
なにからutf8に変化するか指示も必要がない
ただのボイラープレート
2024/04/24(水) 19:58:53.67ID:ArOBrbBE
>>777
自動変換なんてものはない
むしろ自動変換を避けるために用意されているのがOsString
もちろん自動変換は行われない
2024/04/24(水) 20:02:00.63ID:MMJHgfnp
人間じゃなくて壊れたロボットに話しているようだな
いくつになろうとこんなダメな人間になってはいけないな
2024/04/24(水) 20:16:20.94ID:il94IOIF
ぼきのかんがえたさいきょうのげんごにはstring<encoding>とchar<encoding>があって
どんなエンコーディングの文字列でも統一的に扱うことができましゅ
Rustもまだまだでしゅね
2024/04/24(水) 20:44:42.25ID:xJ62MSkB
ほとんどの環境がWebも含めてUTF8に統一となったからRustのstr/String内部表現がUTF8であるのは合理的といえる
もちろんWebでもローカルファイルでも古いものは様々な文字コードが使われているため必要なら各々で対処する必要がある
2024/04/24(水) 21:30:38.14ID:nN1vQ+Ae
文字コードをUTF-8とか特定のものに決め打ちにしないという点ではRubyが一番先進的だったが、あれはやりすぎで以降の言語には採用されなかったな。
2024/04/24(水) 21:49:41.83ID:tlaf0qkO
めちゃくちゃ間違ってるのになぜ上から目線で自信満々にレスするんだろう?
複オジは昔の自分を諭してる気分じゃないか?
2024/04/24(水) 22:41:53.26ID:MMJHgfnp
Rustが正しいの一点張りの狂人
787デフォルトの名無しさん
垢版 |
2024/04/25(木) 01:24:12.71ID:fpMjozoS
>>0774
お前の着眼点は凄えよ!感動した。
その通り、Rustは初心者/素人 御用達言語だよ。
2024/04/25(木) 07:30:11.27ID:xsazBswH
おじいちゃん誰にも相手にされず寂しくなったんだねw
789デフォルトの名無しさん
垢版 |
2024/04/27(土) 03:20:12.65ID:nhA0znD3
聞き分けることができない。
https://kanji.reader.bz/pronunciations/last,lust,rust
790デフォルトの名無しさん
垢版 |
2024/04/27(土) 21:28:13.67ID:+PotGQRe
crates.io が死んだときはどうすれば良い?
2024/04/27(土) 21:31:55.69ID:Ik8q0/YE
cargo run --offline
2024/04/28(日) 09:02:55.08ID:nHdP2D/h
ミラーサイトとか無いんだっけ?
793デフォルトの名無しさん
垢版 |
2024/04/29(月) 14:17:37.62ID:wZNa4EA4
5chが荒らされてる時はどうすれば良い?
794デフォルトの名無しさん
垢版 |
2024/04/29(月) 16:10:30.59ID:E9KMHG2x
取り敢えずアゲとけばいいんじゃね?
2024/04/30(火) 02:47:45.81ID:Mf3BeDX5
したらば掲示板あたりに避難所作っておけばいかが
796デフォルトの名無しさん
垢版 |
2024/04/30(火) 03:09:09.37ID:LM/x1iE2
落ち着いてpanicしよう
2024/04/30(火) 07:30:51.55ID:QURaxzoQ
core吐きそう
2024/05/01(水) 23:17:38.38ID:7162bhB/
python みたいに何でも格納できる辞書型ってC++には無いよね?
2024/05/02(木) 02:40:57.58ID:VpjL2uZS
enumも弱いなあ
2024/05/02(木) 18:14:15.88ID:MEkFc6Ha
anyとmap組み合わせればいいんじゃね?
ここRustスレだけど
2024/05/02(木) 20:59:19.04ID:AhHSwsoc
Rustで辞書型はHashMap
複数の型を格納したかったらenumかdyn Trait
TraitをAnyにするならdowncastして使う
実際には共通に処理したい目的があるはずなのでそのTraitを用意すればdowncastしなくて済む
2024/05/03(金) 11:35:32.62ID:nLK8l4in
pythonみたいにだからclassがわりなのかも

p["name"]="yamada taro";
p["age"]=25;
みたいなのかな
いずれにしてもC++じゃないので
2024/05/03(金) 23:02:14.16ID:NBKkZegt
静的型付けの有用性が大きく上回るから
そのケースならstructにするだろうし
色んな型を横断的に扱いたいケースならtraitかな
2024/05/04(土) 04:23:28.64ID:hKZu/p+3
https://pbs.twimg.com/media/GLs31gXbYAA6xIr.jpg
2024/05/04(土) 09:38:11.89ID:dspjTuTH
GUI付きのポータブルなデスクトップアプリを作るとなるとどのライブラリがいいんだろ?
2024/05/04(土) 12:00:07.75ID:GFUvMaSe
tauri?
2024/05/04(土) 12:04:17.00ID:WHGnbjEl
UIはもうネイティブにこだわらなくてもいいんじゃないかな
昔からwebでしかUI提供してないソフトはゴロゴロある
2024/05/04(土) 15:02:31.51ID:UtcYFhat
用途次第
WebベースのUIでは反応速度が遅すぎる場合もあるしサイズが許容できない場合もある
2024/05/04(土) 15:44:19.83ID:oqQ8V/k0
Tauri は各環境の WebView を使うからアプリケーションの側では管理しなくてよくなり楽……
みたいな言説もあるが、 WebView の種類・バージョンを固定できないから変化に追従する必要が生じる。
そもそもウェブの世界は変遷が激しい。
Living Standard ってなんやねん。 普通の産業の感覚では信じられんようなことをしやがる。
元からウェブ系のスキルセットを持っている人が開発してメンテナンスもするってのなら
Tauri は良い選択肢だと思うが、それなりにデメリットもあるよ。

ただ、多言語 (というか Unicode) に隅々まで対応しているようなフレームワークってことになると
ウェブ系の基盤がめちゃくちゃ整備されているのでそこらへんは唯一無二だわ。
2024/05/04(土) 16:01:23.73ID:WHGnbjEl
即応性が必要な人は特殊な学習を手間暇というか単純に時間をかけてやって
そうでない場合は普通にhtmlで
2024/05/04(土) 16:07:02.02ID:lP1zz7vp
実行時のメモリ使用量の違いもかなり大きいから最初に考慮しといた方がいい
常駐の軽いアプリを作りたい場合なんかは特に
2024/05/04(土) 16:07:49.70ID:oqQ8V/k0
UI を記述するためのものとしては html は「普通」じゃないってことをウェブ系の人は思い出して欲しい。
元はドキュメント記述用だったのに html5 から大幅に路線変更してアプリケーション基盤として再編したけどどう見たって無茶苦茶だ。
ウェブの人が使う分にはこれでいいことは否定しないけど、 UI 記述の「普通」ではない。
2024/05/04(土) 16:17:08.35ID:5ROxz5B4
UI記述は宣言的なものが主流になりつつあってhtml的なものが「普通」になってきてるんだよ

MFCやCocoaやGTK的なものが今では逆に「普通」ではない
2024/05/04(土) 16:22:01.06ID:WHGnbjEl
html5は死んだ
もうどこにも存在しない
2024/05/04(土) 16:22:16.16ID:oqQ8V/k0
>>813
宣言的がどうこうとかいう問題ではなく html が「普通」ではないと述べてる。
これが良いとか悪いとか言ってるわけではないよ。
まず第一に選ぶべき「普通」だとする論を否定してる。
2024/05/04(土) 16:58:29.96ID:uscJJ1KS
じゃあslint?
2024/05/04(土) 18:05:18.74ID:uscJJ1KS
何気にslintと書いてみたが紹介動画見る限りvs codeにアドオン入れてライブプレビューしながらuiの構築がサクサク行えるのは割といいな…

tauriは環境構築する段階でnodeのバージョンやら依存ライブラリの不備でエラーがでてしまい結構時間が掛かってしまった
2024/05/04(土) 18:12:14.00ID:WHGnbjEl
デスクトップアプリのここにグラフ出してくださいって言われて
対応できる環境は少ない
819デフォルトの名無しさん
垢版 |
2024/05/04(土) 19:49:33.93ID:kEH6RwVz
他にいい表現方法があるなら自分で作って使ってりゃいいじゃん
2024/05/04(土) 21:10:45.57ID:D/qKI/dJ
dioxusはあんま使われてない感じ?
2024/05/04(土) 23:00:15.61ID:ycOsd5I6
iced.rs
822デフォルトの名無しさん
垢版 |
2024/05/05(日) 10:17:39.98ID:k5d9I+SK
>>821
Elm Architectureの設計パターンを覚える必要があるけどなかなかいいですね
2024/05/05(日) 18:52:14.60ID:k5d9I+SK
試してみたけど導入のカウンタの例がいきなりビルド出来ない…

バージョンの変更にドキュメントが追いついていないのは残念ですね…
2024/05/05(日) 23:14:06.38ID:XwodnLf4
freyaはどう?
2024/05/09(木) 16:51:54.63ID:7kteiv59
https://blog.logrocket.com/state-rust-gui-libraries/
2024/05/09(木) 22:53:04.47ID:mHp10mC4
一覧
https://lib.rs/keywords/cross-platform-gui
2024/05/10(金) 22:11:46.56ID:R/1AnZ57
Edera
828デフォルトの名無しさん
垢版 |
2024/05/11(土) 15:19:35.98ID:7ZNhzC0A
https://loglog.games/blog/leaving-rust-gamedev/
Rustはゲーム開発に向いてないという記事
C/C++を置き換えるという目標がまた一つ遠のいてしまったな
829デフォルトの名無しさん
垢版 |
2024/05/11(土) 16:10:55.98ID:cPH9qnwk
Rust製ゲームエンジンが未成熟なんだから当たり前だろ😅
2024/05/11(土) 17:53:51.16ID:PRiIqFBU
Web開発は素早い実装と更新が必要だから
Rustは向いてない動的型言語が向いてる
みたいな記事は昔あった気がする
2024/05/11(土) 18:07:19.67ID:YXABt1rM
>>828
>Rustが上手くなれば、これらの問題はすべて解消されます。
>Rustは大規模なリファクタリングに優れているため、
>borrowチェッカーのほとんどが自業自得の問題を解決します。
>十分な経験を積めば、ユーザーは考えずにそれらを完全に予測し、生産的になります。
>私はRustでさまざまなユーティリティやCLIツールを書くのをとても楽しんでいますが、
>数行のコード以外はPythonよりも生産性が高いことがわかりました。
>「コンパイラ駆動開発」をどこまで進めて、実際に成功できるのかと驚いたことが何度もあります。
>Rustの最大の強みは、Rustにふさわしいコードを書いていると、物事が非常にうまくいき、
>言語がユーザーを正しい道に導いてくれることです。
832デフォルトの名無しさん
垢版 |
2024/05/11(土) 19:27:53.90ID:3IwrsNfE
>>828
この記事、ゲーム開発においていかにUnityがすばらしいかを伝えたいだけじゃん
2024/05/12(日) 06:43:20.67ID:k1k0SaOB
>>831
エキスパート専用、初心者お断り
というRustのいつもの欠点。
834デフォルトの名無しさん
垢版 |
2024/05/12(日) 11:56:37.24ID:WctoPZ5N
ずいぶん過疎ってるけどどんぐりのせいなんかね?
2024/05/12(日) 12:01:04.30ID:ReOJFzuL
c++を完璧に使いこなせばrustは不要とか
いうのは欠点ではないの?
836デフォルトの名無しさん
垢版 |
2024/05/12(日) 12:04:43.22ID:qXz8Kn6F
それは本人の練度の問題やんけ
2024/05/12(日) 12:33:17.76ID:ybg7kEk2
>>835
政府レベルで脱C/C++推奨してるのよ
ソース記事>>500
838デフォルトの名無しさん
垢版 |
2024/05/12(日) 13:10:14.91ID:ytouLwn1
政府のお墨付きは強いカードだ
2024/05/12(日) 15:34:04.32ID:bb5m7yXX
書き込めない
840デフォルトの名無しさん
垢版 |
2024/05/12(日) 17:53:27.59ID:YZSMKp1R
tauriがだいぶ普及してrustに手を出す人が増えたね
いい傾向だ
2024/05/12(日) 23:38:46.27ID:dSHQVPuW
Tauriで流入した人の多くはフロント側 (JavaScript, TypeScript) の技術者な気がする
「ほぼRust書かずにTypeScriptでできますれ」みたいな言説も見かけるくらいだし
実際そのアプローチはありだろうしRustの認知度にも寄与するだろうけど、純Rustのフレームワークも成熟して欲しいところ
2024/05/12(日) 23:46:56.69ID:y8qBeNSM
ガワをRustで書いただけで何が嬉しいことでもあるんか?
私はRust使ってますって言えるから?
2024/05/13(月) 00:38:30.52ID:DdLtk1MY
繰り返しになるが GUI 記述として html ベース、ウェブベースの制御はそんなに筋が良くない。
根本的に GUI に対する要求が複雑だから万能を目指したフレームワークはだいたいそうなるものではあるんだが
逆に言えば万能でなくてよいときに使うにはウェブウィジットはリッチすぎる。

それとウェブ世界の living standard という体制に不信感がある。
ウェブ世界ではそれで良いにしてもどこでもその考え方が通用するわけではない。
2024/05/13(月) 02:02:04.61ID:TEcr6tUj
>>843
抽象的な欠点あげつらうのは役に立たないんで
今普及してるguiツールキットでおすすめと
その理由は?
2024/05/13(月) 02:21:51.83ID:DdLtk1MY
>>844
Tauri がウェブフレームワークに依存しているのが悪いというのは具体的ではないんか?
それが良い場合もあるので何が良いかは結局のところ場合によるとしか言えない。
そりゃそうだろ。
ウェブフレームワークを活用できることとウェブフレームワークに縛られることは表裏一体で
活用しつつ欠点から逃れるなんていう都合の良い話はないというごく普通のことを言いたいだけ。
2024/05/13(月) 02:31:51.65ID:TEcr6tUj
>>845
ウェブguiの欠点が全く具体的じゃないし
場合によるというなら役に立つ場合に使えばいいよね
で話はおしまいなんで何も役に立たない
話だね
2024/05/13(月) 03:08:04.24ID:DdLtk1MY
>>846
ウェブフレームワークの欠点なんかいまさら説明せなあかんようなこと?
役に立つ場合には使えばいいってのは当然の大前提で、
話題の流れとしては >>842 に対して「全ての」場合に Tauri がマッチするわけない
(ので色々な選択肢が出てくるに越したことは無い) って話じゃん。

これから生まれる (生まれていない) 色々なプロジェクトのどれがどういう状況で役立つかなんか事前にわかったら苦労はないわ。
色々出て来て色々消えるのも当然のことで、
Rust スレなんだから純 Rust で出来るものも有って欲しいという期待は自然なものだろ。
2024/05/13(月) 03:11:17.53ID:7xLbVW9j
QtレベルのフレームワークがRustで書けるならそれは嬉しいけどね
開発者のモチベが続かないような気がする
あまりにもゼロから実装しなきゃならんし
849デフォルトの名無しさん
垢版 |
2024/05/13(月) 03:11:29.07ID:To2vSRYZ
デザイン系の人の大多数がウェブアプリ開発をできるからTauriは高需要でいいと思う
そもTauriはRustが主役のフレームワークじゃないんだからあーだこーだ言う必要なし
世間の知名度が上がる道具になってくれれば十分ってもんよ
850デフォルトの名無しさん
垢版 |
2024/05/13(月) 03:17:53.91ID:+k5+3Net
デスクトップアプリ自体需要低下が著しいわけで、いまさら新しいGUIフレームワーク作りましたって誰も使わんわ
WPFすら将来性が怪しまれてるのに
2024/05/13(月) 03:26:50.43ID:7xLbVW9j
ちなみに全てゼロから実装してるGoのGUIフレームワークのgokiは6年以上開発しててまだ完成しない
描画から全部作ってる
そしてついに開発者が飽きた

同じくgoのfyneも5年ぐらい開発してこちらもOpenGLでゴリゴリやってるようだが
すでにOpenGLは時代遅れだし
すでに開発者が飽き気味
2024/05/13(月) 03:46:12.80ID:FJrB7Dif
ウェブまわり自体がクソってのには賛同するけど、これまでの莫大な資産や個々の経験の後押しが需要を押し上げるんだから仕方ない
どれだけRust由来のGUIフレームワークを望んだとしても負ける未来しかないんだ
WPFもWinUI3もFlutterもComposeも頑張ってるけど勝てないんだ
2024/05/13(月) 06:53:31.41ID:NqUrzczE
>>825
Rust GUI framework performance comparison
http://lukaskalbertodt.github.io/2023/02/03/tauri-iced-egui-performance-comparison.html
2024/05/13(月) 08:41:01.54ID:1UkfuR6U
可能性があるとすると組み込み系かなぁ
車載GUIにUnityとか検討してるとこはあるみたいだけど、多少描画がバグってもいいゲームとは違うし
Rustの安定性が求められる領域ではあると思う
slintなんかはそちらを目指しているように見える
855デフォルトの名無しさん
垢版 |
2024/05/13(月) 10:36:48.17ID:gtcOXaAe
フロントについてこういうカッチかちの言語でうまくと思ってるやつは実際にコード書いてないのがバレバレだよ
2024/05/13(月) 11:03:56.17ID:TEcr6tUj
>>847
こういうアプリ作りたいならウェブ技術・
tauriは論外くらい言ってくれよ
857デフォルトの名無しさん ころころ
垢版 |
2024/05/13(月) 11:12:58.92ID:2BkgcWoG
>>848
QtのRustバインディングがもっと進歩すればなあ。
JS系はreact圧倒的に強いからQMLなんて絶対流行らんだろうに
858デフォルトの名無しさん
垢版 |
2024/05/13(月) 11:14:38.81ID:BwU1QaNs
RustのGUIフレームワークを気になって色々見てたけどどれもよくあるレンダリングエンジンのWebGPU、Vulkan、OpenGL、SkiaをRustラップしてるだけじゃんね
純粋なRust製レンダリングエンジンはどこだよ
2024/05/13(月) 12:01:14.07ID:7xLbVW9j
>>858
今時自前で描画なんてやる訳ないだろ
なんのためにGPUがあるんだ
2024/05/13(月) 12:47:01.47ID:nhWWGTo5
WebGPUの参照実装であるwgpuは純Rust製だと思ってるけど違うんかね?
2024/05/13(月) 13:02:11.22ID:LO420and
>>858
少なくともOpenGLとVulkanはグラフィックAPIなんだからラップするのは普通でしょ
2024/05/13(月) 15:33:49.11ID:Y2zR27Yz
tauriはロジック部分をrustで書きやすいんでしょ?理想的じゃないか
フロントとバックで得意分野の棲み分けができてて賢いフレームワーク
2024/05/13(月) 16:08:29.50ID:DdLtk1MY
だから Tauri が悪いという論じゃないんだ。
他の選択肢がいっぱいあると嬉しいねって話なんだってば。
2024/05/13(月) 21:28:07.97ID:59wZgx8n
神学論争じゃなくてエンジニアリングとして
tauriではこんなアプリ作るべきじゃない
理由はこんな欠点があるからという
話してくれれば良いだけなんだが
2024/05/13(月) 22:14:06.95ID:ZPj3lkv2
GUIといっても多種多様に分かれて共存しておりRustでも色々なライブラリがある
slintのように軽量重視もあれば
eguiのように(一般的な保持モードとは異なり)即時モード採用もあったり
tauriのようにWebと同じ枠組みを使うことで同じ知識の活用とWebアプリとの共通化をはかるものもあり
他にも様々なものがある
前提環境抜きで特定のものを批判してる人はおかしい
2024/05/14(火) 07:45:48.78ID:6cY0CvIK
みんな違ってみんな良い
2024/05/14(火) 08:57:53.35ID:xCwyd0xz
slintは素直でとっつきやすかったな
icedは変化が激しいのか入門もさせてもらえない…
2024/05/14(火) 23:21:46.80ID:hA3mS4wv
LambdaはRustで書くのが定番になってきたな
2024/05/15(水) 00:25:29.32ID:pg7m6itF
何より悲しい一人ランバダ
870デフォルトの名無しさん
垢版 |
2024/05/15(水) 04:42:11.15ID:NcaIPB0V
わしウェブ系技術ってのが嫌いやねん
2024/05/15(水) 06:07:55.49ID:HCR4HRqT
具体的に指摘できない人は単なる無知か落ちこぼれ
872デフォルトの名無しさん
垢版 |
2024/05/15(水) 09:47:09.65ID:qxOWZ5PZ
tauriは叩く要素が特にない
electronのデメリットを克服しつつも既存の普及済み技術を集合させた感じなんだもの
tauri導入における敷居の低さはあっぱれとしか言いようがない
ウェブ技術やってない人はこれを機会にreactを勉強したらいいよ
873デフォルトの名無しさん
垢版 |
2024/05/15(水) 11:23:11.20ID:z848GXEz
なんかもう面倒臭いしバックエンドもnode.jsでいい気がしてきた
874デフォルトの名無しさん
垢版 |
2024/05/15(水) 14:38:34.92ID:h8Rmia3E
結局最初はrailsでokみたいなのが最近の流れでしょ。
そこから開発規模に沿ってどう分割していくかってのが最近のテーマではあると思うけど。
最初からかっちり開発しましょうなんて20年前のお花畑理論でしかないわな。
2024/05/15(水) 15:28:41.91ID:aizlqnqQ
ネイティブGUIアプリの話にRails関係ないだろ

Web開発でもとりあえずRailsのピークは過ぎ去ってるぞ
2024/05/15(水) 15:31:56.50ID:5ypavdrK
tauriはデータの受け渡しが遅すぎる
2024/05/15(水) 16:29:56.86ID:0QhUyids
モダンなGUIアーキテクチャでRust書きたいよ
今のは全部古すぎる
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。