Rust part29

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2025/05/03(土) 00:47:30.13ID:phVJ5tWC
公式
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 part28
https://mevius.5ch.net/test/read.cgi/tech/1742805420/

ワッチョイスレ
プログラミング言語 Rust 4【ワッチョイ】
https://mevius.5ch.net/test/read.cgi/tech/1514107621/
2025/05/20(火) 11:21:03.24ID:70z+Wgsn
>>466
そのレポを挙げてよ
別のところに100万行ある、見たいな思わせは良くないよ
2025/05/20(火) 11:34:05.86ID:70z+Wgsn
>>620
関係ないけど、「別の素材で車輪を作ってみた」は発明じゃね?
2025/05/20(火) 11:36:15.63ID:sS1iaU5A
>>622
Firefoxにそんなに興味があるくせにプロジェクト名すら知らないとは異常だな
見上げてごらん
2025/05/20(火) 12:25:37.28ID:LU0N+B9o
servoの努力を馬鹿にはしないけど
experimentalよりもアリバイ作りに見える位なので
servoの成果を当てにするのはどうかと思う
2025/05/20(火) 12:30:48.46ID:18JQhe8j
servoは、tauriで使うために開発再開したんじゃなかったっけ?
その後チェックしてないけど
2025/05/20(火) 12:35:54.41ID:uYNL9fZG
車輪の再発明/servoの話で想起されたけど時々、高校生がピタゴラスの定理の新証明を発見的なニュースがある
高校生だから良いけど素人オジだったら大分印象変わる
2025/05/20(火) 12:43:24.47ID:uYNL9fZG
>>620,623
>「別の素材で車輪を作ってみた」

特許は取れるだろう
2025/05/20(火) 12:46:23.55ID:ZQMuhpil
というかfirefoxのリポジトリを取ってきて*.rsの行数数えるだけで400万行超えるんだが…
2025/05/20(火) 13:28:39.47ID:bKts0GWq
>>629
言う奴いると思ってたら...

tokei -C -t=Rust -e third_party
Language Files Lines Code Comments Blanks
Rust 1193 416629 348374 23629 44626

コンパイラ入ってら
tokei -C -t=Rust third_party/rust
Language Files Lines Code Comments Blanks
Rust 10915 3845860 3397959 148316 299585
2025/05/20(火) 13:31:22.64ID:pdWnkKc/
>>623
発明だが車輪を発明したわけではない。
2025/05/20(火) 13:32:11.96ID:bKts0GWq
コンパイラ本体の実数は>>612
2025/05/20(火) 13:35:06.85ID:bKts0GWq
>>631
面白いね

起源:
紀元前3500年頃、メソポタミア文明(現在のイラク地域)のシュメール人によって車輪が発明されたとされています。
初期の車輪:
固い木材を丸く削り出しただけの単純な構造で、主に陶器の製作や物資の運搬に使用されていた。
発明者:
車輪の発明者として特定の人物が特定されているわけではなく、シュメール文明における技術革新の成果として捉えられています。
2025/05/20(火) 13:35:22.56ID:EJYGGfjm
>>630
third_party/rustの中身をちゃんと見ろ
依存ライブラリであってコンパイラは入ってない
2025/05/20(火) 13:38:36.14ID:bKts0GWq
なるへそ
でも趣旨は同じです
2025/05/20(火) 13:41:23.89ID:bKts0GWq
散らかったのでまとめ直すと
>>629
> というかfirefoxのリポジトリを取ってきて*.rsの行数数えるだけで400万行超えるんだが…
は間違いで、正味35万行
2025/05/20(火) 13:47:44.39ID:S2V0Z25J
third_partyのソースも保持してるなら言語の比率は参考にならんな
2025/05/20(火) 13:55:44.85ID:bKts0GWq
>>637
githubが賢くてgit-submoduleになってないけど除外しているっぽいから確かめてみて
2025/05/20(火) 15:11:23.99ID:2NHnPkaY
>>613
ライフタイムや借用チェッカーはそのモジュール同士の結合強度を強める傾向があるってことでしょ
大規模になるとスマポが増えるってのは事実で、後になって広範な修正が必要になるのを避けようとすれば厳密なチェックは狭い範囲内にとどめておいて、
大域的な依存関係はスマポで緩く扱えるようにしておく方向で妥協せざるを得ない
640デフォルトの名無しさん
垢版 |
2025/05/20(火) 15:43:54.81ID:ZYCQ9JVd
インサイダー v談合 マネロン 電波音波攻撃をしているなどの悪の組織の考え化のシミレーションが可能

GPT-4は説得しようとしている相手に関する基本的な個人情報を与えられた場合に説得する能力が人間よりも高くなる
2025年05月20日 13時00分
https://gigazine.net/news/20250520-ai-persuasiveness/

AIエージェントは放っておくと独自の社会を構築し始めるという研究結果
2025年05月20日 12時30分
https://gigazine.net/news/20250520-ai-society/
2025/05/20(火) 15:59:16.65ID:56Orgjfq
>>602-603
これが糖質タイプ(>>620からの>>631)
歴史上「車輪」の「発明」を何度も繰り返しているから「再」発明と言う
2025/05/20(火) 16:14:32.72ID:eMM0bEhF
>>613
「寄せ集め」があたかも独立であるかのように匂わせたいのか知らんけど違うぞ

>>639が示唆している通り、大きな相互依存の塊になっている場合が多い
643デフォルトの名無しさん
垢版 |
2025/05/20(火) 16:58:46.87ID:+meRlp4o
なんでわざわざID変えて書き込むの?
2025/05/20(火) 17:39:14.41ID:+YEDRxFy
>>639
>>大規模になるとスマポが増える

それは違うだろ
まずスマポは種類が多く各々の目的が全く異なる
どのスマポのことを指しているのか?
小規模でも各々の目的が必要であれば必要となる
大規模になるとスマポが増えるわけではない
具体的にスマポとはどれを指しているのか?
2025/05/20(火) 17:40:45.69ID:Qozmxy1E
>>639
>ライフタイムや借用チェッカーはそのモジュール同士の結合強度を強める傾向があるってことでしょ
参照を扱う面倒くささが付いて回るという面はあっても個々のボローチェックの範囲は関数内に閉じてるんだから結合強度は高まらないでしょ
2025/05/20(火) 17:43:53.52ID:ivC1w2EF
IDを変える時、IDもまたこちらを変えているのだ
2025/05/20(火) 17:55:25.94ID:XnKVhLuZ
C++ とかでも原則としては参照先が参照より先に寿命を終えたら駄目なことにはかわりない。
Rust のライフタイムや借用規則 (のチェッカー) が結合を強めたりはしない。
存在していたものを見える形で書くようになっただけ。 (まあそれが面倒というのなら面倒なのは確か。)
2025/05/20(火) 18:02:41.78ID:+YEDRxFy
>>645
スマポを使ってもそれ自体をムーブ(やクローン)でもしない限りは必ずDerefで単なる参照を渡して使うことになる
スマポを用いていても参照を使えばライフタイムは必ずついて回る
2025/05/20(火) 18:10:11.38ID:CPYj6x1T
>>644-648

>>595の言う通り、「呼び出し側」で参照を「予め」分割しなければならない
つまりはそういう事
2025/05/20(火) 18:14:41.60ID:+YEDRxFy
>>647
おっしゃる通りC言語ですら明示されないだけでライフタイムは必ず守らないとダングリングポインタが発生してしまう
Rustでもライフタイムによりプログラミングが難しくなることはなく
ライフタイムがモジュール間の結合強度を変えることもない
2025/05/20(火) 18:31:47.37ID:+YEDRxFy
>>649
それはスマポではない
単なる可変参照の粒度分割だ
ましてやプログラムが大規模かどうかと一切関係がない
2025/05/20(火) 18:32:55.28ID:ChvDIWk1
自分の触る範囲でデータ構造に触ることは無くなったとしても他でも同じなのかどうかは
ただのポインタじゃ判らない

ライフタイム自身はコンパイラにヒントを出すためのただの記号だし
2025/05/20(火) 18:34:04.55ID:+YEDRxFy
>>595
>>Async が絡むと Mutex という別の型が出てくるけど、

asyncとMutexは一切関係がない
asyncでもシングルスレッドならMutexは必要ない
asyncを使わなくてもマルチスレッドならMutexが必要だ
2025/05/20(火) 18:36:17.26ID:ChvDIWk1
きな臭くなる予感しかしない
2025/05/20(火) 18:49:05.28ID:WyE5b/aV
>>605,636
なるほどFirefoxをよく見たら35万行でdead endという事か

>>466
別レポは嘘で本体レポにがっつりコピーしてるのバレたね
2025/05/20(火) 18:51:58.25ID:ChvDIWk1
いつ終わるともわからないただの置き換え作業を嬉々としてやれる人間はいないだろう
2025/05/20(火) 18:59:32.26ID:9Ia9Yjg7
>>605
規模に関係なく本当に一人で年間10万行置き換え出来るなら35万行dead endしてないよねぇ
2025/05/20(火) 19:16:17.95ID:ChvDIWk1
うまみもなくただただ終わらない書き換えプロジェクト
みんな訳も分からず満足も出来ず毎日FFIテストFFIテストFFIテストで頑張るんだよ
健全なわけがない
2025/05/20(火) 19:31:52.80ID:BfDdyH2R
>>643
いつも思う、このくだり言う張本人が自演しまくりなんじゃね?
2025/05/20(火) 19:34:32.88ID:/F9Xuu6Y
>>657
新規開発なら規模に関係ないだろうけど、
別の言語から大規模なものを置き換えていくのはジャンルの異なる話であって、時間も手間もかかりまくるよ。
Firefoxの話に限れば、自己収入も人も限られてるところだろうから、すぐに置き換えようとしてるのかも怪しく、このスレで話しても何の役にも立たないかと。
2025/05/20(火) 19:43:41.81ID:T5XN98De
大企業以外はFFに限らずとも似たような境遇だろう
だからFFの事例研究に興味があつまる
ちなみにAndroidだと初年5万行で直に頭打ちになるかな
2025/05/20(火) 19:51:04.34ID:/F9Xuu6Y
そもそもFirefoxがRustへ移植したことは一度もないんじゃないかな。
たしか全く新たにRustで書いたものを組み込んだ話だよね。
2025/05/20(火) 20:01:15.37ID:ChvDIWk1
新規開発がフロンティアで置き換えは奴隷の仕事
2025/05/20(火) 20:17:54.04ID:/F9Xuu6Y
置き換えは、現況仕様がなければ現コードから実現すべき仕様を全て読み取った上で、全体を再設計をしなければいけないから奴隷には無理だけど、普通はやりたくないしやらないよね。
ましてや個々の事情が大きく異なるだろうから、ここで話をしても意味がないと思うよ。
2025/05/20(火) 20:24:45.09ID:L7R2uVcQ
ここで規模に関係ないと言い張ってるのは約一名だけだよ
巨大な全体仕様がある時天から降ってきて作業するだけだと思ってるんだろう

>>651
> ましてやプログラムが大規模かどうかと一切関係がない
API surfaceが爆発するなんて上流経験ないと分からないよなうん
2025/05/20(火) 20:27:39.61ID:hCQ3Fjsb
Mozillaがservo捨てた時は驚いたけど、
今やRust信者はFirefox自体を見限ってる、でおk
次に何自体を見限るのかは分かるよな?
2025/05/20(火) 20:44:30.87ID:i3UEWYAF
tauri
2025/05/20(火) 20:56:06.38ID:/F9Xuu6Y
>>666
たしか資金難でRustもRust Foundationへ移管となった経緯だよね。
今までありがとう!で、あとは追ってないと思うよ。
Servoも移管されて欧州の方で予算がついてFirefoxとは別に進めてる話じゃなかったかな。
2025/05/20(火) 20:59:25.46ID:ChvDIWk1
全てがRustに変わったからFF使うかと言えばそうでもない
2025/05/20(火) 22:05:08.35ID:+YEDRxFy
>>665
大規模かどうかとは関係ない例ばかり出ているから否定した
なぜ大規模かどうかと関係ある例を出せないのか?
例がないなら妄想だ
2025/05/20(火) 22:17:04.41ID:MuN0b/Nd
普通に考えて、圧倒的に豊富な開発リソースを使って進化し続けるChromium勢に対して、
遥かに乏しいリソースで既存エンジンの開発を続けて追従しながら、並行してServoを開発し追いつき追い越すなんてできるわけがなかった
なんでいけると思ったのか
2025/05/20(火) 22:31:16.24ID:+YEDRxFy
特にこのデタラメ
「ライフタイムや借用チェッカーはそのモジュール同士の結合強度を強める」

これはライフタイムを理解せずに何か特別な存在だと勝手に思い込んでいるためにそんな間違いを犯してしまう
C/C++でポインタや参照の使用があるとモジュール同士の結合強度を強める、なんて言わないだろ
Rustでも同じくそんなことは起きない
2025/05/20(火) 22:45:45.84ID:5IEvPsHE
Rustスレここだった
2025/05/20(火) 22:48:13.30ID:LGDM1d9e
>>649
モジュール間のやりとりならまとめて渡して受け取った側で分割したらいいだけだと思うよ

所有権とか関係なくactメソッドをUnit構造体に定義して不必要な双方向依存を作るのは良くない設計例だからあれに惑わされたらダメ
2025/05/20(火) 22:49:25.41ID:LGDM1d9e
>>648
意味のない絡みをしてくると思ったら複オジだったか
どうりで納得
2025/05/20(火) 23:37:04.40ID:MTQAycAu
>>674
なるほど
2025/05/20(火) 23:40:52.31ID:MTQAycAu
>>670
Firefoxの例を否定しているのは別IDでは?
2025/05/20(火) 23:54:26.88ID:+YEDRxFy
>>677
firefox?
ライフタイムが結合強度を強めるとか
大規模かどうかでスマポが増えるとか
アタオカな発言をしてる人がいることを問題にしている
679デフォルトの名無しさん
垢版 |
2025/05/21(水) 02:01:06.60ID:G3BsZ5By
統合失調症
1 電波音波っ攻撃を本当にされていいるのならこういった情報を提示する
2 上記の事を各SNSで大々的に統合失調症【頭の病】書き込みまくる
3 身近な人や信頼する人に機器のことについてもセットで会話するのにしてい無い
4 脳の病なのに統率が取れている

◇ 下記を電波音波を照射することにより身体を動かせるや誤認させれるのなら人間も攻撃可能ということになる

「原子レベルの脳型チップ」を開発:目のように見て脳のように考え記憶する
2025.05.20 TUE
https://nazology.kusuguru.co.jp/archives/177891
※人間の視覚【幻視を見せれる】と同じものを再現できている
”引っ張ると「縮む」構造”が開発される
2025.05.20 TUE
https://nazology.kusuguru.co.jp/archives/177806
※人間の各筋肉と肺の伸張反射はこの機能【受容体がある】で行われている
分子でコンピュータにログインする技術を開発
2025.05.20 TUE
https://nazology.kusuguru.co.jp/archives/177846
※ある意味電波音波照射時にどのようなホルモン役割化を観察可能
2025/05/21(水) 06:05:02.61ID:aNHxjfUG
MicrosoftがRustでエディター作った
https://forest.watch.impress.co.jp/docs/news/2015418.html

Cargo.toml見たら、依存crate少ない!
あと、メッセージ国際化のコードがなんか原始的だった
src/bin/edit/localization.rs
2025/05/21(水) 08:57:23.64ID:RMq3dtvy
Edit、C++っぽいけど素直で綺麗なコードだな
良い意味でMSらしい
コンパイラを騙眩かすためだけに変な技巧を使うより、割り切って適宜unsafe使ってるのも好感
2025/05/21(水) 09:51:09.78ID:vugZMWyp
>>678
>>584のようなコードを書いてるご本人が「モジュール間の結合度を強めることなどない」なんて言うほうがよっぽどアタオカ
683デフォルトの名無しさん
垢版 |
2025/05/21(水) 11:03:07.60ID:va6/rMba
>>627
案の定劣化版でした
684デフォルトの名無しさん
垢版 |
2025/05/21(水) 11:49:26.51ID:iqiMcBWm
Edit気になる
使ってみたいしソースを見てみたい
2025/05/21(水) 12:06:52.21ID:AfXYif/o
どぞ
https://github.com/microsoft/edit
2025/05/21(水) 13:32:31.87ID:RoOZQUy0
MSDOSに欲しかったな
2025/05/21(水) 15:49:03.43ID:aNHxjfUG
EditのCargo.toml見ると、バイナリサイズ低減へのこだわりが分かる
野良crateに依存しないのも、バイナリサイズのためか

あと、10年単位でサポートすることを考えると依存を増やさない方針って他のプロジェクトでも聞くね
688デフォルトの名無しさん
垢版 |
2025/05/21(水) 19:16:40.58ID:E9YSjWAE
るGoogle製オープンソースAIモデル「Gemma 3n」登場、今すぐスマホで使う方法はコレ
2025年05月21日 15時29分
https://gigazine.net/news/20250521-google-gemma-3n/
>>Gemma 3nは「GPT-4.1 nano」や「Llama-4-Maverick-17B-128E-Instruct」を超えるスコアを記録しました。
※カメラでの画像認識機能もあるもかいとうしてうれます
※PCでも使用できるように改造しているのかは不明
神/幽霊/宇宙人/超能力【ボイス・トォ・スカル】は半分人間半分AIと話していた
被害者から見て犯人不明の仕掛人は何を考えているのでしょうか
2025/05/21(水) 21:25:00.01ID:ZB7ilCjS
昨日の単発には手厚くお相手
今日はさっぱり
何故か?
2025/05/21(水) 21:57:20.02ID:JoGyeMmd
普通に自演だから
2025/05/21(水) 22:35:57.36ID:a0JzVgVU
複おじの自演には癖があるよ
Goスレでもここと同じ方法で自演してるので両方見るとわかりやすい
2025/05/21(水) 23:07:06.83ID:ImINJaIh
#複おじメソッド
2025/05/21(水) 23:18:57.71ID:SbFR2nLi
尚、ここまでが全て自演
2025/05/21(水) 23:46:49.59ID:wTlrgs5e
edit見てみたけど素人の作品とあまり変わらない機能量だな
完全なたたき台じゃん

shift-jisのファイルを開いてもutf8だし
エンコーディングもソートされていないので見つからない
ソース見るとutcのdll呼んでるだけ

UIをこれから充実させるのかどうかで評価が分かれると思う
2025/05/21(水) 23:53:37.70ID:wTlrgs5e
ベースの部分は2週間ぐらいで全体はテストなしで1~2人ぐらいで一か月で出来るようなレベルだけどコード品位はまあまあ高い
2025/05/21(水) 23:54:12.55ID:NptOo4y6
PowerShell上で使うエディタに機能求めり人いるかね
2025/05/21(水) 23:54:45.68ID:zqxEWopG
もうMS棒は使えない
2025/05/21(水) 23:59:07.95ID:/S621wcA
>>682
俺はそんなコード書かねーよ
大域的にデータを操作するのは並列処理の可能性も無くしてしまう
いずれ複雑化していきぐちゃぐちゃになりかねない
ECSなライブラリの話に持っていったほうがまし
2025/05/22(木) 00:01:07.13ID:2zWd1FpQ
>>696
エンコード選択で上から下まで全部見て選ぶなんてありえないだろ
今時点でソートすら実装されていないでdllから帰ってきたのをただ並べているだけだ
2025/05/22(木) 00:14:25.49ID:2zWd1FpQ
今のレベルだと一般的な8000行クラスのOSSと機能は変わらないと思う
2025/05/22(木) 00:15:12.12ID:2zWd1FpQ
外部クレートを使用して8000行ね
2025/05/22(木) 01:08:52.54ID:UzOhFoau
MSダメじゃん。新卒のOJTの仕事に違いない
2025/05/22(木) 02:12:03.85ID:Nvcrhh+4
主にMSのシニアエンジニアが一人で作っているようだ
少なくともこのスレにいる誰よりもよほど優秀だろうな
2025/05/22(木) 02:20:51.02ID:UzOhFoau
ほー、じゃあよんでみるか
2025/05/22(木) 07:58:26.64ID:bU6I8/FS
edit作者のコメント
https://news.ycombinator.com/item?id=44034961
・4か月かかった
・最初はCやZigでプロトタイプを書いた
・Zigの方が気に入ってたが、会社の方針に合わず、Rustに移植
・Rustはカスタムアロケータのサポートが弱い
・stable RustはLinkedListにカーソルがないのでクソ
・Rcからアリーナアロケータに切り替えたら、UIフレームワークのパフォーマンスが2倍以上になった
2025/05/22(木) 08:12:17.56ID:00rOw+nM
結論
Rustはクソ
2025/05/22(木) 08:31:46.60ID:UzOhFoau
批判されたら直すなりオプション増やせるからいいじゃん
2025/05/22(木) 09:55:39.07ID:cejl8MgF
>>686
edlinがあるじゃまいか
2025/05/22(木) 09:59:10.60ID:cejl8MgF
>>705
結論
Rustは清書用
2025/05/22(木) 10:22:37.96ID:mkz1NQzA
>>709
Rustを書けないダメな人だけが最初に別の言語で書く
「Rustは清書用」と言う人はダメな人
2025/05/22(木) 10:23:17.80ID:VW7xBANw
>>706
なるほど
行入れ替えでpanicる低品質
2025/05/22(木) 10:24:14.40ID:uqmyB1Ls
>>705
あかん、英語苦手だから原文読めなかったわ
アルファベット苦手なのよなあ
2025/05/22(木) 10:30:54.00ID:6WBJVQRQ
>>710
まずは米MSに転職して3000万ドルの給料貰ってこい
話はそれからだ
2025/05/22(木) 10:40:51.51ID:5WFIacKU
>>681,711
なるほど
低品質コードのunsafeを信じるのが#unsafe安全閉じ込め
#複おじメソッド
2025/05/22(木) 10:54:26.84ID:mc7zxySh
>>711
作者のコメントツリーを全て読んだけどそんなこと書かれてなかったよ
2025/05/22(木) 11:02:58.85ID:0+G2JRJz
別の言語で書いてからライフタイム注釈を後付けしながら清書なんてしてたら辻褄合わせにばかり手をとられてまともに整理なんて出来ない。
清書用という考え方が出てくる理由が全然わからん。
書いていくはしから検証して親切にメッセージを出してくれる仕組みがあるんだから最初から活用すべきだろ。
2025/05/22(木) 11:05:48.36ID:KP+m41xg
清書はLLMがやりそう
2025/05/22(木) 11:07:34.82ID:abqiTwrW
>>715
驚きの洗浄力

#複おじメソッド
2025/05/22(木) 11:53:24.27ID:UAqiPUwL
>>705
作者がその件で書いている話の正確なところは、
stable版ではLinkedListのcursorと、
カスタムアロケータのallocator_apiがまだ使えないため、
それがnightly版を使った理由。
あとはifとwhileでのletチェーンも使いたいから、と追記してるね。
2025/05/22(木) 12:12:32.32ID:7hcqrM5x
このレベルはwarning出そうだが、リリースするまで見落とすのか
https://github.com/microsoft/edit/pull/137/files
2025/05/22(木) 12:27:27.75ID:91TPuQzO
warningは出ない
panicは安全
データ喪失も安全

#メソッド
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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