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/06/09(月) 08:02:58.92ID:bdAhEey/
なまじ強力な分、C++のテンプレートパズルプログラミング並にデバッグしにくいから
意識が高いとかではなく本当にマクロを使うべきか吟味して使えとは思う
ただでさえRustのデバッグ体験は昭和レベルなのに
706デフォルトの名無しさん
垢版 |
2025/06/09(月) 08:05:51.20ID:m1yKB8bn
マクロによる関数呼び出しのオーバーヘッドが気になるならそれはインライン展開でも解決できる
標準ライブラリ等で使われているからってマクロの使用を推奨されているわけではない
707デフォルトの名無しさん
垢版 |
2025/06/09(月) 08:07:09.99ID:m1yKB8bn
訂正

関数呼び出しのオーバーヘッドが気になるならそれはインライン展開でも解決できる
標準ライブラリ等で使われているからってマクロの使用を推奨されているわけではない
2025/06/09(月) 11:02:43.94ID:dPqUAdDo
インライン展開目的でマクロ使うことはほとんどないだろ
2025/06/09(月) 15:47:57.32ID:HbKFNITK
hygienic macroを「健全なマクロ」と訳すのは超不健全
2025/06/09(月) 17:44:03.10ID:T14jbayf
接触予防マクロ
2025/06/09(月) 21:31:50.96ID:/CbNBsKE
https://ja.wikipedia.org/wiki/健全なマクロ
2025/06/09(月) 21:46:55.24ID:aoh/5V/q
Scheme 関連の文書では衛生的と言ってることもそれなりにある。
マクロ使用時の文脈に左右されない (影響が入り込まない) というニュアンスを考えるとこっちの訳のほうが好きだな。
2025/06/09(月) 21:58:09.18ID:/CbNBsKE
どういうものか意味がわかってる人には直訳の「衛生的なマクロ」がわかりやすいね
2025/06/09(月) 22:14:55.96ID:aoh/5V/q
C/C++ のマクロが駄目なのは衛生的じゃないからという問題以前に
スコープのルールなどを貫通してトークン単位でしか解釈しないからで、
それに対して構文解析してからそれを書き換えていくタイプのマクロは本物のマクロ (true macro) と呼んだりすることがある。
2025/06/10(火) 01:25:09.30ID:baavX47h
「衛生的なマクロ」ではなく「衛生的マクロ」
複合名詞化した専門用語なので連体形の「な」を付けるのは不健全
「健全なマクロ」も「健全マクロ」とすれば不健全度が和らぐ
2025/06/10(火) 01:28:48.25ID:zWRGTibt
Rustはマクロも安全で強力でいいね
2025/06/10(火) 01:42:17.26ID:OrUO8mmc
プリプロセッサは駄目だと言われることがある
マクロをすべて展開した後に残るものが機械語や中間言語のたぐいだったら
それは前処理などではなくコンパイラの本質なのだが、そんな言語はほとんどない
2025/06/10(火) 02:16:00.28ID:HpZ87BJ9
結局利便性と言語本来の堅牢性のトレードオフであり、前者をより重視している言語を不健全だとかいうのは不遜
マクロ自体が存在しない言語から見ればRustのマクロも不健全なのだから
2025/06/10(火) 02:21:17.44ID:I0746o4+
>>718
hygienic macroの意味すら理解できないマヌケは出直して来い
2025/06/10(火) 07:40:34.26ID:NHBgn55o
このスレ、訳語の話題が好きね
2025/06/10(火) 08:56:00.68ID:JftAYQGG
マクロが無ければコンパイルはもうずいぶん速くなってただろう
再コンパイルで全体を書き換えとかしなくても良かった
マクロは害でしかない
2025/06/10(火) 11:28:46.69ID:Xnr//oCx
>>720
英語の原文の意図の話題と捉えていただきたい
訳語そのものに意味があるのではないし
2025/06/10(火) 11:59:27.98ID:OrUO8mmc
printlnは害でしかないという結論になればそれはそれでいい
一番困るのは、printlnは友達だけどマクロは排除するべきみたいなやつ
2025/06/10(火) 12:27:09.64ID:sYrAmguw
自分でマクロを封印しておいてRustは記述量が多いとか文句言う人も見かける
「マクロ=悪」の先入観で最初から視野に入れてないなら仕方ないけど
2025/06/10(火) 12:50:16.80ID:Ry2q2P+U
そういや、printlnがマクロなのは、どういう設計上の判断なのかな?
2025/06/10(火) 12:53:12.95ID:elVv+WXw
>>725
Rustが可変長引数書けないクソ言語だからだろ
2025/06/10(火) 13:11:32.16ID:5Ydz39vk
Rustの次の言語に期待してる
728デフォルトの名無しさん
垢版 |
2025/06/10(火) 14:11:45.11ID:TSrtovVZ
>>726
その辺からガチガチなんだな
2025/06/10(火) 16:00:17.82ID:HozJcGjt
>>726
どの静的型付け言語の可変長引数も末尾に同じ型で暗黙に個数を渡す
Rustはスライスで対応してる
2025/06/10(火) 16:03:19.17ID:HozJcGjt
一方でprintf系はどの安全な言語も静的に個数と型チェックするため言語組み込みになっていてRustも同じ
2025/06/10(火) 16:13:36.43ID:HozJcGjt
言語組み込みでもRustなら関数風手続きマクロと同じ形にできるのでprintなどformat系はマクロ記法
2025/06/10(火) 16:47:51.11ID:S2dix7lV
うわでた
2025/06/10(火) 16:50:41.55ID:7qJHI/Wj
RustはC++のiosteamを取り入れるべきだったね
2025/06/10(火) 17:32:44.90ID:6a9r0WpG
Rustのフォーマット文字列で変数取り込めるのは不衛生なマクロの例だよ
そもそも構文解析とは無関係に単なる文字列を独自に解釈しているから真のマクロですらない
2025/06/10(火) 17:42:17.17ID:g81VuXMB
>>734
Rustにはprocedural macroもあるさ
2025/06/10(火) 17:57:16.18ID:IO/uE4l6
>>730
constexprと同等のコンパイル時評価ができれば言語組み込みじゃなくkても静的に個数と型のチェックは可能だよ
亀のような歩みだけどRustも一応その方向に進んでいる
2025/06/10(火) 21:25:49.21ID:210+b0Ig
>>734
Rustのマクロは2種類あることを理解できてない?
古典的なマクロは衛生的だよ
2025/06/10(火) 21:31:17.08ID:5sczGeWD
>>737
そりゃ生ポを封印してスマポを使えばC++でも安全なコードが書けると言っているようなものだ
2025/06/10(火) 21:53:13.37ID:210+b0Ig
>>738
衛生的は古典的マクロ上の概念だよ
構文木を自在に操れる手続きマクロは枠外だけど安全だよ
2025/06/10(火) 22:17:06.05ID:tc1jgizD
今度はマクロの名称で論争すかw
Rustのプログラムが書かれないスレだねえw
2025/06/10(火) 23:09:55.09ID:ZGMSD8h1
実際の所Rust使うようなのは、何かしらの他言語を相応のレベルで習得してるから
いちいち人に質問するようなことにならない
2025/06/10(火) 23:33:39.35ID:qWI8P8cy
>>704
>>707
Rustで最も使われるのは属性マクロとderiveマクロ
インライン展開のために使う人はいない
743デフォルトの名無しさん
垢版 |
2025/06/11(水) 12:22:55.52ID:jlvxxwmL
>>677
面白そうだけど雑誌1冊に1500円か~…
普通の本買えちゃう
2025/06/11(水) 13:51:34.67ID:AWy+SoY4
技術雑誌の値段はそんなもんだろ。
だいぶん前に休刊してしまったがオープンソースマガジンが同じくらいの値段だったはず。
2025/06/11(水) 14:44:49.21ID:xDumJtEi
ここでしつこくRust推してるヤツといい国策か何かなの?
2025/06/11(水) 14:47:38.98ID:eooYWpbp
脱C言語へ
米国国防総省のDARPA、CからRustへのコード変換を自動化する「TRACTOR」プログラムを開始
https://atmarkit.itmedia.co.jp/ait/spv/2408/14/news045.html
2025/06/11(水) 14:51:01.80ID:dp0MDJTs
>>745
Rust スレで何を言ってるんだ
2025/06/11(水) 14:51:40.86ID:oPVwdzBR
はちみつ餃子氏もうここには名無しとしてしか書き込まないことにしたのかと思ってたけど
切り替え面倒だしやめたんけ
2025/06/11(水) 14:57:25.35ID:AWy+SoY4
>>748
少なくとも私が使っている専用ブラウザではコテハンの記憶はスレ単位なんだけどそうじゃないのもあるの?
スレに最初に書くときにコテハンを入れるのを忘れてそのままだったりするだけで特に意図はないよ。
750デフォルトの名無しさん
垢版 |
2025/06/11(水) 15:03:15.57ID:jtrpcw1X
超音波と電波は頭蓋骨貫通する
傷害事件や殺人事件の被害が出ているのですが調査可能ですか

「最近もの忘れ多いかも」”超音波”が効く未来の脳ケアガジェットに期待
2025.06.11 12:00
https://ascii.jp/elem/000/004/268/4268478/
>>サウンドウェーブイノベーション株式会社が開発中の「LIPUS-Brain」という医療機器だ。頭に当てるだけで脳を優しく刺激してくれるらしい。仕組みは「低出力パルス波超音波(LIPUS)」という特殊な音を使って、脳内の血流や神経の働きをサポートするというもの。
>> 「脳に超音波って大丈夫?」と思うかもしれないが、これは低出力&非侵襲。要は、“切らない・飲まない・痛くない”系の治療機器だ。軽症アルツハイマー病への有効性が示唆されており、2022年には厚生労働省から「先駆的医療機器」のお墨付きももらっており、現在も治験が進んでいる。
テラヘルツ波で内耳蝸牛を観察、難聴など耳の病気の診断に期待
2025年06月11日 12時00分更新
https://ascii.jp/elem/000/004/278/4278126/
>> 難聴の多くは、耳の奥にある音をつかさどる器官である内耳蝸牛(かぎゅう)の障害が原因とされています。内耳蝸牛は頭蓋骨深部にあるため、光計測では骨を透過できず、X線撮影では被ばくのリスクがあり、内部の観察が困難です。
>>可視光と電波の中間帯に位置するテラへルツ波は、内部を被ばくさせずに観察できることから、安心安全な技術として注目されています。しかし、波長は約300マイクロ(マイクロは100万分の1)メートルであり、それより小さなマイクロメートルレベルの対象物は観測できませんでした。
>>マウスを用いた実験により、テラへルツ波を利用して内耳蝸牛を観察しました。研究チームは、非線形光学結晶にフェムト(フェムトは1000兆分の1)秒オーダーの短い時間だけ強いレーザー光を照射すると、テラヘルツ波が局所的に発生して点光源として扱えることに着目。点光源から発生したテラヘルツ波が、蝸牛内部で反射して戻ってくるまでの時間を測定して距離や形状を調べる独自の手法と、機械学習を利用した画像解析法を開発しました。
>>これらを適用することで、内耳蝸牛内部の3次元構造をマイクロメートルレベルで初めて可視化し、断面観察にも成功しました。
2025/06/11(水) 15:40:39.69ID:/2SHSe4S
>>745
国が Rust を勧めるようになったら逆に大したもんだろ
2025/06/11(水) 15:54:24.35ID:oPVwdzBR
>>749
専ブラでコテ使うときの事情なんか知らんけど…
最近Rustスレにはその名前の書き込みがなかった割に、2回も書き込みあったのは別に間違えたわけでもなさそうだなって思っただけだよ
まあそういうことにしておきますか
2025/06/11(水) 16:59:46.75ID:iVc18kJp
さっき調べて来ましたって内容を最初から知ってたかのように書く時の様々な特徴が某氏と全く同じだからバレバレなんだけどね
2025/06/11(水) 17:04:07.73ID:oPVwdzBR
さっき調べて来ましたってノリであれだけC++の話できるならそれはもう十分詳しいんよ
2025/06/11(水) 17:40:22.10ID:AWy+SoY4
>>753
細部まで丸暗記してるわけないだろ。
根拠になる資料 (主に規格) を確認するのが当然だと私は思ってるんだが、お前は根拠のないまま書き込んでるんか?
2025/06/11(水) 18:23:50.25ID:73ZawREd
国策で思い出したけど
お金を使ったら10%取られて物々交換なら取られない国策あるでしょ
あれなに?
2025/06/11(水) 19:02:16.12ID:AWy+SoY4
>>756
取り締まりが不可能な規則を課しても意味がない。
2025/06/11(水) 19:10:09.89ID:eooYWpbp
米政府「ソフトウェアはメモリ安全でなければならない」との声明を発表
「C」「C++」よりも「Rust」などの言語を推奨
https://atmarkit.itmedia.co.jp/ait/articles/2403/18/news045.html
2025/06/11(水) 23:59:38.88ID:s7PeEM5a
国策か
2025/06/12(木) 00:27:35.47ID:29LmlBWU
linuxもmac osもwindowsも否定されたわけだ
2025/06/12(木) 00:45:26.17ID:jdBLXeCX
AppleもRustで書いてるのか
https://jobs.apple.com/en-us/details/200598995/
Our codebase is written entirely in modern Rust
2025/06/12(木) 02:14:01.75ID:LEhbsez2
既存の置き換えは時間かかるけど
新たなものはC/C++使わずRustが各社の方針
2025/06/12(木) 17:21:34.63ID:/PCxqnPy
>>761
それは、1つのプロジェクトへのプログラマー募集であってApple製品の全てではない。
>We are building a new distributed multi-tiered data orchestration service
>to support critical Artificial Intelligence/Machine Learning systems and
>services with direct business and customer value.
2025/06/12(木) 18:02:28.45ID:LEhbsez2
新たな開発にはRustを使うという業界全体での普遍的な出来事
2025/06/12(木) 18:03:51.97ID:ejG6QGtN
え?
2025/06/12(木) 20:24:11.71ID:mTbE53BM
最近はみんなRust使ってるよな
2025/06/12(木) 22:52:10.28ID:yFGQuT0s
環境に合わせてセキュリティ製品を無効化するRustベースのEmbargoランサムウェアを発見
https://eset-info.canon-its.jp/malware_info/special/detail/250114.html

BlackCatとHiveに続き、EmbargoグループもRustでランサムウェアペイロードを開発しています。
プロセスのスキャンと強制終了は、RayonというRustのデータ並列化ライブラリを利用して、複数のスレッドに分割されます。
2025/06/12(木) 23:47:21.12ID:2Z6xLH7x
どこもかしこもRust製だな
2025/06/13(金) 00:50:30.07ID:Euk8Z2qV
犯罪者もRustかい
2025/06/13(金) 07:58:36.41ID:EW1dlQVG
rustスレだけ勢いあるな
2025/06/13(金) 09:22:19.66ID:7SY2psdg
もうRust以外の言語に存在価値がないからな
2025/06/13(金) 10:38:02.99ID:JXhmj2e3
Cのマクロってdefineのこと?
773デフォルトの名無しさん
垢版 |
2025/06/13(金) 10:41:53.68ID:f5khIryW
一人でレスパしてる香具師
めっちゃ当てはまっててワロス
watch?v=nsCKf0aQmDk
774デフォルトの名無しさん
垢版 |
2025/06/13(金) 12:11:18.07ID:GtM+sqp8
これからの時代、プログラミングスキルを磨いて、意味あるのかな?
お仕事は、生成AIにもっていかれるのに
2025/06/13(金) 13:37:48.88ID:+bvgw8RY
>>774
化石になるほど使い物にならなくなる訳じゃないだろう
例えば停電した途端に仕事できなくなって納期守れないようなAIより俺らの方がまだ早いじゃん
想定が局所的か、、、
2025/06/13(金) 14:44:41.80ID:ccsGYBbu
AIによる内製化が進むに従ってITエンジニアもユーザー企業に直接所属するケースが増えるだろうから、そっちに行ければ定年まで安泰だろう
Rustに自己肯定感を求めてるようなタイプの人達に社内の御用聞きが務まるか、そもそもやりたいかは疑問だが
2025/06/13(金) 15:28:24.55ID:EADdKRYM
AIの時代は当然Rust一択
2025/06/13(金) 17:47:14.23ID:+Tak731A
全部をAIに任せられるほど甘くないだろ
AIに細かく指示出すより自分でコード書いて見せた方が早い領域は残る
2025/06/13(金) 18:16:39.57ID:3/atOznW
特定の言語でプログラムが書けるみたいな狭義かつ低次のプログラミングスキルは特定メーカーのワープロでタイピングができるとか特定メーカーの表計算ソフトが使えるとかそういうのと同じコモディティ化したスキルになっていく

大事なのは特定の言語に依存しないメタなプログラミングスキルのほう
2025/06/13(金) 18:27:02.35ID:e8dD01Bq
それはそうだけど個別言語スレで言うことじゃないすぎる
2025/06/13(金) 18:27:31.78ID:ccsGYBbu
>>778
コーディング能力は既に人間の方が下だから、下等な我々が細かく指示出すより、
ブラックボックスの仕様から好きに実装していただいて説明してもらった方がよい
2025/06/13(金) 19:32:43.29ID:hKGxiaka
コモディティ化してもしなくても偶然にすぎない
偶然の産物は観察や考察するよりも編集してカットしたほうがいい
しかし編集すればするほど雑音が増えると思ってる人達にはそれができない
2025/06/13(金) 19:45:58.10ID:k1F86t2G
>>779
その通り
特にRustも使えないと今後はプログラマ失格
2025/06/13(金) 22:56:19.01ID:TC0KAGOC
jemallocはマジで終了だってさ
https://jasone.github.io/2025/06/12/jemalloc-postmortem/
2025/06/13(金) 23:27:33.59ID:UVwTiSSY
>>784
終わってない、とかほざいてた人はどうなん?
2025/06/13(金) 23:44:49.92ID:/3nWCuFC
>>784
2017年にFacebookを去った時点で手を引いて現Meta管轄なんだな
2025/06/14(土) 00:01:13.21ID:YcnPIob9
>>786
その記事の内容を読んでそういう感想なら死んでるのと変わらない
2025/06/14(土) 13:57:15.87ID:k1IJmlZ/
形式的には Meta が管理下に置いていたプロジェクトであるというのは間違いではないでしょ。
その上で Meta は全然やる気がなくなってるというだけで。 (少なくとも Jason の視点ではそう見えている。)
2025/06/14(土) 14:50:51.36ID:dtGV1Vl4
凄腕のエンジニア達が長い時間をかけて育ててきたjemallocといえども、
アリーナアロケーションのようなアプリケーション依存の原始的な手法には敵わないってのは虚しい話だな
特にRust信者はともすると小手先の技巧にかまけて視野が狭くなりがちだから気をつけなければならない
2025/06/14(土) 15:08:08.30ID:YcnPIob9
jemallocがMETAの管理下に入ってMETA寄りの機能を実装する開発方針に切り替わった
そして一般よりの機能を削減して一般からそっぽを向かれた
作者自身も一般からの需要にが付いていなかった

結局jemallocはMETA向けに局所最適化されてそこから一般向けに戻すにはかなりの人員と労力が必要だけど
それに見合うだけのメンテナーも資金もどこからも出てこない
実質死んでますよと

こういう内容
2025/06/14(土) 15:13:02.44ID:YcnPIob9
資金力があるところに吸収されて開発されてもそれが必ずしも良いことではないと言うことだ
吸収する側には目的があって吸収して機能を実装し終わったらそれでもう満足なんだ
2025/06/14(土) 15:48:51.99ID:RARc7ln1
万能なメモリアロケータは実現不可能
どういう用途に効率を特化するかで無数に分かれる
2025/06/14(土) 15:53:14.56ID:RARc7ln1
>>789
最適なタイミングでまとめて確保と解放するアリーナ方式が最も性能出るのは自明
794デフォルトの名無しさん
垢版 |
2025/06/14(土) 19:21:21.54ID:TLqczxub
mRNAワクチンの“新たな懸念”接種済み妊婦の子どもに「異常タンパク質構造」血中で確認★2 [Gecko★]
2025/06/14(土) 15:48:24.59
https://asahi.5ch.net/test/read.cgi/newsplus/1749883704/


・ワクチン問題になっている
2025/06/14(土) 20:11:15.75ID:dS5ekNAa
jemallocがRustから外されて各OSの標準アロケーターに戻った理由も重要だよね
2025/06/14(土) 22:46:25.65ID:3wtf6RT3
性能は用途により一長一短
特定のアロケータが標準だとバイナリサイズで不利なため
2025/06/15(日) 00:30:17.16ID:bKWQLrbi
#[global_allocator]標準化が1.28でjemalloc非標準化が1.32だな
外した理由はブログで書いてる
https://blog.rust-lang.org/2018/08/02/Rust-1.28/#global-allocators
https://blog.rust-lang.org/2019/01/17/Rust-1.32.0/#jemalloc-is-removed-by-default
2025/06/15(日) 00:56:18.63ID:sxaow1g9
システム開発言語であるのにシステムのメモリアロケーターを使っていない
2025/06/15(日) 00:59:44.98ID:ujM9EzWd
Rustにおけるシステムプログラミングというのは「ケチ臭いプログラミング」と読み替えるとよい
必ずしも低レベルであることを意味しない
2025/06/15(日) 09:10:25.99ID:sxaow1g9
jemalloc使用するとメモリが300kb消費されると
rustプログラム一個につき300kb
801デフォルトの名無しさん
垢版 |
2025/06/15(日) 21:04:59.71ID:nFrUb4vG
組み込み開発はRust一択
802デフォルトの名無しさん
垢版 |
2025/06/15(日) 21:27:38.86ID:xQVjBVZp
WEB開発もERust一択
803デフォルトの名無しさん
垢版 |
2025/06/15(日) 21:37:03.14ID:nFrUb4vG
今日もRustで組み込み開発しちゃった
2025/06/15(日) 22:40:54.62ID:B7Y6UoIx
俺はC++で開発し続けているが。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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