X



Rust part23

■ このスレッドは過去ログ倉庫に格納されています
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/
0770デフォルトの名無しさん
垢版 |
2024/04/24(水) 17:21:01.52ID:MMJHgfnp
ファイルの引数だけ標準では何もしない
普通のキーボード入力などでは変換している
0772デフォルトの名無しさん
垢版 |
2024/04/24(水) 18:26:14.33ID:AQu1Dr63
>>768
自動変換は正直意味不明だが(変換元の文字コードが判定不能なのに何を変換するのか?)
argsは今RFC出したらResultにしろって突っ込まれると思うし
1.0であまり深く考えずに入れちゃった気はするよ
0773デフォルトの名無しさん
垢版 |
2024/04/24(水) 18:50:02.66ID:5HDpMmrb
Resultとかのハンドリングが面倒な人向けの簡便方法として用意されてるのでそれはないと思う

argsじゃなくてargs_utf8onlyとか名前をダサくして
逆にargs_osを元のargsに戻しとけば
リファレンスをよく読まない人たちがつまづく可能性を下げられる
0774デフォルトの名無しさん
垢版 |
2024/04/24(水) 19:00:18.55ID:65hs2nTl
こういうのを見ると、RustのデザイナーはRustに求められているのがなんなのか理解できていないと思うわな。

Rustは雇われコーダー用Safe Rustのニーズがほとんどで、Unsafe Rustとかのニーズは無いと思うがね。
0776デフォルトの名無しさん
垢版 |
2024/04/24(水) 19:14:39.18ID:9A8KMAyG
自動変換とかそんなアホなこと言ってるのはあんただけやで
そんなものは無いし必要ない
0778デフォルトの名無しさん
垢版 |
2024/04/24(水) 19:45:20.62ID:AQu1Dr63
OsStringはOSから渡されたバイト列をそのまま格納するだけで
EUC-JP環境ならEUC-JPバイト列がそのまま入るし何も変換されたりしないが…
0779デフォルトの名無しさん
垢版 |
2024/04/24(水) 19:49:39.48ID:MMJHgfnp
想像力が欠如しているか頭がおかしいか指示待ち人間だからそういう幼稚なレスになる

結局内部で使う場合は簡単にutf8に変換してる
なにからutf8に変化するか指示も必要がない
ただのボイラープレート
0780デフォルトの名無しさん
垢版 |
2024/04/24(水) 19:58:53.67ID:ArOBrbBE
>>777
自動変換なんてものはない
むしろ自動変換を避けるために用意されているのがOsString
もちろん自動変換は行われない
0781デフォルトの名無しさん
垢版 |
2024/04/24(水) 20:02:00.63ID:MMJHgfnp
人間じゃなくて壊れたロボットに話しているようだな
いくつになろうとこんなダメな人間になってはいけないな
0782デフォルトの名無しさん
垢版 |
2024/04/24(水) 20:16:20.94ID:il94IOIF
ぼきのかんがえたさいきょうのげんごにはstring<encoding>とchar<encoding>があって
どんなエンコーディングの文字列でも統一的に扱うことができましゅ
Rustもまだまだでしゅね
0783デフォルトの名無しさん
垢版 |
2024/04/24(水) 20:44:42.25ID:xJ62MSkB
ほとんどの環境がWebも含めてUTF8に統一となったからRustのstr/String内部表現がUTF8であるのは合理的といえる
もちろんWebでもローカルファイルでも古いものは様々な文字コードが使われているため必要なら各々で対処する必要がある
0784デフォルトの名無しさん
垢版 |
2024/04/24(水) 21:30:38.14ID:nN1vQ+Ae
文字コードをUTF-8とか特定のものに決め打ちにしないという点ではRubyが一番先進的だったが、あれはやりすぎで以降の言語には採用されなかったな。
0785デフォルトの名無しさん
垢版 |
2024/04/24(水) 21:49:41.83ID:tlaf0qkO
めちゃくちゃ間違ってるのになぜ上から目線で自信満々にレスするんだろう?
複オジは昔の自分を諭してる気分じゃないか?
0787デフォルトの名無しさん
垢版 |
2024/04/25(木) 01:24:12.71ID:fpMjozoS
>>0774
お前の着眼点は凄えよ!感動した。
その通り、Rustは初心者/素人 御用達言語だよ。
0790デフォルトの名無しさん
垢版 |
2024/04/27(土) 21:28:13.67ID:+PotGQRe
crates.io が死んだときはどうすれば良い?
0793デフォルトの名無しさん
垢版 |
2024/04/29(月) 14:17:37.62ID:wZNa4EA4
5chが荒らされてる時はどうすれば良い?
0794デフォルトの名無しさん
垢版 |
2024/04/29(月) 16:10:30.59ID:E9KMHG2x
取り敢えずアゲとけばいいんじゃね?
0796デフォルトの名無しさん
垢版 |
2024/04/30(火) 03:09:09.37ID:LM/x1iE2
落ち着いてpanicしよう
0801デフォルトの名無しさん
垢版 |
2024/05/02(木) 20:59:19.04ID:AhHSwsoc
Rustで辞書型はHashMap
複数の型を格納したかったらenumかdyn Trait
TraitをAnyにするならdowncastして使う
実際には共通に処理したい目的があるはずなのでそのTraitを用意すればdowncastしなくて済む
0802デフォルトの名無しさん
垢版 |
2024/05/03(金) 11:35:32.62ID:nLK8l4in
pythonみたいにだからclassがわりなのかも

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

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

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

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

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

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

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

同じくgoのfyneも5年ぐらい開発してこちらもOpenGLでゴリゴリやってるようだが
すでにOpenGLは時代遅れだし
すでに開発者が飽き気味
0852デフォルトの名無しさん
垢版 |
2024/05/13(月) 03:46:12.80ID:FJrB7Dif
ウェブまわり自体がクソってのには賛同するけど、これまでの莫大な資産や個々の経験の後押しが需要を押し上げるんだから仕方ない
どれだけRust由来のGUIフレームワークを望んだとしても負ける未来しかないんだ
WPFもWinUI3もFlutterもComposeも頑張ってるけど勝てないんだ
0854デフォルトの名無しさん
垢版 |
2024/05/13(月) 08:41:01.54ID:1UkfuR6U
可能性があるとすると組み込み系かなぁ
車載GUIにUnityとか検討してるとこはあるみたいだけど、多少描画がバグってもいいゲームとは違うし
Rustの安定性が求められる領域ではあると思う
slintなんかはそちらを目指しているように見える
0855デフォルトの名無しさん
垢版 |
2024/05/13(月) 10:36:48.17ID:gtcOXaAe
フロントについてこういうカッチかちの言語でうまくと思ってるやつは実際にコード書いてないのがバレバレだよ
0857デフォルトの名無しさん ころころ
垢版 |
2024/05/13(月) 11:12:58.92ID:2BkgcWoG
>>848
QtのRustバインディングがもっと進歩すればなあ。
JS系はreact圧倒的に強いからQMLなんて絶対流行らんだろうに
0858デフォルトの名無しさん
垢版 |
2024/05/13(月) 11:14:38.81ID:BwU1QaNs
RustのGUIフレームワークを気になって色々見てたけどどれもよくあるレンダリングエンジンのWebGPU、Vulkan、OpenGL、SkiaをRustラップしてるだけじゃんね
純粋なRust製レンダリングエンジンはどこだよ
0862デフォルトの名無しさん
垢版 |
2024/05/13(月) 15:33:49.11ID:Y2zR27Yz
tauriはロジック部分をrustで書きやすいんでしょ?理想的じゃないか
フロントとバックで得意分野の棲み分けができてて賢いフレームワーク
0863デフォルトの名無しさん
垢版 |
2024/05/13(月) 16:08:29.50ID:DdLtk1MY
だから Tauri が悪いという論じゃないんだ。
他の選択肢がいっぱいあると嬉しいねって話なんだってば。
0864デフォルトの名無しさん
垢版 |
2024/05/13(月) 21:28:07.97ID:59wZgx8n
神学論争じゃなくてエンジニアリングとして
tauriではこんなアプリ作るべきじゃない
理由はこんな欠点があるからという
話してくれれば良いだけなんだが
0865デフォルトの名無しさん
垢版 |
2024/05/13(月) 22:14:06.95ID:ZPj3lkv2
GUIといっても多種多様に分かれて共存しておりRustでも色々なライブラリがある
slintのように軽量重視もあれば
eguiのように(一般的な保持モードとは異なり)即時モード採用もあったり
tauriのようにWebと同じ枠組みを使うことで同じ知識の活用とWebアプリとの共通化をはかるものもあり
他にも様々なものがある
前提環境抜きで特定のものを批判してる人はおかしい
0867デフォルトの名無しさん
垢版 |
2024/05/14(火) 08:57:53.35ID:xCwyd0xz
slintは素直でとっつきやすかったな
icedは変化が激しいのか入門もさせてもらえない…
■ このスレッドは過去ログ倉庫に格納されています

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