「C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」
っていうスレ。
前スレ: 結局C++とRustってどっちが良いの?
https://mevius.5ch.net/test/read.cgi/tech/1677286186/
結局C++とRustってどっちが良いの? 2traits
■ このスレッドは過去ログ倉庫に格納されています
2023/04/02(日) 00:42:57.53ID:W9/nq+tL
409デフォルトの名無しさん
2023/04/23(日) 00:35:50.04ID:s119dOFU >>408
例えばURL全体を受け取ってパースした結果の部分文字列を保持する場合とか
JavaとC#は全部Stringにするから関係ないけどRustで同じことをしようとしたときに
本体のStringと一緒に部分文字列の&strを持ちたいと考えるかもしれない
あと?を2つ重ねるとなんか頭悪そうに感じるからやめたほうが…
例えばURL全体を受け取ってパースした結果の部分文字列を保持する場合とか
JavaとC#は全部Stringにするから関係ないけどRustで同じことをしようとしたときに
本体のStringと一緒に部分文字列の&strを持ちたいと考えるかもしれない
あと?を2つ重ねるとなんか頭悪そうに感じるからやめたほうが…
410デフォルトの名無しさん
2023/04/23(日) 00:46:01.33ID:XReMgABv411デフォルトの名無しさん
2023/04/23(日) 00:52:26.01ID:hjyESha+ オブジェクト指向全く関係ないな
412デフォルトの名無しさん
2023/04/23(日) 03:53:33.10ID:a38AwUhr413デフォルトの名無しさん
2023/04/23(日) 08:58:13.51ID:XDoVkNXv414デフォルトの名無しさん
2023/04/23(日) 09:05:15.73ID:mbhtlP00 デッドロックはデータ競合ではなく無関係
デッドロックはロック順序を守ることで防ぐ
デッドロックはロック順序を守ることで防ぐ
415デフォルトの名無しさん
2023/04/23(日) 09:57:26.70ID:yqsq+eY1 rustコンパイラじゃ防げない
416デフォルトの名無しさん
2023/04/23(日) 10:01:44.66ID:bH2G2Xj3 Rust初心者だけど、シングルスレッドでしか動かさない場合にも、
マルチスレッドで起きるデータ競合を気にしてるってことよね
それはめんどくさくない?
マルチスレッドで起きるデータ競合を気にしてるってことよね
それはめんどくさくない?
417デフォルトの名無しさん
2023/04/23(日) 10:07:31.97ID:yqsq+eY1 気にしてるのはコンパイラ
418デフォルトの名無しさん
2023/04/23(日) 10:21:19.31ID:mWycOQ2H419デフォルトの名無しさん
2023/04/23(日) 10:47:08.19ID:SLeXOLnV ライブラリがマルチスレッドかもしれんだろ、そういうとこ油断しちゃだめだw
420デフォルトの名無しさん
2023/04/23(日) 10:59:51.10ID:yqsq+eY1421デフォルトの名無しさん
2023/04/23(日) 11:05:41.04ID:5RizofHX422デフォルトの名無しさん
2023/04/23(日) 11:26:29.64ID:L76w/S48 フリーソフトで遊んでる場合にも、お金に関する問題を気にしてる奴が一番めんどくさいぞ
423デフォルトの名無しさん
2023/04/23(日) 11:41:38.27ID:SLeXOLnV 各社だいたい優秀なんだろうけど、飲酒コーディングするような香具師も混じってるってことだよ
デバフだデバフw
デバフだデバフw
424デフォルトの名無しさん
2023/04/23(日) 11:45:11.86ID:s119dOFU 参照のread-writeロックもどきは↓みたいなコードを防いでる
fn main() {
let mut a = vec![42];
let r = &a[0];
println!("{r}"); // 42
a.clear();
println!("{r}"); // もういないよ
}
fn main() {
let mut a = vec![42];
let r = &a[0];
println!("{r}"); // 42
a.clear();
println!("{r}"); // もういないよ
}
425デフォルトの名無しさん
2023/04/23(日) 13:20:52.91ID:L76w/S48 a[0]をコピーまたはcloneできる場合にも&a[0]を使うのはめんどくさい
Tをコピーまたはcloneできる場合にもRefCell<T>を使うのはめんどくさい
Tをコピーまたはcloneできる場合にもRefCell<T>を使うのはめんどくさい
426デフォルトの名無しさん
2023/04/23(日) 13:21:04.29ID:XDoVkNXv >>409-410
Rust の hoge()? って頭悪そうだよな
Rust の hoge()? って頭悪そうだよな
427デフォルトの名無しさん
2023/04/23(日) 13:43:48.93ID:s119dOFU C#は
int? hoge = null;
int fuga = hoge ?? -1;
まで進歩してるからhoge()?くらいなら余裕
int? hoge = null;
int fuga = hoge ?? -1;
まで進歩してるからhoge()?くらいなら余裕
428デフォルトの名無しさん
2023/04/23(日) 18:41:22.14ID:y593Lq73 C/C++ で安全なコードを描ける人からすれば Rust なんてホント苦行でしかない
全然生産性上がらないぞω
全然生産性上がらないぞω
429デフォルトの名無しさん
2023/04/23(日) 19:13:33.85ID:1wjDCw27430デフォルトの名無しさん
2023/04/23(日) 20:15:54.20ID:njNVQguc C/C++で安全なコードを描けると思ってるやつはもはやレガシープログラマー
431デフォルトの名無しさん
2023/04/23(日) 20:20:12.47ID:Rh211EN3 つまり結局のところRustは苦しいと
そう思わないやつはC++で安全なコードを書けると思い込んでいる人であると
それか大したプログラムを書いたことがないか
そう思わないやつはC++で安全なコードを書けると思い込んでいる人であると
それか大したプログラムを書いたことがないか
432デフォルトの名無しさん
2023/04/23(日) 20:38:12.61ID:SLeXOLnV 酷い目に遭ったことがないんだろう
慣れるまでに、自分が踏み抜いたり、他人が踏み抜いたとばっちりを食ったりするんだけどね
ごりごり汗が書けるやつは、たしかにレガシ コーダだな
ちゃんと書けるなら、レガシにしてレジェンド
慣れるまでに、自分が踏み抜いたり、他人が踏み抜いたとばっちりを食ったりするんだけどね
ごりごり汗が書けるやつは、たしかにレガシ コーダだな
ちゃんと書けるなら、レガシにしてレジェンド
433デフォルトの名無しさん
2023/04/23(日) 20:42:24.61ID:L76w/S48 Cは複雑なGUIを作らず、スクリプトのインタプリタを作るから結構安全だ
外見重視でインタプリタ言語嫌いなOOPが危ない
外見重視でインタプリタ言語嫌いなOOPが危ない
434デフォルトの名無しさん
2023/04/23(日) 22:43:02.30ID:9nArI2JN >>425
コピーできる型でコピーが望ましいならそうすればいいだけだぞ
シーケンシャルにポインタを進めていく方が望ましい時はコピー可能か否かに関係なく参照のイテレータを使えばいい
コピーできる型で内部可変性が欲しいならばRefCellではなくCellを使え
コピーできる型でコピーが望ましいならそうすればいいだけだぞ
シーケンシャルにポインタを進めていく方が望ましい時はコピー可能か否かに関係なく参照のイテレータを使えばいい
コピーできる型で内部可変性が欲しいならばRefCellではなくCellを使え
435デフォルトの名無しさん
2023/04/23(日) 22:48:39.88ID:9nArI2JN436デフォルトの名無しさん
2023/04/23(日) 23:07:42.53ID:yqsq+eY1 「C/C++ で安全なコードを描ける」=「メモリ問題やデータ競合の無」く書ける
なのでは?
経験を積むと書けるようになるよ
なのでは?
経験を積むと書けるようになるよ
437デフォルトの名無しさん
2023/04/23(日) 23:31:52.59ID:/tirlZFd >>436
その根拠のない自信とミスが多くのバグとセキュリティホールを生んできた
一方で経験を積んだ者ならばC++でもRustでもどちらのコードも書けることも事実その通りだ
ならば客観的に各種問題のないことが保証されているRustのコードの方が選ばれる
その根拠のない自信とミスが多くのバグとセキュリティホールを生んできた
一方で経験を積んだ者ならばC++でもRustでもどちらのコードも書けることも事実その通りだ
ならば客観的に各種問題のないことが保証されているRustのコードの方が選ばれる
438デフォルトの名無しさん
2023/04/23(日) 23:38:05.13ID:s119dOFU 経験を積むと安全なコードを書けると言ってる人は過去に書かれたコードのメンテとかも経験してるんだろうか
当然前後のコードを全て確認したうえで安全なコードを書いてきたんだろうけど
確認作業の範囲を少しでも減らしたいとか考えたことないのかな
当然前後のコードを全て確認したうえで安全なコードを書いてきたんだろうけど
確認作業の範囲を少しでも減らしたいとか考えたことないのかな
439デフォルトの名無しさん
2023/04/23(日) 23:54:04.28ID:FpD4OybJ 俺がRustへ移った理由もそれ
開発でも保守や更新でも言語システムが自動的に確認作業をやってくれる
こちらはビジネスロジックのテストだけに専念できて非常に効率がいい
開発でも保守や更新でも言語システムが自動的に確認作業をやってくれる
こちらはビジネスロジックのテストだけに専念できて非常に効率がいい
440デフォルトの名無しさん
2023/04/23(日) 23:55:54.84ID:yqsq+eY1441デフォルトの名無しさん
2023/04/23(日) 23:56:47.54ID:yqsq+eY1 >>438,439
他人のコードについての見解は一理あると思う
他人のコードについての見解は一理あると思う
442デフォルトの名無しさん
2023/04/23(日) 23:57:54.34ID:yqsq+eY1 翻って>>382だな
443デフォルトの名無しさん
2023/04/24(月) 00:16:29.06ID:TbIWWoB3 経験深いC++プログラマーにとって、Rustは難しいものでもなく特にウザいものでもないよなあ。
部分的に各片方が書きやすい面もあるが、フィフティフィフティでどちらにも分はある。
結局Rustコンパイラが色々と保証してくれる信頼性と効率性だけが決定的な差異で、Rustへ進む流れだろな。
部分的に各片方が書きやすい面もあるが、フィフティフィフティでどちらにも分はある。
結局Rustコンパイラが色々と保証してくれる信頼性と効率性だけが決定的な差異で、Rustへ進む流れだろな。
444デフォルトの名無しさん
2023/04/24(月) 00:17:39.52ID:5FvgLQUn 完璧なC++のコードを書けるやつならまぁそうすればいいけど、同僚も完璧に書けるかな?って話だよな
同僚も完璧なのが書ける? でも同僚もお前のことを「完璧に書ける奴」と認識してるとは限らない
そんで慢心の発生は自分自身を完璧と信じてるかと関係なく起こるわけで
同僚も完璧なのが書ける? でも同僚もお前のことを「完璧に書ける奴」と認識してるとは限らない
そんで慢心の発生は自分自身を完璧と信じてるかと関係なく起こるわけで
445デフォルトの名無しさん
2023/04/24(月) 00:25:06.29ID:6UK4+7Cd 普通にGC付きの言語を使えばそんなウジウジしなくていいのに
システムプログラマ以外にはrustもC++も縁遠い
システムプログラマ以外にはrustもC++も縁遠い
446デフォルトの名無しさん
2023/04/24(月) 00:29:33.47ID:6UK4+7Cd 速度を抜きにしてc++の利点は生ポインタを使って直感的にコードを書けたりするところにもあったと思う
それが今は捨てられたのでまあ他の言語でもいいじゃんと思う
それが今は捨てられたのでまあ他の言語でもいいじゃんと思う
447デフォルトの名無しさん
2023/04/24(月) 00:40:24.53ID:/2/+f4dj >>445
従来の非GC言語と比べて
Rustは以下の点でGC言語に近くなっていて書きやすいわー
・メモリや競合など色んなことをRustは安全だと保証してくれる
・メモリ解放も常に何もしなくてよくてRustは完全に自動でやってくれる
・各GC言語のモダンな機能がRustも取り入れていて便利に使える
という感じ
対象言語やコードによっては数倍Rustが速くて
エコでリソースコストも少なくて金銭的コストも数分の1になるのが魅力的
従来の非GC言語と比べて
Rustは以下の点でGC言語に近くなっていて書きやすいわー
・メモリや競合など色んなことをRustは安全だと保証してくれる
・メモリ解放も常に何もしなくてよくてRustは完全に自動でやってくれる
・各GC言語のモダンな機能がRustも取り入れていて便利に使える
という感じ
対象言語やコードによっては数倍Rustが速くて
エコでリソースコストも少なくて金銭的コストも数分の1になるのが魅力的
448デフォルトの名無しさん
2023/04/24(月) 00:40:47.69ID:47nwKPG1 C++にあってRustにない特徴はCを包含していること
Rust派は欠点と考えているだろうが
この特徴がなければ普及しなかっただろうね
ハゲの慧眼だよ
Rust派は欠点と考えているだろうが
この特徴がなければ普及しなかっただろうね
ハゲの慧眼だよ
449デフォルトの名無しさん
2023/04/24(月) 01:05:01.61ID:GFnVwc83450デフォルトの名無しさん
2023/04/24(月) 04:53:42.06ID:7IjMEuJY 個人的には、Rustは、メモリ安全であると言う以外に魅力は無いと思ってる。
しかも、Java、C#、JS、Ruby、PHP、Perl、Python、Kotlin、Go
は全てメモリー安全。
しかも、Java、C#、JS、Ruby、PHP、Perl、Python、Kotlin、Go
は全てメモリー安全。
451デフォルトの名無しさん
2023/04/24(月) 04:56:59.60ID:7IjMEuJY それに、C++やCでずっとプログラミングしているが、メモリー関連バグが
生じる頻度は非常に低い。大部分はロジックのバグで、少しずつテストを
するのでその段階で取れることが多い。
メモリー関連バグが起きる場合でも、VisualStudioでは容易に原因箇所が
発見できることが多い。
特にC++では、デストラクタの中に ポインタ型のメンバ変数の delete 文を
書いておけば、メモリー関連バグはまず起きない。
その意味では、C++は、それで賄えない特殊な場合を除いては、メモリー解放が
自動化されていると言える。
生じる頻度は非常に低い。大部分はロジックのバグで、少しずつテストを
するのでその段階で取れることが多い。
メモリー関連バグが起きる場合でも、VisualStudioでは容易に原因箇所が
発見できることが多い。
特にC++では、デストラクタの中に ポインタ型のメンバ変数の delete 文を
書いておけば、メモリー関連バグはまず起きない。
その意味では、C++は、それで賄えない特殊な場合を除いては、メモリー解放が
自動化されていると言える。
452デフォルトの名無しさん
2023/04/24(月) 05:04:26.63ID:7IjMEuJY メモリー関連バグは、VisualStudioではコンパイル段階での静的な発見は一般的
には出来ないが、動的には、デバッガを使うことでかなり高い確率でメモリー
関連バグの原因箇所が分かる様になっている。
昔、C言語を使っていて、メモリー関連バグで困るのは、全く原因が分からないような
ことがありえることであったが、C++では、classのデストラクタの中にdelete文を
閉じ込めることによって、メモリー解放が自動化される。
だから、メモリー関連バグが起きるのは、それでまかなえない場合に限る。
同じ関数の上の方とnew文と下の方でdelete文を単純に対応させて書けば
「どう見ても安全」のような書き方ができる。
また、それで書けない場合でも、delete文を、EndXxx()のような「終了関数」
の中だけに書く様にすれば、滅多なことでメモリー関連バグは入らない。
これでも原因不明なメモリー関連バグが起きた場合でも、VisualStudioの
場合はあの手この手で、メモリー関連バグの原因を動的検査で特定し易くなっている。
には出来ないが、動的には、デバッガを使うことでかなり高い確率でメモリー
関連バグの原因箇所が分かる様になっている。
昔、C言語を使っていて、メモリー関連バグで困るのは、全く原因が分からないような
ことがありえることであったが、C++では、classのデストラクタの中にdelete文を
閉じ込めることによって、メモリー解放が自動化される。
だから、メモリー関連バグが起きるのは、それでまかなえない場合に限る。
同じ関数の上の方とnew文と下の方でdelete文を単純に対応させて書けば
「どう見ても安全」のような書き方ができる。
また、それで書けない場合でも、delete文を、EndXxx()のような「終了関数」
の中だけに書く様にすれば、滅多なことでメモリー関連バグは入らない。
これでも原因不明なメモリー関連バグが起きた場合でも、VisualStudioの
場合はあの手この手で、メモリー関連バグの原因を動的検査で特定し易くなっている。
453デフォルトの名無しさん
2023/04/24(月) 05:06:00.35ID:7IjMEuJY CやC++でメモリー関連バグに悩まされている人は、gccなどのフリーのコンパイラ
を使っている人ではないかと思う。
Visual StudioのIDEとデバッガを使えば、メモリー関連バグで悩むことは滅多に
なくなる。
それと、C++の場合は、正しい流儀で書けば、そもそもメモリー関連バグが
入り込む可能性が劇的に減る。
を使っている人ではないかと思う。
Visual StudioのIDEとデバッガを使えば、メモリー関連バグで悩むことは滅多に
なくなる。
それと、C++の場合は、正しい流儀で書けば、そもそもメモリー関連バグが
入り込む可能性が劇的に減る。
454デフォルトの名無しさん
2023/04/24(月) 05:12:08.93ID:7IjMEuJY gccとVisual Studioのメモリー安全性に関する違いは、ヒープメモリに対しての
さまざまな工夫に有る。プログラマが明示的に初期化して無い部分には 0xcccccccc
のようなデータで初期化するコードをコンパイラが書きこむ。
それに、ヒープメモリーのリンクチェーンにも何らかの工夫がされている。
「デバッグビルド」では、そういった構造を、適切なタイミングでチェックする
コードが自動的に付加されるので、「おかしなことをやった直後に近いタイミングで」
IDEが「異常」を報告してくれる。
また、MFCの場合は、さまざまな場所にASSERT() 文で検査コードを入れてあるので、
メモリー関連バグも気付き易い。なんらかの異常は、早い段階で発覚するので、
原因がどこにあるかが特定し易くなっている。
このおかげで、多くの場合は、異常が発見された直前の処理を疑えばよくなっている。
さまざまな工夫に有る。プログラマが明示的に初期化して無い部分には 0xcccccccc
のようなデータで初期化するコードをコンパイラが書きこむ。
それに、ヒープメモリーのリンクチェーンにも何らかの工夫がされている。
「デバッグビルド」では、そういった構造を、適切なタイミングでチェックする
コードが自動的に付加されるので、「おかしなことをやった直後に近いタイミングで」
IDEが「異常」を報告してくれる。
また、MFCの場合は、さまざまな場所にASSERT() 文で検査コードを入れてあるので、
メモリー関連バグも気付き易い。なんらかの異常は、早い段階で発覚するので、
原因がどこにあるかが特定し易くなっている。
このおかげで、多くの場合は、異常が発見された直前の処理を疑えばよくなっている。
455デフォルトの名無しさん
2023/04/24(月) 05:45:34.11ID:7IjMEuJY SNSで、「オブジェクト指向は意味が無く、むしろ駄目」というような話題が
出ることがあるが、C++のclassのデストラクタは、メモリー安全性に大きく
寄与しており、Cよりもメモリー安全になっている。
逆にclassがなければ、メモリー管理にバグが入りやすかったことであろう。
それだけでも、「オブジェクト指向」の意味がある。
出ることがあるが、C++のclassのデストラクタは、メモリー安全性に大きく
寄与しており、Cよりもメモリー安全になっている。
逆にclassがなければ、メモリー管理にバグが入りやすかったことであろう。
それだけでも、「オブジェクト指向」の意味がある。
456デフォルトの名無しさん
2023/04/24(月) 07:52:58.48ID:HpPlDS3N 気をつければ大丈夫というのはプログラマーの考え方ではない
少なくとも向いてない
少なくとも向いてない
457デフォルトの名無しさん
2023/04/24(月) 08:08:18.28ID:y0BYTv6v c++erにとってRustはウザいけど、他人にライフタイム管理を強制できるというメリットが大きい。
基本的にRustは他人にやらせるための言語。
基本的にRustは他人にやらせるための言語。
458デフォルトの名無しさん
2023/04/24(月) 08:23:30.04ID:5e4ZDdTw ツールやコンパイラがいろいろやってくれる優位性を語っておいて
Rustの利点に目をむけないって意味わからんなあ
Rustの利点に目をむけないって意味わからんなあ
459デフォルトの名無しさん
2023/04/24(月) 08:50:49.89ID:r05pWbWI セキュアコーディングについて、誰かがキメてくれるというのがデカい
Rustはそれをやったんだ
欲しいのはunsafeのやり方であって、それができるんならC++でもいいんだよ
そうと決まれば、処理系も実装者もどんどん追従する
だから、採用すると言い切ったんだから、APIもとっととRust化してほしい
そうしたら速攻で、unsafeがC++にも来る
Rustはそれをやったんだ
欲しいのはunsafeのやり方であって、それができるんならC++でもいいんだよ
そうと決まれば、処理系も実装者もどんどん追従する
だから、採用すると言い切ったんだから、APIもとっととRust化してほしい
そうしたら速攻で、unsafeがC++にも来る
460デフォルトの名無しさん
2023/04/24(月) 09:49:02.72ID:47nwKPG1461デフォルトの名無しさん
2023/04/24(月) 10:03:11.22ID:Tyw8xG0A Rustを難しいとかウザいとか言ってる人は単にまだ慣れていなかったり知識が足りていないだけだ
C++できちんとコーディングできていた人にとってRustは難しくなく慣れと知識を獲得した後はC++よりも全体効率がアップする
したがってRustを難しいとかウザいとか言ってる人の発言は全て無視してよい
C++できちんとコーディングできていた人にとってRustは難しくなく慣れと知識を獲得した後はC++よりも全体効率がアップする
したがってRustを難しいとかウザいとか言ってる人の発言は全て無視してよい
462デフォルトの名無しさん
2023/04/24(月) 10:18:34.43ID:47nwKPG1463デフォルトの名無しさん
2023/04/24(月) 10:33:40.77ID:r05pWbWI >>1 のとおり、職務とかでやれといわれたらやるんだけど、
Rust勢がいうとおり、デファクトスタンダードになりそうなら、C++にもほぼ間違いなく「来る」だろうしねえ
それなら、安全になったC++でいいや、Rustに限らず、新言語とかたりぃな、とかは思う
新言語覚えるかわりに、安全になったC++勉強しなきゃだし、と言ってもいい
Rust勢がいうとおり、デファクトスタンダードになりそうなら、C++にもほぼ間違いなく「来る」だろうしねえ
それなら、安全になったC++でいいや、Rustに限らず、新言語とかたりぃな、とかは思う
新言語覚えるかわりに、安全になったC++勉強しなきゃだし、と言ってもいい
464デフォルトの名無しさん
2023/04/24(月) 10:39:05.54ID:6eJhjjay C++とRustの比較は簡単
両方使いこなせるプログラマーはどちらを選んでいるか?
・多くのことをコンパイラに任せられて開発保守効率の良いRust
・その逆でそれらの開発保守効率に劣るC++
企業はどちらを選んでいくか?
・客観的に各種の安全性が保証されるRustで書かれたコード
・その逆で各プログラマーの腕により保証されるC++で書かれたコード
プログラマーと企業どちらの視点に立っても
RustもC++も選べる環境状況にあるならば
新規のプロジェクト(案件)でC++を採用する動機は完全に無くなった
両方使いこなせるプログラマーはどちらを選んでいるか?
・多くのことをコンパイラに任せられて開発保守効率の良いRust
・その逆でそれらの開発保守効率に劣るC++
企業はどちらを選んでいくか?
・客観的に各種の安全性が保証されるRustで書かれたコード
・その逆で各プログラマーの腕により保証されるC++で書かれたコード
プログラマーと企業どちらの視点に立っても
RustもC++も選べる環境状況にあるならば
新規のプロジェクト(案件)でC++を採用する動機は完全に無くなった
465デフォルトの名無しさん
2023/04/24(月) 10:47:20.17ID:47nwKPG1 >>464
企業の視点に立つとRustはプログラマが確保できんだろw
企業の視点に立つとRustはプログラマが確保できんだろw
466デフォルトの名無しさん
2023/04/24(月) 10:56:55.08ID:ffYEYeml dropboxは2,3年前にRust一部導入でオジにもてはやされたけど、直近はGoなんだよね
https://dropbox.tech/frontend/edison-webserver-a-faster-more-powerful-dropbox-on-the-web
https://dropbox.tech/frontend/edison-webserver-a-faster-more-powerful-dropbox-on-the-web
467デフォルトの名無しさん
2023/04/24(月) 11:02:11.39ID:STeINRL5 急速に解決していってるからあとわずかな時間の問題かな
C++しかできない人が既存C++コード保守に群がる構図になっていくんだろうね
C++しかできない人が既存C++コード保守に群がる構図になっていくんだろうね
468デフォルトの名無しさん
2023/04/24(月) 11:19:03.31ID:r05pWbWI あと、C++一本でだいたいなんでも回してる俺のようなアマ
(安全になってくれたら)C++でいいやもう的な
(安全になってくれたら)C++でいいやもう的な
469デフォルトの名無しさん
2023/04/24(月) 11:28:23.43ID:FCtgfage470デフォルトの名無しさん
2023/04/24(月) 11:32:07.93ID:aN7Wz4JN VSでメモリ安全性に関わるバグを見つけるのが簡単なら
毎月毎月クリティカルなパッチが出る訳がないわな
MSスタックで満足してるうちは井の中の蛙なんだよね
初級者でもビジュアルに分かりやすくデバッグできるように作ってるのがVSなんだから
毎月毎月クリティカルなパッチが出る訳がないわな
MSスタックで満足してるうちは井の中の蛙なんだよね
初級者でもビジュアルに分かりやすくデバッグできるように作ってるのがVSなんだから
471デフォルトの名無しさん
2023/04/24(月) 11:35:12.19ID:47nwKPG1472デフォルトの名無しさん
2023/04/24(月) 11:38:34.52ID:6AbaMjz7 流行り廃りの激しい表層部分がUXの中核だからな
2,3年前のRust分散同期ファイルシステム
→若気の至り、もう弄らない、保守だけ
これから10年
>How Dropbox re-wrote its core web serving stack for the next decade
→Rustは不採用、Goで決定
2,3年前のRust分散同期ファイルシステム
→若気の至り、もう弄らない、保守だけ
これから10年
>How Dropbox re-wrote its core web serving stack for the next decade
→Rustは不採用、Goで決定
473デフォルトの名無しさん
2023/04/24(月) 12:02:37.33ID:r/rb76Fw474デフォルトの名無しさん
2023/04/24(月) 12:10:50.29ID:BH9ZYQVS GoのWebフレームワークのコミュニティは標準ライブラリでかけ勢がおおくて、こいつらについて行くの不安になったからRust勉強する
Rustは頑張ってフレームワーク作る気がありそう
無能に優しくしない言語は伸びないよ
Rustは頑張ってフレームワーク作る気がありそう
無能に優しくしない言語は伸びないよ
475デフォルトの名無しさん
2023/04/24(月) 12:14:12.33ID:EfxyAoTl Rust信者の期待に反して、現実はこんな感じでしょう
2,3年前、インフラのごく一部でRustでも問題ない適用事例があった→今は技術的負債
当然、他の分野(webで言えばfront/back両方)ではRustは不採用
wasmとか勘違いしてごめんなさい
Pythonの置き換えはRustには無理
2,3年前、インフラのごく一部でRustでも問題ない適用事例があった→今は技術的負債
当然、他の分野(webで言えばfront/back両方)ではRustは不採用
wasmとか勘違いしてごめんなさい
Pythonの置き換えはRustには無理
476デフォルトの名無しさん
2023/04/24(月) 12:26:21.82ID:e/3EEseX C++とRustの比較スレで
新インフラ(分散同期ファイルシステ厶)構築にC++ではなくRustが採用されたDropboxの話をRustアンチが持ち出してる時点で
C++とRustの勝敗はついてしまってるなw
新インフラ(分散同期ファイルシステ厶)構築にC++ではなくRustが採用されたDropboxの話をRustアンチが持ち出してる時点で
C++とRustの勝敗はついてしまってるなw
477デフォルトの名無しさん
2023/04/24(月) 12:28:56.90ID:sBa8SLwy ディフェンスラインが後退したな
478デフォルトの名無しさん
2023/04/24(月) 12:41:41.74ID:pPYkUROK このスレ眺めていてもC++のメリットが一つも出てこないもんね
『他の言語を覚えるのは面倒、C++を使ってきたからC++だ』という理由ばかり
『他の言語を覚えるのは面倒、C++を使ってきたからC++だ』という理由ばかり
479デフォルトの名無しさん
2023/04/24(月) 12:45:26.61ID:LQT8UQ2a C++製の既存ライブラリが100%使える
480デフォルトの名無しさん
2023/04/24(月) 12:48:27.02ID:47nwKPG1 C++はCを包含している
C++を習得すればCを別に習得する必要はない
Rustを取得してもCを別に習得する必要がある
C++を習得すればCを別に習得する必要はない
Rustを取得してもCを別に習得する必要がある
481デフォルトの名無しさん
2023/04/24(月) 13:24:51.24ID:oJZi7e8k Rustってインラインアセンブラは使えないの?
482デフォルトの名無しさん
2023/04/24(月) 13:28:00.07ID:7/BbosrR483デフォルトの名無しさん
2023/04/24(月) 13:29:40.61ID:efl+P1hN gccのimplicit-constexpr凄すぎ
>no leaks, no UB
https://www.reddit.com/r/cpp/comments/12hdj3x/c20safety_static_assert_is_all_you_need_no_leaks/
https://godbolt.org/z/Ydc886bjq
最初のバージョンの実装ミスもコンパイルエラー
>didn't compile with 3 push_backs
3年ごとの進化が半端ない
>>459
逆にsafeexpr/safefuncが出来て、しかもimplicit-(un)safeでコンパイル時に自動推論してくれそう
>no leaks, no UB
https://www.reddit.com/r/cpp/comments/12hdj3x/c20safety_static_assert_is_all_you_need_no_leaks/
https://godbolt.org/z/Ydc886bjq
最初のバージョンの実装ミスもコンパイルエラー
>didn't compile with 3 push_backs
3年ごとの進化が半端ない
>>459
逆にsafeexpr/safefuncが出来て、しかもimplicit-(un)safeでコンパイル時に自動推論してくれそう
484デフォルトの名無しさん
2023/04/24(月) 13:30:26.73ID:47nwKPG1485デフォルトの名無しさん
2023/04/24(月) 13:34:04.01ID:TWsTM1y7 >>446
unsafe 大好き💛
unsafe 大好き💛
486デフォルトの名無しさん
2023/04/24(月) 13:35:31.02ID:TWsTM1y7487デフォルトの名無しさん
2023/04/24(月) 13:38:41.99ID:Ny7AY3un488デフォルトの名無しさん
2023/04/24(月) 13:39:21.83ID:47nwKPG1489デフォルトの名無しさん
2023/04/24(月) 13:41:37.19ID:47nwKPG1 ちょっと聞いてみるか
Rustではある程度書けるけどC言語では書けない人っている?
Rustではある程度書けるけどC言語では書けない人っている?
490デフォルトの名無しさん
2023/04/24(月) 13:41:45.01ID:TWsTM1y7 >>457
ほんそれ
ほんそれ
491デフォルトの名無しさん
2023/04/24(月) 13:42:39.88ID:TWsTM1y7 >>458
白目はむいてる
白目はむいてる
492デフォルトの名無しさん
2023/04/24(月) 13:44:58.25ID:TWsTM1y7493デフォルトの名無しさん
2023/04/24(月) 13:46:10.70ID:fzC19LDc >>483
C++版geigerが出来てsafeに修正していく未来案件が見えて来たw
C++版geigerが出来てsafeに修正していく未来案件が見えて来たw
494デフォルトの名無しさん
2023/04/24(月) 14:08:38.59ID:fomPRld0495デフォルトの名無しさん
2023/04/24(月) 14:13:20.49ID:LQT8UQ2a テンプレートは変換のしようもなく全滅ですが
496デフォルトの名無しさん
2023/04/24(月) 14:19:07.70ID:47nwKPG1 >>495
それは例外を遥かに越えて痛いね
それは例外を遥かに越えて痛いね
497デフォルトの名無しさん
2023/04/24(月) 14:20:27.48ID:r05pWbWI498デフォルトの名無しさん
2023/04/24(月) 14:34:55.91ID:F/4o+lBw >>494
Rustは例外処理がネックだよな(Rustに限らないけど)
現実には xor rax,rax ですら例外が発生し得るから
async exception handlerをSEHでzero overheadで
実行ファイルに記述する仕組みを(64bit-)OSが提供しているのに
Rustは例外処理がネックだよな(Rustに限らないけど)
現実には xor rax,rax ですら例外が発生し得るから
async exception handlerをSEHでzero overheadで
実行ファイルに記述する仕組みを(64bit-)OSが提供しているのに
499デフォルトの名無しさん
2023/04/24(月) 14:44:47.56ID:8iJzzYCL500デフォルトの名無しさん
2023/04/24(月) 14:53:54.93ID:ndm5HuNo Rustは余り普及しないのでは。
501デフォルトの名無しさん
2023/04/24(月) 14:59:09.48ID:RJ/B3o+B502デフォルトの名無しさん
2023/04/24(月) 15:09:12.38ID:OTXlubpx おいおい馬鹿はお前w
レイヤが異なろうがどんなに泥臭かろうがシステム言語の宿命
Rustはシステムプログラミングの何たるかを言語設計の初期段階で考慮していない
CPU例外(≒非同期例外)を構造的にキャッチ出来ない出来損ないシステム言語w
レイヤが異なろうがどんなに泥臭かろうがシステム言語の宿命
Rustはシステムプログラミングの何たるかを言語設計の初期段階で考慮していない
CPU例外(≒非同期例外)を構造的にキャッチ出来ない出来損ないシステム言語w
503デフォルトの名無しさん
2023/04/24(月) 15:28:07.95ID:N3ScgGCG >>502
RustはCPU例外も割り込みも扱えます
Rustは組み込み用途やOS作成などシステムプログラミングにも使えるように設計されています
Rust(やGoなどの言語)がエラーハンドリングの例外機構を非効率なものとして排除していることとは全く無関係です
RustはCPU例外も割り込みも扱えます
Rustは組み込み用途やOS作成などシステムプログラミングにも使えるように設計されています
Rust(やGoなどの言語)がエラーハンドリングの例外機構を非効率なものとして排除していることとは全く無関係です
504デフォルトの名無しさん
2023/04/24(月) 15:31:17.42ID:RVkZAaib Rustは設計段階ではシステム言語のつもりじゃなかったのでは?
言語構文で非同期例外を扱えないのは野暮ったいし
言語構文で非同期例外を扱えないのは野暮ったいし
505デフォルトの名無しさん
2023/04/24(月) 15:40:24.08ID:YPGUiUuq >>503 RustはCPU例外も割り込みも扱えます... エラーハンドリングの例外機構を非効率なもの
まあPythonですら扱えます、と言うだろうし、非効率ってw?
なんか色々と498が意味するところの理解が追いつかないようだね
講釈するつもりはないから自分で調べてね
まあPythonですら扱えます、と言うだろうし、非効率ってw?
なんか色々と498が意味するところの理解が追いつかないようだね
講釈するつもりはないから自分で調べてね
506デフォルトの名無しさん
2023/04/24(月) 16:01:06.96ID:aocmIDBf C++の例外は実は途中の関数の各スタックフレームを全て処理してから実行されるため非常に遅い
なぜそうしているかというと途中の各関数で全てデストラクタ処理をしないと正しい継続動作ができないため
結果的に例外といっても各関数で早期リターンするのと同じだけの各処理を行なっている
そして各関数で例外が下からやってくることに備えて対処するコードが余分に必要となっている
そのため例外で返すと速く処理されそうなイメージとは真逆で現実のC++の例外は遅く非効率なものとなっている
なぜそうしているかというと途中の各関数で全てデストラクタ処理をしないと正しい継続動作ができないため
結果的に例外といっても各関数で早期リターンするのと同じだけの各処理を行なっている
そして各関数で例外が下からやってくることに備えて対処するコードが余分に必要となっている
そのため例外で返すと速く処理されそうなイメージとは真逆で現実のC++の例外は遅く非効率なものとなっている
507デフォルトの名無しさん
2023/04/24(月) 16:08:44.38ID:niAvm3Dy まあ初めはシステム言語のつもりはなかっただろうな。
ガベコレのパフォーマンスへの影響が気に入らないけどC++のメモリ管理におけるエラーはきつい
てのがRustの動機だろうし。
ガベコレのパフォーマンスへの影響が気に入らないけどC++のメモリ管理におけるエラーはきつい
てのがRustの動機だろうし。
508デフォルトの名無しさん
2023/04/24(月) 16:09:33.04ID:r05pWbWI そこんとこは、たまに、吐き出されてるバイナリを確認する習慣がほしいとこだね
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★4 [BFU★]
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 【音楽】『日本レコード大賞』各賞発表! 大賞候補にILLIT、M!LK、ふるっぱー、幾田りら、アイナ、ミセスら… 作詩賞は指原莉乃 [冬月記者★]
- 中国、レアアース輸出制限wwwwwwwwwwwwwwwwwwwwwwww🎌 [329329848]
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- 熊じゃなくてお前らが山から降りてくれば良いのにな
- 【訃報】日経平均先物逝く、円安株安債券安 [943688309]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- おい!!!!!おまえ!!!!おまえだよおまえ!!!!!!!
