Rust part28

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2025/03/24(月) 17:37:00.15ID:NJwebgj2
公式
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 part27
https://mevius.5ch.net/test/read.cgi/tech/1733146370/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2025/04/08(火) 15:47:16.64ID:Spaoq+uw
なんでもいいというのが一番困る、という寓話があるが、その寓話には名前がない
2025/04/08(火) 15:59:24.30ID:v0gybFAh
題名も何でもいいからか
2025/04/08(火) 16:48:31.19ID:zjl9w56y
道?
2025/04/08(火) 17:08:27.56ID:lq55yQzg
トレイト執着
2025/04/08(火) 17:19:56.75ID:dbg0dckm
粘着やな
2025/04/08(火) 17:56:08.61ID:2okZDSQp
>>254-257
現象的にメンバの方のdropが先に呼ばれて
最後に自分のdropが呼ばれているようなのですが
これって仕様?
2025/04/08(火) 20:49:57.66ID:0DGOjuLN
>>353
Drop::drop()が呼ばれるのは親が先で子が後になるけど、
実際のptr::drop_in_place()が自動で呼ばれるのはもちろん子の処理を終えた後に親が後になる。
そのため安全に全自動で任せつつ、子の処理の前に親がやっておきたいdrop以外の前処理だけを親のDrop::drop()に書くことができる。
複数の子どもの処理の順序や自動の有無も含めて制御したい時はManuallyDropをつかう。
2025/04/08(火) 21:53:23.33ID:Spaoq+uw
The impl Trait syntax ... is actually syntax sugar for a longer form known as a trait bound

構文糖じゃない方のトレイト
実際のトレイト
356デフォルトの名無しさん
垢版 |
2025/04/09(水) 12:19:06.96ID:KZk4pTLo
トレイト制約などといってる輩は全く理解できていないと自白してるようなもの
2025/04/09(水) 15:01:13.51ID:SwtFlD5e
糖質境界
2025/04/09(水) 18:04:17.50ID:3/XtwXUj
もうちょっと正義感が強かったら
べつにカジノ経営者が自白しなくても、カジノは特殊詐欺とほぼ同じというのは確定事項として扱えるようになる
2025/04/09(水) 18:54:36.47ID:NcLuCgfe
三店制約
2025/04/09(水) 18:55:51.86ID:PAP9iIr7
パチ屋
2025/04/09(水) 19:16:50.12ID:8s5+aT/q
インターフェース統一協会
2025/04/09(水) 19:33:46.61ID:a0uoZNgJ
言語仕様らしきものに忠誠心を示すのはわかるけど
誤訳された用語にすら全面的に支持して従うってどういうことなの?
2025/04/09(水) 19:34:49.38ID:PAP9iIr7
開発してない人なんでしょう
評論家
2025/04/09(水) 19:44:27.38ID:eKbqXV9X
仮に誤訳だとしても理解を妨げるほど害悪あるほどじゃない
通じれば用は足りてる
他分野でもそんなのはいくらでもある
ひっくり返さないと気がすまないのは幼稚なだけ
2025/04/09(水) 19:59:28.62ID:a0uoZNgJ
拘るほうが幼稚

普及を目指すなら誰にでも理解しやすい用語を選ぶのが唯一の正義
2025/04/09(水) 20:09:07.64ID:PAP9iIr7
普及目指してないよ
分かるやつだけ使え
一般人はPHPでも使っとき
2025/04/09(水) 20:15:02.42ID:a0uoZNgJ
前はトレイト境界やライフタイム境界でググったらもしかしてトレイト協会とかもしかしてライフタイム協会って出てた
368デフォルトの名無しさん
垢版 |
2025/04/09(水) 20:29:27.44ID:KZk4pTLo
>>364
Trait境界は正確な訳と言って良いと思います
369デフォルトの名無しさん
垢版 |
2025/04/09(水) 20:33:30.34ID:KZk4pTLo
Trait制約は、引数を関数というような感じですね
全く意味が違います
2025/04/09(水) 20:35:28.68ID:PAP9iIr7
どうでもいいーー
2025/04/09(水) 20:41:17.16ID:KXz/CDBQ
Rustが嫌いだってblogがバズってるらしい
たぶん訳語がおかしいせいだろうな
しらんけど
2025/04/09(水) 20:43:27.68ID:PAP9iIr7
あれはCやったことないからRustの恩恵がわからないちゃんだろ
GC言語だけ使っておけ案件
2025/04/09(水) 21:32:51.79ID:a0uoZNgJ
GC言語でいい人はRust使うメリットはないからな
2025/04/09(水) 21:42:42.42ID:OL648qCg
>>371
見たけどあまりに初心者で慣れてなくて知らなかった話が話が大半だった
結局どの言語でも同じで慣れたら何ら問題ない話ばかりだった

コンパイルが多少遅いのは仕方ないが
初心者コピペで以下の状況だったのが笑えた

>>[profile.release]
>>lto = true
>>codegen-units = 1
>>opt-level = 3
>>panic = "abort"
>>strip = true

>この設定ですが意味を理解して書かれてます?
>LTOはリンク時最適化なので有効にすればビルドは遅くなります。
>codegen-units は最大何並列でコード生成するかなので1にすれば当然ビルドは遅くなります。
2025/04/09(水) 21:45:24.08ID:a0uoZNgJ
初心者相手に俺つえーしてる時点でカッコ悪いとしか…
みじめなのはどっちなんだろう
2025/04/09(水) 21:49:28.76ID:OL648qCg
>>373
GCの有無なんて慣れの問題
慣れれば設計やコーティングで躓くような部分ではない
無理なことはGC言語で書かれたものを再設計することなく移植しようとすることくらいだ
2025/04/09(水) 21:54:31.24ID:EdteNgmQ
人によるから分からんぞ。PHPのスレ行って聞いてきな
2025/04/09(水) 21:57:14.91ID:KXz/CDBQ
PHPerはあまりにユーザー層が違うので、同じ言葉で語り合うことはできない
2025/04/09(水) 22:02:44.82ID:a0uoZNgJ
大多数のGCあり言語だとほぼ意識しなくていいノイズみたいなところをC,C++やRustは意識しないといけない
2025/04/09(水) 22:03:09.70ID:ad8YJVBj
だろ。Rustに慣れる前に使い出せない人種が沢山いるということさ
普及は諦めよう
2025/04/09(水) 22:05:24.58ID:a0uoZNgJ
ちゃんとメリットをしめして脱落者を出さなければプログラマの一般教養的なところまで
押し上げることは出来ると思うけどねえ

今は動機付けが薄い
学習のハードルが高い
2025/04/09(水) 22:08:21.15ID:3/XtwXUj
自動車の作り方も普及させる気ないじゃん
現に、自力で自動車作れなくなった人達が反乱を起こしている
2025/04/09(水) 22:10:28.34ID:a0uoZNgJ
自分は最初伝統的なenumの比較すらできなくて困った覚えがある
わかればわかったになるけど他の人がすんなりとそのことについて知識を得て使えるのかどうかと言えば
使えないで脱落するんだろうなと
2025/04/09(水) 22:10:51.20ID:ad8YJVBj
作り方は分かるけど給料が高いから作っても売れないという問題だったような
2025/04/09(水) 22:12:01.49ID:ZMWXeYiA
>>379
その違いは慣れてしまえば大した問題ではない
慣れて対応できるようになるだけでGC言語のデメリットから解放される
特にRustなら扱いを間違えていればコンパイラが指摘してくれるので困ることもない
2025/04/09(水) 22:14:58.46ID:a0uoZNgJ
扉が開かない限り入ってこないで回れ右して帰っていくよ
そういう人が悪いのではない
違うなら違うと言う説明を気づかせないとダメかな

知ってる人は知ってるだけなのでそれが偉いと言う話ではない
2025/04/09(水) 22:15:05.70ID:ZMWXeYiA
>>380
Rustごときを使えないようならプログラマとしてはかなり能力が低い人か頭が硬くなってしまった人のどちらか
2025/04/09(水) 22:16:00.82ID:13Xj1tSa
名前忘れたけど、構文がRustでGC付きの言語が発表されてたよね
2025/04/09(水) 22:16:14.95ID:a0uoZNgJ
もう一度言うけど
知ってる人は知ってるだけなのでそれが偉いと言う話ではない
2025/04/09(水) 22:18:40.23ID:ZMWXeYiA
>>386
基本的なことを知ってるか知ってないかはどの言語でも慣れの問題だからどうでもいい話
一定の能力差さえあればRustは難しくない
もし難しいと感じた人は能力が低いか頭が硬くなってる
2025/04/09(水) 22:20:09.93ID:a0uoZNgJ
その硬くなっていない頭でtsもjsもpythonも日常的に使えているのかなあ???
2025/04/09(水) 22:25:09.60ID:ad8YJVBj
>>387
98%がそっち側だよ
こんな所で話せる人は先鋭的な2%
393デフォルトの名無しさん
垢版 |
2025/04/09(水) 22:27:48.21ID:czqUXFNF
GCって多少のパフォーマンスと引き換えにC/C++の面倒を大きく減らすものだからな
Javaが流行った理由もそれだし

Rustなら借用チェッカが安全性の問題をうまく解決するといっても、GCに慣れてる人からすれば、他の言語ではそもそも問題にならないようなものを課題として取り上げて解いてるだけに思えるかもしれない
C/C++の速度が必要な分野ならRustは強力だけど、それ以外の分野だと学習コストや面倒くささが上回ると思うのもまあわかる
2025/04/09(水) 22:31:27.91ID:ad8YJVBj
ワイの周りにもRustは勧められないんよな。趣味でやるベエ
395デフォルトの名無しさん
垢版 |
2025/04/09(水) 22:33:41.47ID:czqUXFNF
>>388
Gleam?
あれはRustの構文 + Erlangなので、「GCあり」よりも「並行処理に強い」の方をウリにする言語だと思う
2025/04/09(水) 22:51:34.96ID:ad8YJVBj
Beam VM上のか
2025/04/09(水) 22:57:26.37ID:vrO9vcWo
>>364
通じてないでしょ
境界って何?
何と何と境なの?
2025/04/09(水) 23:23:57.52ID:huhl+UxL
>>397
「境界」は辞書を引くとわかるけど
「何かと何かの境界」という二者間の意味二次的であって
「対象となる範囲の境界」が原義なんだよ

これは古語辞典だとよりはっきりして
境界は「自分の認識の及ぶ対象・範囲」が原義で
更に「自分の能力の及ぶ範囲」という意味が加わってくる

トレイト境界はもちろん二者間ではなく原義の方
2025/04/09(水) 23:26:38.18ID:p9TCxcQX
古語辞典?w
2025/04/09(水) 23:32:36.15ID:3/XtwXUj
意味が全然分からないレベルになるともう実質的に名前がないのと同じ
名前がないものは世の中にいくらでもある
2025/04/09(水) 23:32:43.95ID:huhl+UxL
これは一般生活で使われる境界も同じ例えば「土地の境界」といえば(自分もしくは対象の)土地の境界であり
特定の誰々さんの土地との境界ではない
「市の境界」も同じでその市の範囲を意味していてどこか特定の市町村との境界ではない
トレイト境界も同じでそのトレイトの効力やカバーする範囲や領域
2025/04/09(水) 23:35:09.82ID:p9TCxcQX
なんか自他境界なさそう
2025/04/09(水) 23:36:43.93ID:D9djoT/y
領域展開
2025/04/10(木) 01:14:23.84ID:BQ7YpPB/
>>398
>境界は「自分の認識の及ぶ対象・範囲」が原義で
>更に「自分の能力の及ぶ範囲」という意味が加わってくる
それは仏教用語でキョウガイと読む
現代日本語の境界(キョウカイ)にはそのような意味はない
境界(キョウカイ)の原義でもなく違う言葉

仏語を当ててトレイトキョウガイと読ませたかったのか?
2025/04/10(木) 01:18:20.37ID:BQ7YpPB/
boundsも古典英語なら現代日本語の境界(キョウカイ)の意味もあるが
現代英語には境界(キョウカイ)の意味は基本的にはない
日本語の境界はboundary

現代英語でboundsを境界と意訳してもいいのは
out of boundsやwithin boundsなど
前置詞を伴って範囲の内か外だけに焦点があたっている状況のみ
2025/04/10(木) 01:24:45.88ID:WYZDSkTO
飽きたからXで訳者に凸してきなよ
2025/04/10(木) 01:29:38.95ID:BQ7YpPB/
>>401
これもなんとも無理やりだなぁ

現代日本語における境界は境・境目・境界線のことで基本的に「線」の概念
境界という線により区切られた結果としてその内側の範囲や領域ができるが
境界という言葉が区切られた結果としてできる内側の範囲や領域を示すわけではない

境界(キョウカイ)という概念は境界を通して接している二つのものがなければ成り立たない
408デフォルトの名無しさん
垢版 |
2025/04/10(木) 09:28:59.90ID:sl4+KigV
>>381
そんなことしたらゴミが増えるだけ
409デフォルトの名無しさん
垢版 |
2025/04/10(木) 09:34:45.39ID:sl4+KigV
>>398
水平線地平線がしっくりくる
410デフォルトの名無しさん
垢版 |
2025/04/10(木) 09:37:18.05ID:V2R2z6S+
で、結局Windowsアプリ用としてのGUIフレームワークは どれがおすすめなん?
2025/04/10(木) 10:02:20.15ID:sl4+KigV
新参発見したわ
https://aquasoftware.net/blog/?p=2223
2025/04/10(木) 11:31:17.20ID:sl4+KigV
>>324
>Rust での解説はこれから市民権を得ていくでしょうか。もしそうなるとすると、自分が一番馴染みがある言語で学べることになりとてもワクワクします。

今後こんな糞スペックのが増えてくるんだろうな
2025/04/10(木) 11:43:14.72ID:Qbt6Bavv
>>410
Tauri以外にあるの?
2025/04/10(木) 11:46:18.80ID:5Ye07Eg9
>>410
いつの間にか、eguiで日本語インライン入力できるようになっている
2025/04/10(木) 12:11:08.05ID:Vy3uEQTj
>>410
個人的には slint が使いやすいとは思ってるが、 Windows の知識が充分にあるという前提なら windows-rs 経由で API を直接に呼ぶのが楽という人もいると思う。
2025/04/10(木) 16:33:28.17ID:SZxFOwGT
>>369
その通り
ちなみにRustには4つの関数があり
{fn} キャプチャのない関数 
Fn - {fn} キャプチャ時の値を参照してしまう関数
FnMut - Fn キャプチャ時の値を書き換えてしまう関数
FnOnce - FnMut キャプチャ時の値を消費してしまい1度しか呼べない関数
2025/04/10(木) 18:07:01.46ID:P/kW37Nh
自分と会話し始めちゃったよw
それも全く意味がない会話を
2025/04/10(木) 18:27:16.96ID:mUlJ1kr4
foo.bar()はfooを移動したのか参照したのか見た目で区別できない
移動かと思ったらじつはCopyだったりするし
foo()も同じ
2025/04/10(木) 19:11:04.12ID:6uiVDoq6
>>418
CopyされうるならCopyトレイト実装型なのでムーブされることはない
ムーブされたらその後に使われていないため誤読することもない
2025/04/10(木) 22:19:50.16ID:5Ye07Eg9
>>418
そういうのはIDEがやる仕事でしょ
421デフォルトの名無しさん
垢版 |
2025/04/10(木) 22:42:29.86ID:mBJ9AdtP
オープンソースの翻訳にいちゃもん付ける活動してるのは技術評論社だっけ?
本買え本って言ってたよな
2025/04/11(金) 11:22:05.80ID:7EX5STKN
>>397
型の世界において、
ここまて型の抽象性を広げて戻り値として返す。
少なくともここまで狭めた具体的な型を引数として要求する。
その境。
2025/04/11(金) 11:46:40.40ID:HX71i0gu
共感できることに共感するのは有能だがどんな妄想にも共感するやつは無能だ
2025/04/11(金) 12:20:13.15ID:yx7ZxPSb
いいかげん中身のない主張やめて、とっととthe rust book 最新版を翻訳して用語を統一しろ。

the rust book 翻訳を古いまま放置して、偉そうに翻訳を語るなよ。
2025/04/11(金) 12:57:51.71ID:mXJpW1vK
Rust bookみたいな聖書があるのに聖書の翻訳が気に入らないからと文句つける奴は頭おかしいわ
トレイト境界でもういいだろ。聖書にそう書いてあんだよ
426デフォルトの名無しさん
垢版 |
2025/04/11(金) 13:02:09.03ID:/8vt7NNX
今の時間crates.ioメンテでもしてんのか?
反応クッソ遅いんだが
2025/04/11(金) 16:09:31.37ID:Dvk3nAyu
日本語の本読んでる時点でダメだ。原書の話題だけ頼む
2025/04/11(金) 16:29:00.90ID:9opbn0me
>>427
原著が日本語ならこんな翻訳の問題起きなかったって言いたそうだけど違うぞ
どの言語だろうと聖書に書かれた内容に食ってかかる反体制派とか左翼っぽいのが生まれる社会土壌の問題だ

英語が母国語でもこういうタイプの輩は、boundsという用語を使ったことに対して反抗してconstraintsで統一しろとか騒ぐ
言語の問題なんかじゃ無い。心の問題であり態度の問題だ
2025/04/11(金) 16:32:35.54ID:Dvk3nAyu
いや、面倒だからフィルタになるでしょ
って程度だよ
このスレ自体を英語だけにしてもいいぞ
2025/04/11(金) 16:50:22.75ID:UKjoRWuA
>>422
>その境。
その境って何の境?
その説明じゃ全然分かんない
2025/04/11(金) 18:38:06.51ID:nsFUcEzJ
境界信者はやっぱり宗教詳しいんだね
学会や壺も他宗教について詳しいもんね
432デフォルトの名無しさん
垢版 |
2025/04/11(金) 18:43:51.54ID:Lf3Jev+n
rustの仕様見たけど肝心なlifetimeの情報が網羅されてなくて本当にこれが仕様として働くのか疑問に思った
2025/04/11(金) 19:27:00.96ID:HX71i0gu
なんでも動的にチェックする簡易な実装を考えたほうがわかりやすい
2025/04/11(金) 21:09:53.34ID:dq5UKFva
>>432
こないだ寄贈されたやつ?
叩き台にする程度でしょ。
まだ決定版というわけではない。
2025/04/11(金) 22:11:47.10ID:cSKsCytU
>>434
とはいえあれでISO 26262とかの認定は通ってるんだよね
ああいう審査って何を見られてるんだろ
436デフォルトの名無しさん
垢版 |
2025/04/12(土) 06:43:32.65ID:IMDrBc8a
USO-800
2025/04/12(土) 11:10:12.54ID:mEwUzKIx
Rust境界例
2025/04/12(土) 12:46:42.80ID:G/Z86Z6L
>>430
トレイト境界はあらゆる観点で間違った訳語なのでまともな回答を期待しても無駄だよ

難しい概念ではないのに「境界」を使った途端に簡潔な説明ができなくなるんだから訳語としての用を成してない
439デフォルトの名無しさん
垢版 |
2025/04/12(土) 13:53:53.64ID:Mda8ZghK
このスレの結論
trait boundの翻訳の議論を除けばRustには欠点がないと思っていいかな?
2025/04/12(土) 13:55:52.66ID:0buiik+f
GC言語経験者には、難しいというのは欠点かも
2025/04/12(土) 14:14:59.77ID:6rJMqtUM
文字列処理の経験者は案外GCを使わない経験をしているはず
だが文字列指向を捨てるよう訓練された人が一番苦労する
2025/04/12(土) 14:32:57.78ID:fDddIcJn
toastyっていつになったら使えるようになるの?
2025/04/12(土) 16:12:49.92ID:l+qhzSG7
>>442
toastyがどこまでやるのか途上でわからんけどさ
O/Rマッパーを名乗ってるから単純なものには使えても一般的にはORMの様々な欠点を抱えるっしょ
だからORMではないSQLxが人気だけど非同期ORMの需要もあるから既にSeaORMやDiesel-asyncがある状況で
新たにtoastyをtokio直下プロジェクトで進めようとしてるのはRDBよりむしろNoSQL対策がメインと見ていいのかね
2025/04/12(土) 16:14:41.99ID:kMx1QAlk
>>435
品質管理系の規格 (ISO9001) だと「発生したトラブル (不良品) に対して対策をする手続きが存在していてその手続き通りに実施しているか」を審査されるが、対策の効果や妥当性は審査対象ではない。
実際問題として作ってる製品の性質によるから審査しようがないし。
26262 がどういう性質のものなのかググったくらいでは全然わからんが 9001 と同じようにメタな部分を審査するんじゃないかな……。
ダングリング防止の機能があることなどは審査されてもどういうメカニズムで実現されるかは審査対象外なのかもしれん。
2025/04/12(土) 17:46:03.85ID:GwdhqqDc
>>438
まともな回答じゃなくても妥当性を判断する材料にはなる
2025/04/12(土) 20:51:24.81ID:6rJMqtUM
ニューメディアには二種類ある
知りたいことだけを問い合わせるメディアと
従来は網羅できなかったことを網羅するメディア
447デフォルトの名無しさん
垢版 |
2025/04/13(日) 10:15:42.59ID:9+E6vnhP
これよな

そう思えるのはお前も信者だからだろ

結局のところRust信者はポリコレ過ぎる
これも「政治的に」Linusにチクって解決しようとしたところ、ブチ切れられただけ
記事の話が全部本当だとして総合的に推定すると、
Rustから叩く為のラッパ的な物を用意しようとしたところ政治闘争となり、両者辞任の痛み分け、
カーネル自体のコードには今後ともRustは無し、という所ではないかと
これは「支持」ではなく「容認」だろうよ

ただまあ、何でそんな物が『カーネル側に』必要なのか技術的に疑問ではあるがな
RustからCのAPIを叩けないなんて事はあり得ないだろうし、仮にそうだとしても、API変換をRust側でやればよかっただけの話
俺はHellwigの方が正しいと思う。まあLinus案も落とし所としてはありなだろうけど
(というかLinusはこの辺が断然上手い)

Rust信者は、技術的理由ではなく、非Rust話者を排除する為にRustを使う
TypeScriptにも似たような奴はいると思うけど
448デフォルトの名無しさん
垢版 |
2025/04/13(日) 13:34:29.88ID:2lLYGSci
ボランティア翻訳に訳の分からんいちゃもん付けるのはたいてい技術評論社
奴らは本を売りたいだけだから無視して良いと思う
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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