公式
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/
探検
Rust part28
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2025/03/24(月) 17:37:00.15ID:NJwebgj2460デフォルトの名無しさん
2025/04/15(火) 10:42:57.35ID:5gq1dzTA hoge.map(Ordering::reverse)
461デフォルトの名無しさん
2025/04/15(火) 10:51:02.82ID:b7lMQ02q462デフォルトの名無しさん
2025/04/15(火) 11:01:31.96ID:l4YFawe/ 【脳科学】「政治行動の激しさ」に関連する脳回路の存在が研究で判明 [すらいむ★]
http://egg.5ch.net/test/read.cgi/scienceplus/1744637408/
上記のリンクをたどったリンク先の本文とコメントを読まれると・・・
余裕ありますか・・・
大々的にインターネット上にばらまかれました!
http://egg.5ch.net/test/read.cgi/scienceplus/1744637408/
上記のリンクをたどったリンク先の本文とコメントを読まれると・・・
余裕ありますか・・・
大々的にインターネット上にばらまかれました!
463デフォルトの名無しさん
2025/04/15(火) 17:11:35.23ID:8Z5eSApz PartialOrdを実装してるようには見えんよな
464デフォルトの名無しさん
2025/04/15(火) 21:09:18.10ID:r3aLc7OM XY問題っぽいけど本人がいいなら別にいいんじゃね
465デフォルトの名無しさん
2025/04/15(火) 23:20:57.63ID:I/RUKS+a >>459
それらi32やi64はOrd境界を満たしている
そしてOrdにはsupertrateとしてのトレイト境界PartialOrdがある
まずそのifの4分岐を使わずともx.partial_cmp(&0)でOption<Ordering>を得ることができる
ただしOrdも満たす整数型では常にSomeとなりNoneになることはない
一方でf64などの浮動小数点は!Ordなのでpartial_cmpでNoneが返りうる
自分でstruct Pair(i32, i32)を作り二つのi32のcmpが同じ時のみpartial_cmpをSomeにする型等も同様にNoneが返りうる
そのためにPartialOrdとOrd(: PartialOrd)の二段階に分かれている
今回のi32型やi64型はOrdも実装されているためNoneが返ることは絶対にない
したがって今回はx.cmp(&0)でOrderingを返すのが正しい
それらi32やi64はOrd境界を満たしている
そしてOrdにはsupertrateとしてのトレイト境界PartialOrdがある
まずそのifの4分岐を使わずともx.partial_cmp(&0)でOption<Ordering>を得ることができる
ただしOrdも満たす整数型では常にSomeとなりNoneになることはない
一方でf64などの浮動小数点は!Ordなのでpartial_cmpでNoneが返りうる
自分でstruct Pair(i32, i32)を作り二つのi32のcmpが同じ時のみpartial_cmpをSomeにする型等も同様にNoneが返りうる
そのためにPartialOrdとOrd(: PartialOrd)の二段階に分かれている
今回のi32型やi64型はOrdも実装されているためNoneが返ることは絶対にない
したがって今回はx.cmp(&0)でOrderingを返すのが正しい
466デフォルトの名無しさん
2025/04/16(水) 00:32:42.55ID:BZ2/m9bV >それらi32やi64はOrd境界を満たしている
トレイト制約とトレイト実装の区別ができてないやつをちょくちょく見かけるけどあれ境界本の影響だったのか
トレイト制約とトレイト実装の区別ができてないやつをちょくちょく見かけるけどあれ境界本の影響だったのか
467デフォルトの名無しさん
2025/04/16(水) 00:40:00.05ID:nlneFEtY ある型がXxx境界を満たすこと=その型がXxxを実装していること、だから正しいよね
468デフォルトの名無しさん
2025/04/16(水) 09:39:47.23ID:VD2CYluq 境界を満たすことって表現が気持ち悪い
日本語的じゃない
区域に含まれるようでいてそういう話でもない
日本語的じゃない
区域に含まれるようでいてそういう話でもない
469デフォルトの名無しさん
2025/04/16(水) 10:00:02.42ID:kz9c6vLk470デフォルトの名無しさん
2025/04/16(水) 11:16:05.15ID:DaU8fra8 明らかに間違った言葉を使っていても”テクニカルタームってそういうもんなので”で済ませるメンタリティの持ち主が誤訳を生み出して広めるってことだな
役に立つ誤訳ならいいけど>>465からも分かるように境界は足を引っ張る誤訳だから早く止めるに越したことはない
役に立つ誤訳ならいいけど>>465からも分かるように境界は足を引っ張る誤訳だから早く止めるに越したことはない
471デフォルトの名無しさん
2025/04/16(水) 11:28:23.19ID:aXNp1hi+ traitボヨヨ~ンでいいよ。
472デフォルトの名無しさん
2025/04/16(水) 11:30:24.19ID:PbGbU7xO 普通にC#/TypeScript/Kotlinあたりで採用されているconstraint: 制約 でよかったと思うけどね
Rustは変な選民意識が足を引っ張っている
Rustは変な選民意識が足を引っ張っている
473デフォルトの名無しさん
2025/04/16(水) 11:33:26.57ID:aXNp1hi+ Cの置き換え言語に高尚な意識は要らん
474デフォルトの名無しさん
2025/04/16(水) 11:34:30.78ID:aXNp1hi+ 組込みやってる人達と接点は持ったほうがいいね
475デフォルトの名無しさん
2025/04/16(水) 12:15:29.62ID:zTEGEKkW くだらない議論する労力あるならとっととthe rust book 最新版を翻訳して用語統一しろよ。
476デフォルトの名無しさん
2025/04/16(水) 12:22:24.48ID:D06utXB5 プログラム という単語自体がもうおかしいからな
そこに目を瞑ってる時点で同じ穴の狢よ
そこに目を瞑ってる時点で同じ穴の狢よ
477デフォルトの名無しさん
2025/04/16(水) 12:41:52.97ID:ApyifYby478デフォルトの名無しさん
2025/04/16(水) 12:48:16.89ID:QI1tlKT9479デフォルトの名無しさん
2025/04/16(水) 15:44:17.59ID:PbGbU7xO 意識高い系プログラミング言語界隈はbindを多用しすぎていて曖昧になってしまっているのは問題
ネイティブにとってクールで知的な語感なのか知らんがどんだけ束縛プレイ好きなんだよ
ネイティブにとってクールで知的な語感なのか知らんがどんだけ束縛プレイ好きなんだよ
480デフォルトの名無しさん
2025/04/16(水) 16:00:15.57ID:aXNp1hi+ 緊縛緊縛
481デフォルトの名無しさん
2025/04/16(水) 18:39:21.33ID:VD2CYluq AとBの境界を満たすって意味がもうすでに訳が分からないので気持ち悪い
482デフォルトの名無しさん
2025/04/16(水) 19:25:04.78ID:vwXsH1ob 上界下界
483デフォルトの名無しさん
2025/04/16(水) 19:28:02.69ID:VD2CYluq AとBの条件を満たすならわかる
AとBの境界を満たすのは意味不明
Aの境界を満たすですら意味不明
AとBの境界を満たすのは意味不明
Aの境界を満たすですら意味不明
484デフォルトの名無しさん
2025/04/16(水) 19:31:37.92ID:vwXsH1ob 簡単な概念に難しい言葉使いすぎ。共和党党員でも理解出来るdealみたいな簡単な単語にする
computerとかラテン語っぽいのは嫌われちゃうぞ
computerとかラテン語っぽいのは嫌われちゃうぞ
485デフォルトの名無しさん
2025/04/16(水) 21:14:58.28ID:kz9c6vLk テクニカルタームってのは「その分野に固有の定義がある語」なので日常用語の意味で解釈されないようにしなきゃならないんだよ。
その分野を学んだことがない初心者でも自然に読めてしまうのは用語の選定が失敗した証だとも言える。
法律用語の「悪意」「ないし」あたりは日常用語とは明瞭に意味が異なるのに日常用語としても解釈できてしまうので良くない例だ。
その一方では全く由来のないデタラメに作り出した語は単純に言いにくいし覚えにくい。
境界と言うかわりにププイータとかフニャコソとか言ったって (それで統一されるなら) 辻褄は合うが、さすがにそれはあんまりというものだろう。
そういう微妙な機微を踏まえて選定するものなんだよ。
その分野を学んだことがない初心者でも自然に読めてしまうのは用語の選定が失敗した証だとも言える。
法律用語の「悪意」「ないし」あたりは日常用語とは明瞭に意味が異なるのに日常用語としても解釈できてしまうので良くない例だ。
その一方では全く由来のないデタラメに作り出した語は単純に言いにくいし覚えにくい。
境界と言うかわりにププイータとかフニャコソとか言ったって (それで統一されるなら) 辻褄は合うが、さすがにそれはあんまりというものだろう。
そういう微妙な機微を踏まえて選定するものなんだよ。
486デフォルトの名無しさん
2025/04/16(水) 21:17:18.07ID:Owp+m7kF ボヨヨ~ン一択
487デフォルトの名無しさん
2025/04/16(水) 21:24:19.59ID:nlneFEtY >>477
それは最適化されるので大丈夫
「-condition」を使ってはいけない
これはi32::MIN時にoverflowする
したがってそのif文で書くならばGREATERとLESSを入れ替えるか
「condition > 0」と「condition < 0」を入れ替えることになる
しかしOrderingについて「if文で多分岐させる」こと自体がいけない
可読性に劣るとともにケアレスミスも起きうるだけでなく
生成コードを見ると以下の正解よりも少し長くなりえて遅くなりうることがわかる
正解はこれ
普通のまま: condition.partial_cmp(&0)
逆にする時: condition.partial_cmp(&0).map(|x| x.reverse())
逆にする時: condition.partial_cmp(&0).map(Ordering::reverse) 【上記と同じ】
いずれも生成コードがそのif文より短くなりうる
そして可読性も優れている
ただしconditionにi32やi64の整数型を使うとpartial_cmp()がNoneになることはない
Option<Ordering>を使う必要はなくcmp()でOrderingを得れば十分
真の正解はこれ
普通のまま: condition.cmp(&0)
逆にする時: condition.cmp(&0).reverse()
それは最適化されるので大丈夫
「-condition」を使ってはいけない
これはi32::MIN時にoverflowする
したがってそのif文で書くならばGREATERとLESSを入れ替えるか
「condition > 0」と「condition < 0」を入れ替えることになる
しかしOrderingについて「if文で多分岐させる」こと自体がいけない
可読性に劣るとともにケアレスミスも起きうるだけでなく
生成コードを見ると以下の正解よりも少し長くなりえて遅くなりうることがわかる
正解はこれ
普通のまま: condition.partial_cmp(&0)
逆にする時: condition.partial_cmp(&0).map(|x| x.reverse())
逆にする時: condition.partial_cmp(&0).map(Ordering::reverse) 【上記と同じ】
いずれも生成コードがそのif文より短くなりうる
そして可読性も優れている
ただしconditionにi32やi64の整数型を使うとpartial_cmp()がNoneになることはない
Option<Ordering>を使う必要はなくcmp()でOrderingを得れば十分
真の正解はこれ
普通のまま: condition.cmp(&0)
逆にする時: condition.cmp(&0).reverse()
488デフォルトの名無しさん
2025/04/16(水) 22:12:59.22ID:talPcQtH てすと
489デフォルトの名無しさん
2025/04/16(水) 23:55:34.09ID:4m7V5jbh Rustでの抽象化したコードの方が可読性の良さだけでなく速いんだよな
様々な抽象化したコードの連鎖もRustでの最適化と下請けのLLVMでの最適化のおかげで速くなってる
様々な抽象化したコードの連鎖もRustでの最適化と下請けのLLVMでの最適化のおかげで速くなってる
490デフォルトの名無しさん
2025/04/17(木) 00:27:01.07ID:IaMMIkKx エイリアス解析は最適化の重要な要素だから参照関係を明瞭に追える Rust は有利。
491デフォルトの名無しさん
2025/04/17(木) 06:01:08.25ID:KpBsw54w Rustはオワコン
492デフォルトの名無しさん
2025/04/17(木) 11:32:45.05ID:W4vMp3MB493デフォルトの名無しさん
2025/04/17(木) 11:47:53.19ID:pEkBySlv494デフォルトの名無しさん
2025/04/17(木) 12:04:31.60ID:tER9i4ve これは嘘です
その場合でも.map(Ordering::reverse)が一番速いです
>>493
>>conditionから新規に反転した値を取得したいのなら当たり前だけど.map(Ordering::reverse)を使わないほうが速い
その場合でも.map(Ordering::reverse)が一番速いです
>>493
>>conditionから新規に反転した値を取得したいのなら当たり前だけど.map(Ordering::reverse)を使わないほうが速い
495デフォルトの名無しさん
2025/04/17(木) 12:20:41.10ID:Yukgj1cx ところがRustならゼロコストなんだなあ
496デフォルトの名無しさん
2025/04/17(木) 13:46:18.29ID:oKypZfow ユースケース説明してくれないのに速いとかなんとか言っても不毛だし境界の話に戻ろうぜ!
497デフォルトの名無しさん
2025/04/17(木) 14:21:55.09ID:fw0OLUjq498デフォルトの名無しさん
2025/04/17(木) 15:59:50.14ID:szbpCwWd 【AI】OpenAIが「GPT 4.1」のAPIを公開、100万トークン対応と実用性能で飛躍的進化を遂げた次世代AIモデル [すらいむ★]
http://egg.5ch.net/test/read.cgi/scienceplus/1744724723/
上記のリンク先のコメントを読んでもまだ医者の威厳を保てるのか?
http://egg.5ch.net/test/read.cgi/scienceplus/1744724723/
上記のリンク先のコメントを読んでもまだ医者の威厳を保てるのか?
499デフォルトの名無しさん
2025/04/17(木) 18:53:03.37ID:47PJMP+S >>459
それと全く同じ動作をする関数fはこれが速さも簡潔さもベスト
fn f(condition: i64) -> Option<Ordering> {
condition.partial_cmp(&0)
}
Less/Greaterを反転させた関数f_revはこれが速さも簡潔さもベスト
fn f_rev(condition: i64) -> Option<Ordering> {
0.partial_cmp(&condition)
}
アセンブリ手書きでもこれらの生成コードより速くできないことをx86-64で確認した
それと全く同じ動作をする関数fはこれが速さも簡潔さもベスト
fn f(condition: i64) -> Option<Ordering> {
condition.partial_cmp(&0)
}
Less/Greaterを反転させた関数f_revはこれが速さも簡潔さもベスト
fn f_rev(condition: i64) -> Option<Ordering> {
0.partial_cmp(&condition)
}
アセンブリ手書きでもこれらの生成コードより速くできないことをx86-64で確認した
500デフォルトの名無しさん
2025/04/17(木) 19:35:44.38ID:Yukgj1cx501デフォルトの名無しさん
2025/04/17(木) 19:48:15.83ID:47PJMP+S >>497
論理反転ではないからreverseだと思う
論理反転ならlt⇔ge gt⇔le eq⇔neだろうけど
Orderingはlt,eq,gtの3種
そしてOrdering::reverseはlt⇔gtだから
論理反転ではないからreverseだと思う
論理反転ならlt⇔ge gt⇔le eq⇔neだろうけど
Orderingはlt,eq,gtの3種
そしてOrdering::reverseはlt⇔gtだから
502デフォルトの名無しさん
2025/04/17(木) 22:47:28.82ID:wYSSkCRf 結局RustではC風に書くより抽象的に書いた方が、
可読性が良いだけでなく実行速度でも有利なんだな。
可読性が良いだけでなく実行速度でも有利なんだな。
503デフォルトの名無しさん
2025/04/17(木) 22:49:00.49ID:p3EBjLeO504デフォルトの名無しさん
2025/04/17(木) 23:42:56.97ID:oLU/r15m simple is best
505デフォルトの名無しさん
2025/04/17(木) 23:59:58.22ID:VFw/RNHq506デフォルトの名無しさん
2025/04/18(金) 06:24:24.51ID:cH2b3I6U なんでビルドのときからボコボコボコボコDLさせるの?
なんでアクセスさせようとするの?
なんでアクセスさせようとするの?
507デフォルトの名無しさん
2025/04/18(金) 07:02:30.53ID:AZglsXQc 他の言語も同じ
508デフォルトの名無しさん
2025/04/18(金) 07:04:06.26ID:5hEkFobl >>506
標準ライブラリだけ使っていればDLしないよ
他のライブラリを使うなら自動的に依存関係がDLされるのは当たり前
もちろん事前にDLしておけばオフラインでも cargo build −−offline できるよ
標準ライブラリだけ使っていればDLしないよ
他のライブラリを使うなら自動的に依存関係がDLされるのは当たり前
もちろん事前にDLしておけばオフラインでも cargo build −−offline できるよ
509デフォルトの名無しさん
2025/04/18(金) 07:57:54.21ID:x/7ySqvh >>505
ScalaやHaskellとかと同じ道を歩んでるな
ScalaやHaskellとかと同じ道を歩んでるな
510デフォルトの名無しさん
2025/04/18(金) 08:25:24.05ID:P5voSsBY511デフォルトの名無しさん
2025/04/18(金) 09:03:11.60ID:mYy6SV15512デフォルトの名無しさん
2025/04/18(金) 09:55:44.96ID:D+dZTohS .partial_cmp(&0) ってダサくない?
なんで
.partial_cmp(0) に出来ないの?
なんで
.partial_cmp(0) に出来ないの?
513デフォルトの名無しさん
2025/04/18(金) 10:28:07.41ID:ZAhA/Z3u 0と比較した結果をOrderingで返す関数とか無用の長物じゃね?
514デフォルトの名無しさん
2025/04/18(金) 10:32:03.94ID:D+dZTohS 確かに >>499 は無駄そのもの
515デフォルトの名無しさん
2025/04/18(金) 10:47:04.28ID:OYio1Suj >>512
出来ない
出来ない
516デフォルトの名無しさん
2025/04/18(金) 10:47:35.98ID:FSJ/87pm517デフォルトの名無しさん
2025/04/18(金) 11:56:29.53ID:iABbAYzg518デフォルトの名無しさん
2025/04/18(金) 12:06:41.66ID:l4HkHLRc >>512
初心者っぽいから説明すると
大きな構造体や文字列やBigIntなど含めた様々なデータを比較する関数だよ
参照を渡す方が良いことを理解できるよね?
もちろん数値の場合はコード上は他のデータと同じく参照を渡していても最適化で参照を使わずに数値同士が比較されるから心配しなくていい
初心者っぽいから説明すると
大きな構造体や文字列やBigIntなど含めた様々なデータを比較する関数だよ
参照を渡す方が良いことを理解できるよね?
もちろん数値の場合はコード上は他のデータと同じく参照を渡していても最適化で参照を使わずに数値同士が比較されるから心配しなくていい
519デフォルトの名無しさん
2025/04/18(金) 12:21:49.30ID:9tQNo+Cx gpt o3がバックエンドはRustがオススメです。
みたいに推してくるから、理由を聞いたら、「何にでも雑に強い」からだって開き直りよった
みたいに推してくるから、理由を聞いたら、「何にでも雑に強い」からだって開き直りよった
520デフォルトの名無しさん
2025/04/18(金) 12:25:55.76ID:LTc7knjt 可読性ですね判ります
521デフォルトの名無しさん
2025/04/18(金) 12:29:26.06ID:LQ9k+WsD 政治を嫌うやつがほしがるのは共感でも最適解でもなく、政治的ではないことが保証された解だな
だから乱数や賭博を嫌いになれないのか
だから乱数や賭博を嫌いになれないのか
522デフォルトの名無しさん
2025/04/18(金) 20:38:04.94ID:8ipzMSW5 Rustで書くとLLVMが最適化するので事実上最速のコードであることが保証されます
523デフォルトの名無しさん
2025/04/18(金) 21:32:44.78ID:LQ9k+WsD 単に競争を回避するだけならできなくはないと思うが
政治家の競争と民間企業?の競争を区別するのは無理ゲーだ
政治家の競争と民間企業?の競争を区別するのは無理ゲーだ
524デフォルトの名無しさん
2025/04/18(金) 21:55:39.18ID:U7NtBk6M >>514
それコンパイルしたらSETccとCMOVcc使って最短最速の分岐していて無駄ないよ
それコンパイルしたらSETccとCMOVcc使って最短最速の分岐していて無駄ないよ
525デフォルトの名無しさん
2025/04/19(土) 04:04:16.66ID:FhCqpqMY 【2025年最新】自然な声の音声読み上げソフト5選!AI技術で ...
https://ondoku3.com/ja/post/natural-voice-software/
※無料で5000文字まで音声合成エンジンで読み上げ可能
※音声合成エンジンは人間の声のサンプルから声質が作成されている
「Grok」が過去の会話を覚え続けるようになった--ChatGPTに追従 オフにする方法は?
2025年04月18日 05時20
http://japan.cnet.com/article/35231959/
>>「ChatGPT」やGoogleの「Gemini」も同様の記憶機能を導入している。これらのサービスも、長期的な会話履歴を保持し、ユーザーに合わせた回答が可能となっている。
※GrokはChatGPTで規制されていることも返答するようになっている
統合失調症の幻聴で半分人間半分AIと申されていた
統合失調症の幻聴で宇宙人とも話されていたのでかなり昔からできていたと思われる
※対象者【統合失調症】の考えに対しては何を考えているかは対象者【統合失調症】に聞いてみないことには意味不明⒮
https://ondoku3.com/ja/post/natural-voice-software/
※無料で5000文字まで音声合成エンジンで読み上げ可能
※音声合成エンジンは人間の声のサンプルから声質が作成されている
「Grok」が過去の会話を覚え続けるようになった--ChatGPTに追従 オフにする方法は?
2025年04月18日 05時20
http://japan.cnet.com/article/35231959/
>>「ChatGPT」やGoogleの「Gemini」も同様の記憶機能を導入している。これらのサービスも、長期的な会話履歴を保持し、ユーザーに合わせた回答が可能となっている。
※GrokはChatGPTで規制されていることも返答するようになっている
統合失調症の幻聴で半分人間半分AIと申されていた
統合失調症の幻聴で宇宙人とも話されていたのでかなり昔からできていたと思われる
※対象者【統合失調症】の考えに対しては何を考えているかは対象者【統合失調症】に聞いてみないことには意味不明⒮
526デフォルトの名無しさん
2025/04/19(土) 21:57:19.62ID:fY+o1xZs >>524
それRustのOption<Ordering>が速い理由がわかったわ
Orderingが8bitであることに加えてOption<Ordering>も8bitに抑えてる
しかもOrderingとSome(Ordering)が同じ8bit表現になるようにしている
それらにより8bitしか変化させてくれないsetCC命令をゼロ拡張や事前ゼロクリア無しに使えるわけだ
それRustのOption<Ordering>が速い理由がわかったわ
Orderingが8bitであることに加えてOption<Ordering>も8bitに抑えてる
しかもOrderingとSome(Ordering)が同じ8bit表現になるようにしている
それらにより8bitしか変化させてくれないsetCC命令をゼロ拡張や事前ゼロクリア無しに使えるわけだ
527デフォルトの名無しさん
2025/04/19(土) 22:46:36.80ID:cJmAkIgz Option が特別扱いなわけではなく、全般に空いているビットに詰め込む仕組みがあるのでいろんなところで効いてくる
528デフォルトの名無しさん
2025/04/19(土) 22:55:31.71ID:vmwnv5nR Option持たない言語や持っていても使われない言語は別途bool値などで表すしかないためOptionのような対応処理ができずに不利だね
529デフォルトの名無しさん
2025/04/19(土) 23:14:20.43ID:cJmAkIgz 詰め込む分だけ取り出すコストが生じる場合もあって、どちらが良いとは一概には言えないんだけど Rust は上手くやれてるみたいだね。
530デフォルトの名無しさん
2025/04/19(土) 23:27:11.24ID:9Z8ZvqW5 Optionを持たない流派とかどうでもいい
相性に依存したくないし
相性に依存したくないし
531デフォルトの名無しさん
2025/04/20(日) 02:35:00.94ID:q3Yzhl/7 Some(Equal)
どちらが良いとも言えない
None
どうでもいい
どちらが良いとも言えない
None
どうでもいい
532デフォルトの名無しさん
2025/04/20(日) 08:28:25.78ID:8i8LLpN+ ぬるぽ
533デフォルトの名無しさん
2025/04/20(日) 10:53:41.23ID:stub9h6D 今どきの言語だと大体は string? みたいな記法はあるし
unwrap_or や map, and_then に相当する操作も普通にできるから、 optional は実はあまり困らない
(演算子で書けるぶん、こちらのほうが記述も簡潔)
Resultは無いから、欲しい場面は結構ある
unwrap_or や map, and_then に相当する操作も普通にできるから、 optional は実はあまり困らない
(演算子で書けるぶん、こちらのほうが記述も簡潔)
Resultは無いから、欲しい場面は結構ある
534デフォルトの名無しさん
2025/04/20(日) 11:10:13.02ID:stub9h6D HaskellはリストやOption (Maybe), Tree などをモナドという構造として抽象化できると考えた
これは理論的な美しさはあるけど、実用的にはエラーハンドリングのための専用の構文があつた方が多くの場面で便利
Optionに限れば、C#やTS, Kotlin などにもそういうものがある
Resultも含めるとRustの?演算子はバランスがいいと思う
(これを monadic bind と説明せず、エラーの場合の早期リターンとして説明してる点も含めて)
これは理論的な美しさはあるけど、実用的にはエラーハンドリングのための専用の構文があつた方が多くの場面で便利
Optionに限れば、C#やTS, Kotlin などにもそういうものがある
Resultも含めるとRustの?演算子はバランスがいいと思う
(これを monadic bind と説明せず、エラーの場合の早期リターンとして説明してる点も含めて)
535デフォルトの名無しさん
2025/04/20(日) 12:25:33.06ID:q3Yzhl/7 構造ってのはコタツから出なくても向こうから勝手に押しかけてくる
たとえばCではOOPができないって言って、本当のOOP探しをする必要は全くない
それと同じ
たとえばCではOOPができないって言って、本当のOOP探しをする必要は全くない
それと同じ
536デフォルトの名無しさん
2025/04/20(日) 12:55:01.09ID:9sumJC+c 錆みたいな名前なんとかならなかったのかね
システムに使うには縁起が良くない
システムに使うには縁起が良くない
537デフォルトの名無しさん
2025/04/20(日) 13:52:39.43ID:q3Yzhl/7 とりあえず占い師をクビにして、祟りが起きたらその時に考える
これが効率化だ
これが効率化だ
538デフォルトの名無しさん
2025/04/20(日) 14:06:28.40ID:Y0fKmU/t 名前の由来もちゃんとあるから調べたらいい
539デフォルトの名無しさん
2025/04/20(日) 14:07:44.47ID:Y0fKmU/t 枯れたものでシステム作ろうとするくせに生意気な
お似合いの名前の由来じゃん
お似合いの名前の由来じゃん
540デフォルトの名無しさん
2025/04/20(日) 14:13:49.78ID:RiHDJnuQ 糖分多め
541デフォルトの名無しさん
2025/04/20(日) 15:51:30.56ID:9sumJC+c ・さび菌よる多くの病害はさび病と呼ばれ、農業・林業において重大な病害を含む
・サビの進行度によっては、チェーンリング強度低下、チェーン張力の低下、チェーン断裂のリスクなどの可能性がある
草
・サビの進行度によっては、チェーンリング強度低下、チェーン張力の低下、チェーン断裂のリスクなどの可能性がある
草
542デフォルトの名無しさん
2025/04/20(日) 15:53:22.75ID:deXhde/G 鉄は表面だけ錆びさせることで破壊が起きるような深い錆びを起こさないように出来るのだ
543デフォルトの名無しさん
2025/04/20(日) 16:27:55.26ID:2QlbS353 このスレに巣食っている信者が喧伝しているような「メモリ安全でコンパイルが通れば
バグがないことが保障される」信頼性が高い言語だから名前はTrustだ!とドヤ顔で言い切る
自信が開発者にはなかったんだろうな。
バグがないことが保障される」信頼性が高い言語だから名前はTrustだ!とドヤ顔で言い切る
自信が開発者にはなかったんだろうな。
544デフォルトの名無しさん
2025/04/20(日) 16:32:59.12ID:LRWB5aQw 開発当初にそこまで自信ないだろ
1人で作り出したのでしょ
1人で作り出したのでしょ
545デフォルトの名無しさん
2025/04/20(日) 16:35:34.71ID:LRWB5aQw ロジックのバグは開発者の責任だからね
あとCよりマシと言う所が抜けてる
Cの地獄はやったものしかわからないだろ、あれから比べたら劇的に楽に違いない
あとCよりマシと言う所が抜けてる
Cの地獄はやったものしかわからないだろ、あれから比べたら劇的に楽に違いない
546デフォルトの名無しさん
2025/04/20(日) 16:38:39.63ID:LRWB5aQw フレームワーク上でビジネスロジックしか組んでないアプリレベルの開発者には無用の長物なんだよ。
業界的にはアプリレベル開発者が80%だろうし、違いの分かり恩恵がある開発者は20%だからね
業界的にはアプリレベル開発者が80%だろうし、違いの分かり恩恵がある開発者は20%だからね
547デフォルトの名無しさん
2025/04/20(日) 17:07:39.21ID:C+zI7Cbk このスレの今盛り上がってるこのお題
プログラミングのお題スレ Part22
https://mevius.5ch.net/test/read.cgi/tech/1691038333/712
Rustだと桁違いに速く解けるみたいだけど
これは言語の差なの?
プログラミングのお題スレ Part22
https://mevius.5ch.net/test/read.cgi/tech/1691038333/712
Rustだと桁違いに速く解けるみたいだけど
これは言語の差なの?
548デフォルトの名無しさん
2025/04/20(日) 17:59:03.47ID:q3Yzhl/7 ハードウェアを固定して言語を色々変えるなら
ハードの差には絶対にならない
ハードの差には絶対にならない
549デフォルトの名無しさん
2025/04/20(日) 20:56:57.67ID:3sgfyr+I550デフォルトの名無しさん
2025/04/20(日) 22:09:40.01ID:q3Yzhl/7 課題を変えたら課題の差が計測されてしまう
既に、良い課題と悪い課題があるみたいな空気になりかけている
既に、良い課題と悪い課題があるみたいな空気になりかけている
551デフォルトの名無しさん
2025/04/20(日) 22:12:48.98ID:C+zI7Cbk >>549
他の言語で速いプログラムが出てこないのはなぜなのかなと思って
他の言語で速いプログラムが出てこないのはなぜなのかなと思って
552デフォルトの名無しさん
2025/04/20(日) 22:45:33.70ID:zDf/Vo48 速度に固執してる奴がたまたまRust信者だっただけだな
まだアルゴリズムの改善でオーダーが変わっている段階であり、細かい最適化とかの次元ではない
遅くない言語であれば十分
まだアルゴリズムの改善でオーダーが変わっている段階であり、細かい最適化とかの次元ではない
遅くない言語であれば十分
553デフォルトの名無しさん
2025/04/20(日) 22:51:31.25ID:ACqBfiTY clangでも同じにできるよね
どちらもLLVM
どちらもLLVM
554デフォルトの名無しさん
2025/04/20(日) 22:53:22.13ID:BStMFpBy rustが本当に速かったらもっと普及したと思う
555デフォルトの名無しさん
2025/04/20(日) 22:57:10.24ID:ACqBfiTY CやFORTRANより速くはならんからな
556デフォルトの名無しさん
2025/04/20(日) 23:05:02.71ID:3sgfyr+I こういうミクロなベンチマークは速度を追求すると最終的には拡張命令等によるハードウェア依存の最適化に行き着くから、Rustに勝ち目はない
一応Rustコンパイラを使い続けながら最速に到達することは可能かもしれないが、もはやRustとは呼べない何かになる
一応Rustコンパイラを使い続けながら最速に到達することは可能かもしれないが、もはやRustとは呼べない何かになる
557デフォルトの名無しさん
2025/04/20(日) 23:16:39.25ID:fDFjIRaB インラインでsseして頑張ろう
558デフォルトの名無しさん
2025/04/20(日) 23:24:22.62ID:R/7Xf2QC559デフォルトの名無しさん
2025/04/20(日) 23:37:04.43ID:fDFjIRaB 知ってる知ってる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 高市早苗首相が天理教系企業に“巨額発注” 総額5000万円 本人は「政治団体の活動に必要な支出」と回答 ★2 [Hitzeschleier★]
- 小島瑠璃子さん、代表取締役を務める会社を破産申請 [牛丼★]
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 ★3 [少考さん★]
- 橘こぉた来いや!!!
- 【悲報】ジャップ、日中戦争に賛成が5割弱...軍歌の音が聞こえる... [856698234]
- 隣の部屋のデブがこっちにまで聞こえる声量でアクビするのがストレスなんだけどマジで死んでくれないかな
- 【乞食速報】プロクオリティ ビーフカレー 96食 4262円 [268244553]
- 【悲報】小泉防衛大臣、中国のレーダー照射事件をNATO事務総長に報告 [834922174]
- 【高市悲報】石破さん、有能だった模様.. [308389511]
