公式
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/
探検
Rust part29
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2025/05/03(土) 00:47:30.13ID:phVJ5tWC206デフォルトの名無しさん
2025/05/06(火) 10:15:57.89ID:j5CJU7Aq >>205
それはオプションが増えると組み合わせ爆発が起こる馬鹿な方式
それはオプションが増えると組み合わせ爆発が起こる馬鹿な方式
207デフォルトの名無しさん
2025/05/06(火) 10:17:10.44ID:HDXWn70Z >>206
同じ主張と文章を繰り返すやり方が複おじそっくりですね
オーバーロードの初期化関数で馬鹿らしいと思うのは型が同じで対象が違うものがある時
重複を避けるためにシグネチャの設計をしなくては成らないことは馬鹿らしいと思うよ
例えば基本的に2つだけ引数があって後はオプションがずらずら並ぶならやはりオプション内容を含む構造体渡せばいいと思う
そちらも設計が必要だけど
同じ主張と文章を繰り返すやり方が複おじそっくりですね
オーバーロードの初期化関数で馬鹿らしいと思うのは型が同じで対象が違うものがある時
重複を避けるためにシグネチャの設計をしなくては成らないことは馬鹿らしいと思うよ
例えば基本的に2つだけ引数があって後はオプションがずらずら並ぶならやはりオプション内容を含む構造体渡せばいいと思う
そちらも設計が必要だけど
208デフォルトの名無しさん
2025/05/06(火) 10:18:50.49ID:j5CJU7Aq209デフォルトの名無しさん
2025/05/06(火) 10:19:38.79ID:K1Pjz07i >Rust のマクロは彼の言う本物のマクロ
macro_rules! は偽物のマクロ
proc_macro2 が本物のマクロ
macro_rules! は偽物のマクロ
proc_macro2 が本物のマクロ
210デフォルトの名無しさん
2025/05/06(火) 10:20:41.45ID:HDXWn70Z 普通は書き込み内容が単調にならないように人は文章に揺らぎをいれてくるんだけど
複おじは基本全部同じ
口調を変えても同じなので同一人物なんじゃないかと思って見ていると後で全く同じ書き込みを始めるので同じ人間なんだなと
複おじは基本全部同じ
口調を変えても同じなので同一人物なんじゃないかと思って見ていると後で全く同じ書き込みを始めるので同じ人間なんだなと
211デフォルトの名無しさん
2025/05/06(火) 10:20:45.54ID:j5CJU7Aq212デフォルトの名無しさん
2025/05/06(火) 10:20:58.22ID:AZSw2w0R >>208
何の問題もないと思うが、具体的には?
何の問題もないと思うが、具体的には?
213デフォルトの名無しさん
2025/05/06(火) 10:22:59.33ID:HDXWn70Z 本物のマクロと言う主張は面白い
でライブラリ作成者ではなく一般的なユーザ側が書いてるマクロはどっちなのかと
でライブラリ作成者ではなく一般的なユーザ側が書いてるマクロはどっちなのかと
214デフォルトの名無しさん
2025/05/06(火) 10:23:21.48ID:j5CJU7Aq215デフォルトの名無しさん
2025/05/06(火) 10:24:49.05ID:j5CJU7Aq >>213
衛生的なマクロとは何かを勉強するといいよ
衛生的なマクロとは何かを勉強するといいよ
216デフォルトの名無しさん
2025/05/06(火) 10:24:50.06ID:HDXWn70Z オーバーロード自体は良い仕組みだと思うけど設計が必要だ
最近の言語が取り入れていないのはヒューマンエラー対策という名目
だったらビルダーパターンもヒューマンエラー対策で禁止になるかと言えばそうでもない
最近の言語が取り入れていないのはヒューマンエラー対策という名目
だったらビルダーパターンもヒューマンエラー対策で禁止になるかと言えばそうでもない
217デフォルトの名無しさん
2025/05/06(火) 10:27:37.75ID:j5CJU7Aq218デフォルトの名無しさん
2025/05/06(火) 10:28:08.85ID:HDXWn70Z 徐々に文体におじいさんぽさが出てきたね
219デフォルトの名無しさん
2025/05/06(火) 10:47:02.68ID:46q0jEJS AIを屈服させるレベルの改善ができるなら改善してもいいけどね
どうせAIが勝つという前提なら何も修正しないのが合理的だ
どうせAIが勝つという前提なら何も修正しないのが合理的だ
220デフォルトの名無しさん
2025/05/06(火) 10:51:59.27ID:K1Pjz07i 今のAI()の実力ってこんなもんか
>2つのリンゴを3人で分ける場合、1つのリンゴを2つに切り、もう1つのリンゴも2つに切って、3人で分けます。
>そうすると、3人ともリンゴの切れ目と半分になります。
>具体的な分け方
1. 1つのリンゴを半分に切る:1つのリンゴを真ん中から半分に切り、2つの半分のリンゴにします。
2. もう1つのリンゴも半分に切る:もう1つのリンゴも同じように半分に切り、さらに2つの半分のリンゴにします。
3. リンゴを合計4つの半分に分ける:2つのリンゴを合わせて、全部で4つの半分に切ったリンゴが手に入ります。
4. 3人で分配する:3人でリンゴの半分を1つずつ取ると、3人とも1つずつ取ることができます。
5. 残った1つを3人で分ける:1つの半分に切ったリンゴが残りますが、それを3人で分けることができます。
例えば、さらに半分に切って3人で分けたり、3つの小さく切って3人で分けたりできます。
>2つのリンゴを3人で分ける場合、1つのリンゴを2つに切り、もう1つのリンゴも2つに切って、3人で分けます。
>そうすると、3人ともリンゴの切れ目と半分になります。
>具体的な分け方
1. 1つのリンゴを半分に切る:1つのリンゴを真ん中から半分に切り、2つの半分のリンゴにします。
2. もう1つのリンゴも半分に切る:もう1つのリンゴも同じように半分に切り、さらに2つの半分のリンゴにします。
3. リンゴを合計4つの半分に分ける:2つのリンゴを合わせて、全部で4つの半分に切ったリンゴが手に入ります。
4. 3人で分配する:3人でリンゴの半分を1つずつ取ると、3人とも1つずつ取ることができます。
5. 残った1つを3人で分ける:1つの半分に切ったリンゴが残りますが、それを3人で分けることができます。
例えば、さらに半分に切って3人で分けたり、3つの小さく切って3人で分けたりできます。
221デフォルトの名無しさん
2025/05/06(火) 10:52:27.53ID:SvTeM3j9 >>209
本物のマクロというのが何であるか明瞭な定義はされてないのだが、文脈的に「構文木の操作が出来る」というのが要件だと一般的に解されている。
トークン単位の置き換えしか出来ない C のマクロのようなものを除外するための言い回しだ。
構文木を操作できるなら操作できる範囲の違いは本物のマクロかどうかには重要ではない。
(もちろん出来ることが多いほうがより良い本物のマクロとは言えるだろうが、出来ることが多いほうが危険な間違いも引き起こしやすいので現実には適度に制限があったほうが良いこともある。)
macro_rules! も普通は本物のマクロと解される。
本物のマクロというのが何であるか明瞭な定義はされてないのだが、文脈的に「構文木の操作が出来る」というのが要件だと一般的に解されている。
トークン単位の置き換えしか出来ない C のマクロのようなものを除外するための言い回しだ。
構文木を操作できるなら操作できる範囲の違いは本物のマクロかどうかには重要ではない。
(もちろん出来ることが多いほうがより良い本物のマクロとは言えるだろうが、出来ることが多いほうが危険な間違いも引き起こしやすいので現実には適度に制限があったほうが良いこともある。)
macro_rules! も普通は本物のマクロと解される。
222デフォルトの名無しさん
2025/05/06(火) 11:06:32.44ID:46q0jEJS リスパーはmatchを知らない
matchを知らなくても理解できるマクロが本物のマクロ
matchを知らなくても理解できるマクロが本物のマクロ
223デフォルトの名無しさん
2025/05/06(火) 11:11:44.35ID:HDXWn70Z 複数ID使用おじ
別人が複おじと疑われたら自分は複おじじゃねーよと反論する
気持ち悪いから
ところが何故かしない
複おじはそういうのに反論しない仕組みになっている
別人が複おじと疑われたら自分は複おじじゃねーよと反論する
気持ち悪いから
ところが何故かしない
複おじはそういうのに反論しない仕組みになっている
224デフォルトの名無しさん
2025/05/06(火) 11:19:55.25ID:AZSw2w0R225デフォルトの名無しさん
2025/05/06(火) 11:20:28.10ID:HDXWn70Z マクロ自体がただの似たような機能の概念の総称であってその中で本物だ、元祖だと言っても笑われるだけ
キーボードマクロは真のマクロではないとか衛生的ではないと言われてもそうですかと
キーボードマクロは真のマクロではないとか衛生的ではないと言われてもそうですかと
226デフォルトの名無しさん
2025/05/06(火) 11:22:58.43ID:HDXWn70Z ID:j5CJU7Aq の反応待ちのawait状態です
227デフォルトの名無しさん
2025/05/06(火) 11:23:42.97ID:K1Pjz07i228デフォルトの名無しさん
2025/05/06(火) 11:31:04.25ID:SvTeM3j9 >>225
「本物のマクロ」というのは正しさとか起源を主張しているわけではなくそういう名前の分類。
少なくとも C のマクロなどでは様々なイディオムを抽象化するには不十分だというごく当然の話をしてる。
「本物のマクロ」というのは正しさとか起源を主張しているわけではなくそういう名前の分類。
少なくとも C のマクロなどでは様々なイディオムを抽象化するには不十分だというごく当然の話をしてる。
229デフォルトの名無しさん
2025/05/06(火) 11:33:12.59ID:AZSw2w0R なお、名前付き引数での呼び出しを前提とするならばhoge(red) と hoge(green)を名前付き引数の引数名だけで呼び分けるオーバーロードは技術的には実装できない理由は特にない
しかし、多くの言語では名前付き引数の使用はオプションだしこの場合はhoge_red(val)のように機械的に名前変えりゃいいだけだから、実装コストに見合わないという判断をされているのだろう
しかし、多くの言語では名前付き引数の使用はオプションだしこの場合はhoge_red(val)のように機械的に名前変えりゃいいだけだから、実装コストに見合わないという判断をされているのだろう
230デフォルトの名無しさん
2025/05/06(火) 11:39:56.59ID:ZZS2r6Zz >>224
こうですか?わかりません
impl From<Red> for Color {...}
impl From<Green> for Color {...}
impl From<Blue> for Color {...}
impl From<(Red, Green)> for Color {...}
impl From<(Red, Blue)> for Color {...}
impl From<(Green, Blue)> for Color {...}
impl From<(Red, Green, Blue)> for Color {...}
let red = Color::from(Red(255));
let yellow = Color::from((Red(255), Green(255)));
let white = Color::from((Red(255), Green(255), Blue(255));
こうですか?わかりません
impl From<Red> for Color {...}
impl From<Green> for Color {...}
impl From<Blue> for Color {...}
impl From<(Red, Green)> for Color {...}
impl From<(Red, Blue)> for Color {...}
impl From<(Green, Blue)> for Color {...}
impl From<(Red, Green, Blue)> for Color {...}
let red = Color::from(Red(255));
let yellow = Color::from((Red(255), Green(255)));
let white = Color::from((Red(255), Green(255), Blue(255));
231デフォルトの名無しさん
2025/05/06(火) 11:48:34.17ID:46q0jEJS メリットが不確実なだけでしょ
メリットもコストも確定していてなおかつ見合わないという話ではない
メリットもコストも確定していてなおかつ見合わないという話ではない
232デフォルトの名無しさん
2025/05/06(火) 12:18:40.67ID:0KYdit4+ このスレでずっと自演してる人って糖質とかなんだろうなあ
233デフォルトの名無しさん
2025/05/06(火) 12:28:45.22ID:K1Pjz07i traitで騒いでた自演と同じ人だろう
234デフォルトの名無しさん
2025/05/06(火) 12:40:06.43ID:WV2uqB5+ オーバーロードはそもそもCのAPIにありがちな、後で〇〇2だの〇〇exだのが増えて格好悪くなる問題を解消するためのもの
後で引数名だけ異なるオーバーロードが増えたら名前付き引数を使っていない既存の呼び出しがエラーになるのは、互換性維持という本来の目的からすれば論外
後で引数名だけ異なるオーバーロードが増えたら名前付き引数を使っていない既存の呼び出しがエラーになるのは、互換性維持という本来の目的からすれば論外
235デフォルトの名無しさん
2025/05/06(火) 12:49:02.99ID:w/CyTLi+ 話題のderive_builderを使ってみた
構造体に属性を付けるだけで初期化関数を書かなくて済むのは便利だね
ドキュメント見ると今回は使ってないけど色々と機能が充実してるみたい
話題のred/green/blueはこれでいいのかな
use derive_builder::Builder;
#[derive(Default, Builder, Debug)]
struct Color {
#[builder(default = "0")]
red: u8,
#[builder(default = "0")]
green: u8,
#[builder(default = "0")]
blue: u8,
}
fn main() {
let pink = ColorBuilder::default().red(255).blue(200).build().unwrap();
println!("{pink:?}"); // Color { red: 255, green: 0, blue: 200 }
}
構造体に属性を付けるだけで初期化関数を書かなくて済むのは便利だね
ドキュメント見ると今回は使ってないけど色々と機能が充実してるみたい
話題のred/green/blueはこれでいいのかな
use derive_builder::Builder;
#[derive(Default, Builder, Debug)]
struct Color {
#[builder(default = "0")]
red: u8,
#[builder(default = "0")]
green: u8,
#[builder(default = "0")]
blue: u8,
}
fn main() {
let pink = ColorBuilder::default().red(255).blue(200).build().unwrap();
println!("{pink:?}"); // Color { red: 255, green: 0, blue: 200 }
}
236デフォルトの名無しさん
2025/05/06(火) 12:57:12.48ID:aXFsP9SC237デフォルトの名無しさん
2025/05/06(火) 13:06:06.15ID:w/CyTLi+238デフォルトの名無しさん
2025/05/06(火) 13:10:03.39ID:w/CyTLi+ 補足するとファイル名は必須項目だけど
コンパイル時にチェックできるのは型だけだから現実的にチェックできることはほとんどないよね
コンパイル時にチェックできるのは型だけだから現実的にチェックできることはほとんどないよね
239デフォルトの名無しさん
2025/05/06(火) 13:16:05.70ID:sXCqetJD お前らめちゃくちゃ暇人だな
レス多すぎ
レス多すぎ
240デフォルトの名無しさん
2025/05/06(火) 13:18:37.75ID:sXCqetJD241デフォルトの名無しさん
2025/05/06(火) 13:24:33.64ID:w/CyTLi+ ビルダー方式でも他の方式でもなんでもいいけど
初期化のための関数を自分で書くよりも>>235のように構造体への属性マクロ指定だけにするのがいいと思う
面倒がなくコードがすっきりとしてプログラミングミスも起きないから
初期化のための関数を自分で書くよりも>>235のように構造体への属性マクロ指定だけにするのがいいと思う
面倒がなくコードがすっきりとしてプログラミングミスも起きないから
242デフォルトの名無しさん
2025/05/06(火) 13:44:43.14ID:aXFsP9SC243デフォルトの名無しさん
2025/05/06(火) 13:46:48.63ID:ZZS2r6Zz 現時点のderive_builderはFooBuilder::new()に必須項目を渡すパターンには対応してないっぽいな
全部default()でも構わないケースだと使えるけどRegexBuilder::new(pattern)みたいなケースもあるから万能ではない
全部default()でも構わないケースだと使えるけどRegexBuilder::new(pattern)みたいなケースもあるから万能ではない
244デフォルトの名無しさん
2025/05/06(火) 13:53:00.39ID:K1Pjz07i 良い例があるな
https://mevius.5ch.net/test/read.cgi/tech/1643696741/33
貴方が配慮を欠いている
そのx^nつまりxのn乗を求めるにしても
例えば2^100を求めたいならば128bitがないと溢れるのでu128::pow(2, 100)となるが
2^5を求めたいだけで結果も8bitで十分ならばu8::pow(2, 5)となる
このようにメモリサイズも異なってくるので別々の関数が必要
もちろんu128::pow(x, n)があればu8::(x, n)をカバーできるが明らかに無駄である
そこで符号なし整数だけでも
u8::pow(x, n)
u16::pow(x, n)
u32::pow(x, n)
u64::pow(x, n)
u128::pow(x, n)
と5つの関数が必要となる
一方でxの型が確定しているのであればpowで再び型指定は不要なので
x.pow(n)と表記することも可能
以上は整数の場合だがxとpowの結果が小数の場合は2種類の関数が必要となる
f32::powi(x, n) 【nが整数の場合】
f32::powf(x, n) 【nも小数の場合】
もちろんnが小数のpowfだけあればpowiもカバーできるが明らかに無駄なので2種類必要となる
さらに32bit小数だけでなく64bit小数も扱う必要があるため以下も必要
f64::powi(x, n) 【nが整数の場合】
f64::powf(x, n) 【nも小数の場合】
これらもxの型が確定していれば以下のように略して書くことも可能
x.powi(n) 【nが整数の場合】
x.powf(n) 【nも小数の場合】
ちなみに「x^n」を表記するのに不自然な「pow(x, n)」よりも「x.pow(n)」の方がたまたま自然に見えるが誤差だろう
どちらでも好きな表記法を選べばよいだけにすぎない
https://mevius.5ch.net/test/read.cgi/tech/1643696741/33
貴方が配慮を欠いている
そのx^nつまりxのn乗を求めるにしても
例えば2^100を求めたいならば128bitがないと溢れるのでu128::pow(2, 100)となるが
2^5を求めたいだけで結果も8bitで十分ならばu8::pow(2, 5)となる
このようにメモリサイズも異なってくるので別々の関数が必要
もちろんu128::pow(x, n)があればu8::(x, n)をカバーできるが明らかに無駄である
そこで符号なし整数だけでも
u8::pow(x, n)
u16::pow(x, n)
u32::pow(x, n)
u64::pow(x, n)
u128::pow(x, n)
と5つの関数が必要となる
一方でxの型が確定しているのであればpowで再び型指定は不要なので
x.pow(n)と表記することも可能
以上は整数の場合だがxとpowの結果が小数の場合は2種類の関数が必要となる
f32::powi(x, n) 【nが整数の場合】
f32::powf(x, n) 【nも小数の場合】
もちろんnが小数のpowfだけあればpowiもカバーできるが明らかに無駄なので2種類必要となる
さらに32bit小数だけでなく64bit小数も扱う必要があるため以下も必要
f64::powi(x, n) 【nが整数の場合】
f64::powf(x, n) 【nも小数の場合】
これらもxの型が確定していれば以下のように略して書くことも可能
x.powi(n) 【nが整数の場合】
x.powf(n) 【nも小数の場合】
ちなみに「x^n」を表記するのに不自然な「pow(x, n)」よりも「x.pow(n)」の方がたまたま自然に見えるが誤差だろう
どちらでも好きな表記法を選べばよいだけにすぎない
245デフォルトの名無しさん
2025/05/06(火) 14:21:46.28ID:97zxA3f+246デフォルトの名無しさん
2025/05/06(火) 14:26:52.22ID:97zxA3f+ id変わってしまった
247デフォルトの名無しさん
2025/05/06(火) 14:30:10.65ID:97zxA3f+ 上の強烈な接続もビルダーパターンの一種かな?と思ってしまう
248デフォルトの名無しさん
2025/05/06(火) 15:04:10.81ID:46q0jEJS249デフォルトの名無しさん
2025/05/07(水) 00:06:42.37ID:oRVzsgHT250デフォルトの名無しさん
2025/05/07(水) 10:19:22.81ID:0n7pwB6u 後から〇〇2や〇〇exが増える問題ってRustだとどう対処するのが一般的なんだろう
まあRustの場合ABIを維持する必要のあるケースは比較的限られてるけど、引数増やしたら既存のソースは壊れるよね
最初から構造体にしておけというのは意味のない意見なので無しで
まあRustの場合ABIを維持する必要のあるケースは比較的限られてるけど、引数増やしたら既存のソースは壊れるよね
最初から構造体にしておけというのは意味のない意見なので無しで
251デフォルトの名無しさん
2025/05/07(水) 10:32:45.05ID:Gjm+c4fd 普通に関数が増える
252デフォルトの名無しさん
2025/05/07(水) 10:59:58.84ID:jrPMMEx+ >>250
ダイナミックリンクで提供する場合はバイナリ互換性が必要な場面も多いのは Rust でも変わらないよ。
言語の文化としてはスタティックリンクを使いがちではあるけど。
ダイナミックリンクは OS の機能なので言語の側からどうにか出来る余地も少ないし、 OS の文化に乗っかるしかない。
ダイナミックリンクで提供する場合はバイナリ互換性が必要な場面も多いのは Rust でも変わらないよ。
言語の文化としてはスタティックリンクを使いがちではあるけど。
ダイナミックリンクは OS の機能なので言語の側からどうにか出来る余地も少ないし、 OS の文化に乗っかるしかない。
253デフォルトの名無しさん
2025/05/07(水) 11:36:16.32ID:hcgUqjSt ○○exがある言語でJVMを実装し、○○exに依存してないと主張する
254デフォルトの名無しさん
2025/05/07(水) 13:51:32.15ID:nPKhYJKb Ubuntu 25.10から、sudoがsudo-rsに置き換わるそうだ
255デフォルトの名無しさん
2025/05/07(水) 14:09:26.72ID:jrPMMEx+ まあ Rust が良いかどうかはともかくたまには刷新したほうがええやろ。
256デフォルトの名無しさん
2025/05/07(水) 14:24:28.93ID:4cRsIVof いや、sudoのようなパフォーマンスが重要でないコマンドなら
RustではなくGoで書くべきだった
RustではなくGoで書くべきだった
257デフォルトの名無しさん
2025/05/07(水) 14:25:34.83ID:iQ9Crc5o どんなものでも機能も速さも同じだとしても
C/C++製よりRust製を選ぶわ
C/C++のせいでのセキュリティホールが後からいくらでも見つかってる現状
C/C++製よりRust製を選ぶわ
C/C++のせいでのセキュリティホールが後からいくらでも見つかってる現状
258デフォルトの名無しさん
2025/05/07(水) 14:27:05.51ID:iQ9Crc5o >>256
余分なランタイムが必要なGoはありえない
余分なランタイムが必要なGoはありえない
259デフォルトの名無しさん
2025/05/07(水) 14:50:13.61ID:sBD46f0F >>250
外部ライブラリならメジャーバージョン増やして普通に破壊する
旧バージョンのAPIをcompatモジュールとかに入れとけば親切
標準ライブラリはエディションで切り替える形になりそう
std::preludeのサブモジュール名は最初v1だったけど今はrust_20XXに方針転換してる
グローバルな名前の追加も一種の破壊だし
外部ライブラリならメジャーバージョン増やして普通に破壊する
旧バージョンのAPIをcompatモジュールとかに入れとけば親切
標準ライブラリはエディションで切り替える形になりそう
std::preludeのサブモジュール名は最初v1だったけど今はrust_20XXに方針転換してる
グローバルな名前の追加も一種の破壊だし
260デフォルトの名無しさん
2025/05/07(水) 15:20:58.49ID:7aByWlek 下記は全て2025年5月7日の記事
OpenAI、ChatGPTの6つのモデルの違いと適切なプロンプトを解説
https://news.mynavi.jp/techplus/article/20250507-3275757/
Microsoftの新規のソースコードの約3割をAIが生成、Nadella氏が明かす
https://news.mynavi.jp/techplus/article/20250507-3271749/
スコットランドの住民を悩ます謎の怪音「ヘブリディアン・ハム」の正体はいまだ不明
https://karapaia.com/archives/507130.html
OpenAI、ChatGPTの6つのモデルの違いと適切なプロンプトを解説
https://news.mynavi.jp/techplus/article/20250507-3275757/
Microsoftの新規のソースコードの約3割をAIが生成、Nadella氏が明かす
https://news.mynavi.jp/techplus/article/20250507-3271749/
スコットランドの住民を悩ます謎の怪音「ヘブリディアン・ハム」の正体はいまだ不明
https://karapaia.com/archives/507130.html
261デフォルトの名無しさん
2025/05/07(水) 18:35:48.88ID:hcgUqjSt モダンなライブラリはdeprecateしやすいのか
古いCと最新のRustだけが残されて中途半端な時代は無かったことになりそうだ
古いCと最新のRustだけが残されて中途半端な時代は無かったことになりそうだ
262デフォルトの名無しさん
2025/05/07(水) 19:03:14.70ID:3Nv7PA1l いや、利用者が少ないうちに直しとけ心理で、どんな技術も通る道だよ
sudo-rsがいい例だがこういう長期間にわたって重要な役割を果たす、かつあまり変更が必要とされない用途が増えてくると、だんだんと進化は遅くなるものだ
sudo-rsがいい例だがこういう長期間にわたって重要な役割を果たす、かつあまり変更が必要とされない用途が増えてくると、だんだんと進化は遅くなるものだ
263デルフォトの名無しさん
2025/05/07(水) 19:08:29.35ID:Ja3pQWVu264デフォルトの名無しさん
2025/05/07(水) 22:26:25.21ID:LUGJMjLo >>254
この国際的なプロジェクトでセキュリティ的に重要なものから順にRust化されていく一環だよ
Memory Safety for the Internet's most critical infrastructure
https://www.memorysafety.org/
この国際的なプロジェクトでセキュリティ的に重要なものから順にRust化されていく一環だよ
Memory Safety for the Internet's most critical infrastructure
https://www.memorysafety.org/
265デフォルトの名無しさん
2025/05/08(木) 09:08:51.16ID:8ptxnmrn >>244-245
このように.drop();
もちろん.drop();
そこで.drop();
一方で.drop();
以上は.drop();
もちろん.drop();
さらに.drop();
これらも.drop();
ちなみに.drop();
このように.drop();
もちろん.drop();
そこで.drop();
一方で.drop();
以上は.drop();
もちろん.drop();
さらに.drop();
これらも.drop();
ちなみに.drop();
266デフォルトの名無しさん
2025/05/08(木) 09:25:34.07ID:xZxJToWs ubuntuはsudoだけでなく、cp, ls, find, diff なんかもRust化する予定なんだな
ntpdもRust化が進められてる
ntpdもRust化が進められてる
267デフォルトの名無しさん
2025/05/08(木) 09:33:12.04ID:n2pO1y9P >>265
error[E0040]: explicit use of destructor method
help: consider using `drop` function
参考:https://doc.rust-lang.org/error_codes/E0040.html
error[E0040]: explicit use of destructor method
help: consider using `drop` function
参考:https://doc.rust-lang.org/error_codes/E0040.html
268デフォルトの名無しさん
2025/05/08(木) 10:28:22.03ID:1mgB1EfY >>266
Ubuntuに限らず誰もが全てをC/C++製から安全なRust製へ変えたいと思っているが一気には無理なので重要なものや新たなものからRust採用という感じ
Ubuntuに限らず誰もが全てをC/C++製から安全なRust製へ変えたいと思っているが一気には無理なので重要なものや新たなものからRust採用という感じ
269デフォルトの名無しさん
2025/05/08(木) 12:25:36.55ID:d06WSi70 全てを変えたい、とかいうビジョンは無意味
意味のないビジョンだよ
意味のないビジョンだよ
270デフォルトの名無しさん
2025/05/08(木) 12:38:14.55ID:jIG0GCL4 安全でないC/C++を早く全廃したい世界の流れ
271デフォルトの名無しさん
2025/05/08(木) 12:49:37.23ID:iRreO2Ee Linuxコマンド開発専用言語Rust
272デフォルトの名無しさん
2025/05/08(木) 12:51:53.54ID:Crcrgp42 メンテナ高齢化問題の対策としては良い取り組みなんじゃないかな
作業するのもインターンの学生が中心だろうし
作業するのもインターンの学生が中心だろうし
273デフォルトの名無しさん
2025/05/08(木) 12:55:02.85ID:Ad6EgOfh274デフォルトの名無しさん
2025/05/08(木) 13:05:00.97ID:8ptxnmrn コマンドツールがRustになってもAPIがRust用じゃない限り
CのAPIのラッパーでしかないけどそういう造りでもRust化したってカウントして良いのかは疑問
CのAPIのラッパーでしかないけどそういう造りでもRust化したってカウントして良いのかは疑問
275デフォルトの名無しさん
2025/05/08(木) 13:09:51.90ID:Ad6EgOfh276デフォルトの名無しさん
2025/05/08(木) 15:06:07.28ID:a6DlXdfJ こういうのってFedoraやらArchやらGentooあたりが人柱やってから普及していくものだと思ってたが…
Canonicalのくせに思い切ったことするなあ
Canonicalのくせに思い切ったことするなあ
277デフォルトの名無しさん
2025/05/08(木) 15:26:10.55ID:n2pO1y9P Ubuntuはカジュアル路線でしょ
初期状態だとrootも使えなかったと思う
他よりもsudoの負荷が大きい
初期状態だとrootも使えなかったと思う
他よりもsudoの負荷が大きい
278デフォルトの名無しさん
2025/05/08(木) 18:54:46.08ID:gU6gKsMd 5chは真の漢が使う言語perlで書かれている
279デフォルトの名無しさん
2025/05/08(木) 21:50:58.54ID:Ad6EgOfh 5chはperlだけでなくサーバも貧弱なのでキャッシュしてくれるCDNに頼らないと成り立たない
5chが利用しているCDNは>>273のCloudflareでRust製だよ
5chが利用しているCDNは>>273のCloudflareでRust製だよ
280デフォルトの名無しさん
2025/05/09(金) 00:22:05.59ID:tlxkaAFs281デフォルトの名無しさん
2025/05/09(金) 00:29:31.48ID:2I38bFbw 5chどうこうよりも
インターネットを支えるCDN世界トップシェアのCloudflareがRust化したインパクトが大きいよな
インターネットを支えるCDN世界トップシェアのCloudflareがRust化したインパクトが大きいよな
282デフォルトの名無しさん
2025/05/09(金) 00:31:49.35ID:tlxkaAFs そういう幼稚な書き込みはやめとけよw
283デフォルトの名無しさん
2025/05/09(金) 07:07:43.56ID:rj7v79QA284デフォルトの名無しさん
2025/05/09(金) 08:08:28.79ID:oZuZXuL3 クラウド界トップのAWSもRust製に
285デフォルトの名無しさん
2025/05/09(金) 10:14:04.36ID:52E7/scg AWSのプラットフォームはほぼJavaでしょ
ハードウェア寄りのローレベルな部分だけシステムプログラミング言語を使っていて、更にその中の一部でRustを使っているものもある、という程度
ハードウェア寄りのローレベルな部分だけシステムプログラミング言語を使っていて、更にその中の一部でRustを使っているものもある、という程度
286デフォルトの名無しさん
2025/05/09(金) 11:14:51.12ID:OK+uD+G+ https://japan.zdnet.com/article/35183866/
2022-02-22 14:31
Amazon Web Services(AWS)は、同社のエンジニアたちがプログラミング言語「Rust」を使っている大きな理由として、エネルギー効率の高さを挙げる。
Rustはメモリー安全性を高め、セキュリティ関連の不具合を減らす役に立つだけでなく、PythonやJavaよりもはるかに「エネルギー効率に優れている」という。
Amazonは、2025年までにデータセンターの100%を再生エネルギーでまかなうという目標を掲げ、データセンターの環境負荷の軽減に取り組んでいる。
Rustの採用はその一翼を担うという。
Rustで構築されたAWSサービスの例としては、コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、「Amazon Simple Storage Service(S3)」「Amazon Elastic Compute Cloud(EC2)」、コンテンツ配信ネットワーク「Amazon CloudFront」、LinuxベースのコンテナーOS「Bottlerocket」がある。
2022-02-22 14:31
Amazon Web Services(AWS)は、同社のエンジニアたちがプログラミング言語「Rust」を使っている大きな理由として、エネルギー効率の高さを挙げる。
Rustはメモリー安全性を高め、セキュリティ関連の不具合を減らす役に立つだけでなく、PythonやJavaよりもはるかに「エネルギー効率に優れている」という。
Amazonは、2025年までにデータセンターの100%を再生エネルギーでまかなうという目標を掲げ、データセンターの環境負荷の軽減に取り組んでいる。
Rustの採用はその一翼を担うという。
Rustで構築されたAWSサービスの例としては、コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、「Amazon Simple Storage Service(S3)」「Amazon Elastic Compute Cloud(EC2)」、コンテンツ配信ネットワーク「Amazon CloudFront」、LinuxベースのコンテナーOS「Bottlerocket」がある。
287デフォルトの名無しさん
2025/05/09(金) 11:17:44.85ID:/9qtDNkV 大半は既存のソフトウェアの組み合わせなんで、仮に自社内で書いているプログラムの全てを Rust で書いても割合としては数割ってところだろう。
ただ、これから割合が増えることはあっても減りはしないとは思う。
ただ、これから割合が増えることはあっても減りはしないとは思う。
288デフォルトの名無しさん
2025/05/09(金) 11:50:43.35ID:OnJLIdRJ Rustがこのままオワコンになったら撤廃もあり得るだろ
289デフォルトの名無しさん
2025/05/09(金) 11:56:12.65ID:Olh4o+f/ AWSもRust製か
Rust製のクラウドとJava製のクラウドが競争したらJava側が100%負けるだろうしな
Rust製のクラウドとJava製のクラウドが競争したらJava側が100%負けるだろうしな
290デフォルトの名無しさん
2025/05/09(金) 12:53:15.09ID:84hPiMCY クラウドってなに?
ハイパーバイザがrustで作り直されたの?
ハイパーバイザがrustで作り直されたの?
291デフォルトの名無しさん
2025/05/09(金) 14:06:44.17ID:uNK6cNVH292デフォルトの名無しさん
2025/05/09(金) 15:01:02.33ID:tXd4RgSB エネルギー効率に劣るJavaなんかで構築していたら笑うわ
>>286でもそう書いてるよな
>>286でもそう書いてるよな
293デフォルトの名無しさん
2025/05/09(金) 15:25:02.70ID:61qYlkzR Rustって人気なのね
AIにC#から移植できる?って聞いてみたらいやだって言われちゃったからRustが広まるの、なんか困る
AIにC#から移植できる?って聞いてみたらいやだって言われちゃったからRustが広まるの、なんか困る
294デフォルトの名無しさん
2025/05/09(金) 15:30:45.33ID:EODoJGlX JVM前提な特殊環境を除き
Rustの登場でJavaを使う意味は全くなくなった
Rustの登場でJavaを使う意味は全くなくなった
295デフォルトの名無しさん
2025/05/09(金) 15:41:48.51ID:xdbk/Yg/ 何の前提も縛りも無い環境こそが特殊
296デフォルトの名無しさん
2025/05/09(金) 15:59:06.67ID:U8gSLCWq コンテナ化は Java の有力なメリットだったけど Docker の隆盛で様変わりしちゃったね。
297デフォルトの名無しさん
2025/05/09(金) 18:53:55.90ID:lGkzhvel >>293
いやだと言うAI、なんかいいな
いやだと言うAI、なんかいいな
298デフォルトの名無しさん
2025/05/09(金) 22:11:52.71ID:dSLYIzJ3 >>291
サービス提供には安全性が一番重要なのでC++ではなくJavaを採用していた
Javaより安全で性能の良いRustが出現したため切り替えた
そしてAWSが発起人となってRust Foundationを設立した
サービス提供には安全性が一番重要なのでC++ではなくJavaを採用していた
Javaより安全で性能の良いRustが出現したため切り替えた
そしてAWSが発起人となってRust Foundationを設立した
299デフォルトの名無しさん
2025/05/10(土) 00:48:13.31ID:tNjV2wjQ Rustで戦う領域ではない気もするけど、エンタープライズ向けはまだ弱いと思う
ここはまだJavaや.NETの資産が大きい
「ファイルが見つかりません」みたいにユーザーの言語でエラーメッセージが出たり、文字列のソート (例えば「あアいイ」のように、ひらがなカタカナを考慮した自然な順になる) だったり、そういうのが外部ライブラリ無しで揃ってるのが Java や .NET なわけで
規模としては相対的に小さくなってるけど、こういうのが必要な領域は普通にあるし、Javaが消えることは無いと思う
ここはまだJavaや.NETの資産が大きい
「ファイルが見つかりません」みたいにユーザーの言語でエラーメッセージが出たり、文字列のソート (例えば「あアいイ」のように、ひらがなカタカナを考慮した自然な順になる) だったり、そういうのが外部ライブラリ無しで揃ってるのが Java や .NET なわけで
規模としては相対的に小さくなってるけど、こういうのが必要な領域は普通にあるし、Javaが消えることは無いと思う
300デフォルトの名無しさん
2025/05/10(土) 01:05:07.51ID:yPNtL6wL301デフォルトの名無しさん
2025/05/10(土) 01:42:38.39ID:JK+pyj3t ここでグチャグチャ言ってる間に徐々に置き換わって行きそうだな
302デフォルトの名無しさん
2025/05/10(土) 03:04:27.68ID:39sc/8ak firefoxが全部Rustに置き換わるのに100年ぐらい掛かりそうだけどな
303デフォルトの名無しさん
2025/05/10(土) 03:26:38.07ID:qt+KVMl5 止まってるFirefoxより
ChromeとIEが着々とRust化を進めてるから先だろな
ChromeとIEが着々とRust化を進めてるから先だろな
304デフォルトの名無しさん
2025/05/10(土) 08:39:56.30ID:tNjV2wjQ IE?
305デフォルトの名無しさん
2025/05/10(土) 08:45:29.97ID:K3qP9/A2 >>300
何でこいつ偉そうなんだ?
何でこいつ偉そうなんだ?
306デフォルトの名無しさん
2025/05/10(土) 08:47:09.62ID:APagMvUq >>299
人月業界は考えるだけ無駄として、SaaSだと新規開発は圧倒的にフルスタックTypeScriptが多いね
Rustは海外では革新的なDB作るぜみたいなエンタープライズの基盤系スタートアップでの採用例は見かけるが、国内ではその手のスタートアップは皆無に近いから絶望的な状況
人月業界は考えるだけ無駄として、SaaSだと新規開発は圧倒的にフルスタックTypeScriptが多いね
Rustは海外では革新的なDB作るぜみたいなエンタープライズの基盤系スタートアップでの採用例は見かけるが、国内ではその手のスタートアップは皆無に近いから絶望的な状況
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】トランプ大統領、中国の習近平国家主席を「国賓」として招待することに [ニョキニョキ★]
- 米中電話会談、トランプ氏は「米国側は中国にとっての台湾問題の重要性を理解する」 [1ゲットロボ★]
- 【音楽】「なんでこんなバカが国のトップなの?」 若者に人気のバンド「GEZAN」のマヒトゥ・ザ・ピーポーが高市総理に苦言 [シャチ★]
- 【速報】習主席とトランプ大統領が電話会談 台湾問題について★4 [ニョキニョキ★]
- 【速報】盗難車ひき逃げで歩行者ら12人死傷 逃走した“運転手”の37歳男を逮捕 東京・足立区 ★5 [Ailuropoda melanoleuca★]
- 【社会】毎月引き落とされるなんて…高齢者が理解しづらい「サブスク」 「解約できない」と不満も [シャチ★]
