結局C++とRustってどっちが良いの? 7traits

■ このスレッドは過去ログ倉庫に格納されています
2023/08/31(木) 12:16:53.23ID:dCL063sE
C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」

っていう雑談スレ。

前スレ: 結局C++とRustってどっちが良いの? 6traits
http://mevius.5ch.net/test/read.cgi/tech/1690610746/

関連スレ(マ板): Google&Microsoft「セキュリティバグの70%はC/C++のメモリ管理ミス。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
553デフォルトの名無しさん
垢版 |
2023/09/28(木) 23:59:14.70ID:Pv0dY1cA
あ、同じやつなのか
2023/09/29(金) 04:01:47.14ID:HXtzEVI8
「ここのオブジェクトはこの型に限る」て感じの設計思想なんじゃね
でもせっかく動的型付けなのに型を限定するのはもったいない気がするけどな
2023/09/29(金) 04:51:39.28ID:4c3aNzNr
勝手に型チェックの話に限定してるあたり
何も理解してなさそう
2023/09/29(金) 08:53:21.37ID:Ji68PYvI
おまいら契約による設計はちゃんと理解してる?
型チェックの話をするなら必須だからな。
557デフォルトの名無しさん
垢版 |
2023/09/29(金) 09:10:01.09ID:F8aJXNq9
下のコードで実行すると finish が出る順が
最後に completed したものが出て来るまで先に finish してても出て来ません
実際に finish した順通りに表示させるにはどう治せば良い?

use std::thread;
use std::time::Duration;

fn test_thread() -> () {
let mut handles = Vec::new();
for i in 0..5 {
handles.push((i, thread::spawn(move || {
println!("create {}", i);
thread::sleep(Duration::from_millis(400 * (5 - (i - 2) * (i - 2))));
println!("{} completed", i);
})));
}
let mut completed = 0;
for (i, handle) in handles {
handle.join().unwrap();
println!("{} finish", i);
completed += 1;
}
if completed != 5 { panic!("not finish"); }
}
558デフォルトの名無しさん
垢版 |
2023/09/29(金) 09:12:34.59ID:2i5v5Rt9
なにこのゴミ
559デフォルトの名無しさん
垢版 |
2023/09/29(金) 09:12:45.62ID:F8aJXNq9
>>541
JSONは糞ですねわかります
560デフォルトの名無しさん
垢版 |
2023/09/29(金) 12:05:44.96ID:o+K4G7wE
>>557
mpsc使うといい
あとデバッグモードだとi - 2がアンダーフローでpanicになる
2023/09/29(金) 12:26:58.60ID:LP6xiQHs
>>413
そんなことないよ

>>428
ほんそれ

>>472
なるほど

>>473
webはどうみても底辺だ
562デフォルトの名無しさん
垢版 |
2023/09/29(金) 12:54:02.23ID:F8aJXNq9
>>560
thx!!
2023/09/29(金) 13:05:53.88ID:bMqPRMk5
>>488
おじん

>>493
win開発者は「意識他界系」が少ないのでは
564デフォルトの名無しさん
垢版 |
2023/09/29(金) 13:12:03.43ID:CnAqluFV
>>428
>>561
C/C++ *だけ* じゃ力不足なのはセキュリティ問題考えると明らか。
2023/09/29(金) 15:17:35.48ID:S2fwaJPh
>>564
組み込みと言っても幅広いが、Lチカの個数を増やしたりモーターに
変えたりしたものを上手く制御するような事が中心に
なる場合は、メモリ管理はRustを使うまでも無い事が多い。
如何に電圧やサーボモーターの信号をコントロールするか、
の話になるのであって、メモリー解放エラーはほとんど関係無い。
2023/09/29(金) 16:02:06.99ID:G0tTsQAT
まず、インターネットを使うまでもない組み込みに
インターネットをゴリ押しするのが先

セキュリティの話はその後かな
567デフォルトの名無しさん
垢版 |
2023/09/29(金) 16:31:31.34ID:CnAqluFV
>>565
そんな規模の組込みならアセンブラのがいいだろ。
2023/09/29(金) 16:45:54.63ID:90TEQvjm
さすがに書き間違いがこわいからCでいいだろ
そんな内容ならC++もRustもオーバスペック

こんなの出てたので ja-jpもできてたけど、品質やら未チェック自己責任
https://learn.microsoft.com/en-us/cpp/code-quality/build-reliable-secure-programs

unsafe{ } がまだなのみならず、歴史が長い分チェックポイントが大量にあるのも、
新風さわやか? なRustが好まれるところではあるんだろうな
2023/09/29(金) 16:51:59.30ID:S2fwaJPh
>>567
組み込みの場合、対象のCPUがころころ変わるからアセンブラは
まあ、無理。
ARM, Atmel, PIC, AKI-H4, NEC製CPU, などなど。
2023/09/29(金) 17:25:36.72ID:G0tTsQAT
いや、すべての場合において変数に型がないという最大の特徴を見逃すなよ
571デフォルトの名無しさん
垢版 |
2023/09/29(金) 17:29:29.13ID:hJ9le75T
>>569
CはまだしもC++はいらんだろ
2023/09/29(金) 18:16:57.78ID:G0tTsQAT
C++のnewやthrowがライブラリではないから
これは要るだろとか要らないだろとかの意思疎通が困難

Rustのnewはただの関数でResultはただの型だがそれが良い
2023/09/29(金) 18:37:24.93ID:Q1eE5Avm
>>570
ちゅうか、Cだと変数を1つ増やすだけで済むところが、
アセンブラだと、空きレジスタを見つけるか、なければ、
pushで退避してレジスタに入れてから演算して、などと
結構なことなり、既存のコードの修正も必要にな。
また、Cだと変数の宣言位置を、ローカル変数から
グローバル変数に移すだけで済むところが、
アセンブラだと、結構なコードの修正量になる。
2023/09/29(金) 18:42:50.17ID:40UaGOEe
安易にはアセンブラとか言ってるやつはしったか
575デフォルトの名無しさん
垢版 |
2023/09/29(金) 20:12:15.72ID:67cMmZk5
ESP32
576デフォルトの名無しさん
垢版 |
2023/09/29(金) 20:29:15.16ID:WwDlkQCh
>>574
アセンブラの知識はコーディングに使わないにしても必須だよ
知らんで組込みとかは有りえん
2023/09/29(金) 20:55:23.85ID:90TEQvjm
安易にって言った 別人だけど

インラインアセンブラがさいつよ 異論は認める
2023/09/29(金) 20:56:55.87ID:90TEQvjm
安易にって言った 別人だけど

インラインアセンブラがさいつよ
ないしはintrinsic 異論は認める
2023/09/29(金) 21:22:36.21ID:hc5qpvqS
淫乱アセンブラ!?
580デフォルトの名無しさん
垢版 |
2023/09/29(金) 23:00:42.44ID:Xx2tX7a7
>>561
と底辺が申しております
2023/09/30(土) 01:15:10.95ID:uQoNfJfL
つーか、プログラム書くなら低レベルの方がやっぱ楽しいよな
IO直接ブチ叩くのは何十年経っても面白い
目に見えるすべてのコードがだいたい支配下にあるのも気分いい
582デフォルトの名無しさん
垢版 |
2023/09/30(土) 01:57:53.34ID:oC3zwu9C
セキュリティの重要性 > コードの楽さ
となるような場面でのみRustは有利かもね。OSとかはできるだけRustにするべきだろうね。最もサイバー攻撃される部分でもあるわけだし。それ以外はRustを使う動機はあまりないか。
2023/09/30(土) 04:19:59.97ID:UNGkppBG
所有するとかいう用語はC/C++でも必要なのに最近までなかった
参照するしかないJavaとは違うアレを表現する単語がなかった
2023/09/30(土) 06:35:36.76ID:nzOMgApX
>>583
ownershipはauto_ptrの太古からすでにあったけど?

こうやって歴史を捏造する詐欺師がいるから、歴史問題は常に嘘つきを殴らないとヤバイ。
2023/09/30(土) 08:16:15.78ID:UHr8XoSS
うそつきはいかんが、人殴りたいだけだろ。。
586デフォルトの名無しさん
垢版 |
2023/09/30(土) 08:50:05.61ID:kIMaAVDY

嘘つきは人では無いよ?
587デフォルトの名無しさん
垢版 |
2023/09/30(土) 09:15:24.49ID:tMrJQnxM
>>574
Lチカやる程度のやつが何言ってんだ
588デフォルトの名無しさん
垢版 |
2023/09/30(土) 09:16:30.63ID:o6BAkEue
>>581
プログラムの楽しさって本来そういうもんだよな。
2023/09/30(土) 10:06:34.84ID:UNGkppBG
>>584
Copyを実装した型は値を所有できるかできないか
所有できない値は参照するしかないのか
という疑問が太古から存在していたとは言えないんじゃないか
2023/09/30(土) 10:58:48.49ID:UNGkppBG
値にはownerがある原則を!Copyに限定する必要がないので
複製可能な値を所有できる
2023/09/30(土) 11:44:30.24ID:ACqFZZKT
意味のないオジだよ
2023/09/30(土) 12:27:06.05ID:rxNaOE9c
組み込みmruby の本も出た。
C のポインターでバグらないから安全

福岡の人工衛星、イザナミ・イザナギでも使っている
593デフォルトの名無しさん
垢版 |
2023/09/30(土) 12:34:00.64ID:+WV6fTrG
unsafe {
てことは40歳くらい?
会社での立場がはっきりとしてくる年齢だね
うちはそのくらいの歳の無能が新人にすら白い目で見られてるわ
今年の新人には「あの人何してる人なんですか?何も仕事してないみたいなんですけど」って聞かれた
}
594デフォルトの名無しさん
垢版 |
2023/09/30(土) 13:26:17.59ID:yLJEMu5z
>>586

おまえのお気持ち知らんがな?
2023/09/30(土) 14:00:07.49ID:kNwK8zB6
命が大事な人達にとって攻撃とは本物の銃を撃つこと
比喩的に殴るのはあくまで話し合いであり表現の自由であり平和的である
596デフォルトの名無しさん
垢版 |
2023/09/30(土) 17:04:46.65ID:Fvb0I5Mb
Rust製の有名製品ってFirefoxしかない
597デフォルトの名無しさん
垢版 |
2023/09/30(土) 17:36:07.60ID:pKhNg6I4
>>596
ripgrep便利だよ
598デフォルトの名無しさん
垢版 |
2023/09/30(土) 18:00:22.25ID:uLt7YI4s
grepでええやん?
2023/09/30(土) 19:30:09.83ID:ixZRFqVm
インフラが次々とRust製になっていってる

>【CDN世界トップシェアCloudflare】
https://www.publickey1.jp/blog/22/cloudflarenginxrusthttppingoracdncpu31.html
>CDNプロバイダのCloudflareは、同社のグローバルなCDNの基盤として長らく利用してきたNGINXに代えて、
>同社自身がRust製のHTTPプロキシである「Pingora」を開発し利 用していることを明らかにしました。

>【クラウド世界トップシェアAWS】
https://japan.zdnet.com/article/35183866/
>Rustで構築されたAWSサービスの例としては、
>コンテナーアプリ用のサーバーレスプラットフォーム「Lamba」を支える「Firecracker」、
>「Amazon Simple Storage Service(S3)」、
>「Amazon Elastic Compute Cloud(EC2)」、
>コンテンツ配信ネットワーク「Amazon CloudFront」、
>LinuxベースのコンテナーOS「Bottlerocket」などがある。
600デフォルトの名無しさん
垢版 |
2023/09/30(土) 21:04:59.54ID:uLt7YI4s
>>599
シェアないだろうがw
601デフォルトの名無しさん
垢版 |
2023/09/30(土) 21:51:59.08ID:lIYH5p6r
>>599
もう耳にタコ。
鸚鵡とかインコはかわいいからまだ良いけどさあ
602デフォルトの名無しさん
垢版 |
2023/09/30(土) 22:18:30.44ID:M04pMWVj
タコ耳
https://www.youtube.com/watch?v=us9QbgewnOI
なんで見当違いの宗教闘争延々とやっているんだ
A「九九は便利だ」
B「九九では足し算引き算に役に立たない」
こんなアホな言い争い続けるのは暇すぎるどころか病院行った方がいい
2023/09/30(土) 23:08:37.19ID:DaqqyI6I
COBOLがなくならないように、C++も、俺が生きてるうちはなくならないだろう
Rustが実績を積んで、その成果がC++に流入するのが待ち遠しい

だから、どうでもいい
604デフォルトの名無しさん
垢版 |
2023/10/01(日) 01:48:39.89ID:wVAADDKC
AVX512を使った行列積の実装はCPU効率50パーセントが大きな壁だな。中々この壁を越えられないな。ただ流石に10月中には完成させたいな。
2023/10/01(日) 04:43:20.90ID:lOGxZ8en
ていうかfirefoxでさえ全然Rustが使われてないじゃん
2023/10/01(日) 08:56:10.79ID:rjZHaWtE
SNSでRustを検索してみたら、大部分がゲームの方のRust
だった。そして、言語の方のRustでも、いいね は 0 の事
が多かった。その中でなぜか有名インフルエンサの発言
だけはいいねが 100 以上付いていた。
もしかしたら、何らかの組織から金を貰っての
ステルスマーケティングだろうか。
インフルエンサーに金を与えて宣伝といわずに、
宣伝してもらうらしい。
607デフォルトの名無しさん
垢版 |
2023/10/01(日) 09:26:04.72ID:wVAADDKC
RustはOSやCloudの基盤構築に使うよう言語だろ。基本的にほとんどのプログラマは無縁なままになると思う。
ただ、GoogleやApple, MicrosoftとかAmazonの様にOSやCloudを持ってる会社のエリートにはRustは必要なスキルになるんじゃない?
608デフォルトの名無しさん
垢版 |
2023/10/01(日) 09:38:28.18ID:jNRKUn/r
近い将来 Rust は改名されると思う
Perl のように
2023/10/01(日) 09:45:42.20ID:rjZHaWtE
>>607
そうはならないと思うな。
ちゃんとした理由があるけど、敢えて書かないが。
2023/10/01(日) 09:57:36.36ID:vqJth/wO
>>603
お花畑指向のお爺さんのヒトリゴトw

だから、どうでもいいww
2023/10/01(日) 12:31:25.36ID:O6H6pei5
RustをやることでRustが必要なエリートエンジニアを気取れる
一般エンジニアがRustに手を出す理由はこれだろうね
612デフォルトの名無しさん
垢版 |
2023/10/01(日) 13:08:31.84ID:7icNt1rZ
単なる物好きだと思う
613デフォルトの名無しさん
垢版 |
2023/10/01(日) 13:42:51.09ID:nXEaR9ux
給料がいいから使ってる
614デフォルトの名無しさん
垢版 |
2023/10/01(日) 13:43:38.44ID:LITfXwu2
>>610
すぐ置き換わるという発想の方がよっぽど非現実的。
615デフォルトの名無しさん
垢版 |
2023/10/01(日) 13:44:52.19ID:LITfXwu2
>>611
そんなことで手を出す人はいない
2023/10/01(日) 13:53:33.31ID:714OmS2F
結局金貰ってRust推しの書き込みしてたんだなあ
なんかいろいろ納得
2023/10/01(日) 14:05:43.27ID:5C/Q5bxu
>>614
すぐ置き換わるなんてこと誰も言ってないのにな
お爺ちゃんの妄想癖こわっ!
618デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:16:32.83ID:7icNt1rZ
Cが登場したのが1972年で翌1973年にはUNIXはCで書き直された
Rustには勢いがない
この先生きのこれるか分からない
2023/10/01(日) 14:23:43.91ID:Y7qk5s2j
>>618
未だにLinuxはC++を採用しないからC++はダメな言語という話になってしまう
一方でRustは一部採用が始まった
620デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:27:33.48ID:w9dSI82f
C++はコマンドラインアプリにゃ無用の長物だからなぁ
621デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:36:12.46ID:S8y9zCN5
Rustは全く関係ないけど、Intel CPU skylakeXのvbroadcastf64x2命令のレイテンシーわかる人いる?自分は探しても書いてある資料が見つからん。
622デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:41:13.99ID:7icNt1rZ
>>619
最新の安定版カーネルはV. 6.5.5
$ curl 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.5.5.tar.xz' -o - | tar xJf -
$ find linux-6.5.5 -name *.rs | xargs cat | wc -l
17934
$ find linux-6.5.5 -name *.c -o -name *.h | xargs cat | wc -l
32402610
Rustのソースって5.5%なんだけど何に使われてるのか知ってるのかな?
623デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:42:25.77ID:7icNt1rZ
>>622
>Rustのソースって5.5%なんだけど何に使われてるのか知ってるのかな?
ごめん! ごめん! あまりに少な過ぎて間違えたよ
0.055%
624デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:43:04.02ID:zhTB7snZ
>>606
>>616
工作もあるかもしれんが
中國人がよく使ってるイメージ
2023/10/01(日) 14:43:15.62ID:2hPzKrJ5
もうそんなに使われてるのか
626デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:44:46.26ID:zhTB7snZ
>>619
C++はダメな言語だとマジで思う
627デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:45:25.26ID:7icNt1rZ
Rustがlinuxに取り込まれたのが昨年12月でV. 6.1
$ curl 'https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.1.tar.xz' -o - | tar xJf -
$ find linux-6.1 -name *.rs | xargs cat | wc -l
10359
$ find linux-6.1 -name *.c -o -name *.h | xargs cat | wc -l
31476383
この9ヶ月にCで書かれたのは32402610 - 31476383 = 926227ステップ
その間にRustで書かれたソースは17934 - 10359 = 7575ステップ
この7.5千行は何が書かれたんだろうね?

いずれにしても比較してみるとRustに勢いがないと言わざるを得ない
この先生きのこれるか分からない
628デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:50:45.80ID:7icNt1rZ
増分を比較すると
10359 / 31476383 = 0.008178340730727996
Rustで書こうって人はCの0.8%ってことだ
C開発者が100人いたらRust開発者は1人いないくらい
2023/10/01(日) 14:52:24.46ID:Y7qk5s2j
採用さえされなかったC++は全くダメという話になってしまう
630デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:54:04.25ID:7icNt1rZ
>>628
> 10359 / 31476383 = 0.008178340730727996
わりぃ! 式のコピペで失敗
答えは変わらず
7575.0 / 926227 = 0.008178340730727996
631デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:56:53.64ID:7icNt1rZ
Linuxカーネルのプロジェクトで
Rustに存在感は全くないということ
少なくとも最初の9ヶ月間の事実
632デフォルトの名無しさん
垢版 |
2023/10/01(日) 14:57:57.82ID:zhTB7snZ
Rustって無駄に行増えるイメージもあるな
2023/10/01(日) 16:41:13.72ID:FTf1gOBL
rustみたいな欠陥言語がLinuxカーネルに
取り込まれるわけないとか言ってた頃に
比べると大部後退したな
634デフォルトの名無しさん
垢版 |
2023/10/01(日) 18:26:38.19ID:btu9HGhG
>>631
あの、スレタイ読んだことあります?
635デフォルトの名無しさん
垢版 |
2023/10/01(日) 18:45:25.99ID:7icNt1rZ
RustによりLinuxのカーネルが書かれているかのような
事実と全く異なる印象を持たないようにね
そういう詐欺的プロモーションには釘を刺しておく

ちなみに本家本丸のfirefoxでもRustのコードは半分にも満たない
2023/10/01(日) 20:08:40.32ID:Xuu2mhXS
古いコードが残っているだけなのに屁理屈だな
2023/10/02(月) 08:15:58.13ID:ehda1oGa
Rustもすぐに古くなるよ。
638デフォルトの名無しさん
垢版 |
2023/10/02(月) 11:55:32.83ID:p4yR9qSW
>>617
すぐ置き換わらないなら別にお花畑でもないだろ。
支離滅裂。
多分自分が何言ってるのかよくわかってないんだろうかわいそうに
639デフォルトの名無しさん
垢版 |
2023/10/02(月) 11:57:28.62ID:p4yR9qSW
>>617
すぐ置き換わらないなら別にお花畑でもないだろ。
支離滅裂。
多分自分が何言ってるのかよくわかってないんだろうかわいそうに
2023/10/02(月) 13:02:20.97ID:y/irZcaM
こんなに有名になっているのに普及率0.8%であることは、致命的。
過去、天下を取った言語はこんなに知名度が出た時には
既に利用者数がランキング3位以内に入っていた。
他のどんなことにも言えることだが最初から普及しなかった
ものは今後も普及しない。
2023/10/02(月) 13:02:41.17ID:y/irZcaM
こんなに有名になっているのに普及率0.8%であることは、致命的。
過去、天下を取った言語はこんなに知名度が出た時には
既に利用者数がランキング3位以内に入っていた。
他のどんなことにも言えることだが最初から普及しなかった
ものは今後も普及しない。
2023/10/02(月) 13:03:16.93ID:y/irZcaM
こんなに有名になっているのに普及率0.8%であることは、致命的。
過去、天下を取った言語はこんなに知名度が出た時には
既に利用者数がランキング3位以内に入っていた。
他のどんなことにも言えることだが最初から普及しなかった
ものは今後も普及しない。
2023/10/02(月) 13:06:07.24ID:y/irZcaM
ここのmevusサーバー、昨日から(?)おかしいです。
物凄く反応が遅くて勝手に多重投降になりました。
2023/10/02(月) 13:37:00.85ID:13RGbDg7
クライアントの問題やろ?
645デフォルトの名無しさん
垢版 |
2023/10/02(月) 15:39:03.79ID:sFvf9xp1
本屋のPythonの本棚も今やすっかりRubyと入れ替わってPython独占状態
過去にRuby>Pythonだった時期ももちろん知っているが
今はPython>>>>>>超えられない壁>>>>>>Rubyである
いつからこうなったか?
Rust>>>>>Pythonの未来は絶対来ないと断言出来る
2023/10/02(月) 16:06:27.97ID:sBuCt/F2
>>619
やること(実装すべき機能)が決まってるLinuxにおいて、C++は自由すぎた
つまりダメ
Rustはそこまでじゃないということ

まあ、俺はカーネルのコードは書くことなさそうだし、C++推しでいることに
647デフォルトの名無しさん
垢版 |
2023/10/02(月) 16:21:52.88ID:c5cuOzSD
C++はGUIアプリに対しては絶大だけど
ひたすら単独でシーケンシャルな処理を行う様な
単純アプリにゃ無駄が大過ぎる言語仕様何だよなぁ
648デフォルトの名無しさん
垢版 |
2023/10/02(月) 16:36:15.23ID:sFvf9xp1
↑あたまわるそう
649デフォルトの名無しさん
垢版 |
2023/10/02(月) 16:42:22.01ID:c5cuOzSD
あ、CUIが抜けてたw
単純CUIアプリにゃ無駄が多すぎるよ
650デフォルトの名無しさん
垢版 |
2023/10/02(月) 17:04:03.79ID:BAyQhYDe
gccのコンパイラにsafeオプションみたいのを付けれた方がRustよりも遥かに需要はあるかもな。
2023/10/02(月) 17:24:18.22ID:maswlM5u
お金のためにrustを持ち上げる書き込みをするってどんな気持ちなんだろうなあ
652デフォルトの名無しさん
垢版 |
2023/10/02(月) 18:21:59.41ID:eEO5Ab6n
この世界の人類の知能はRustを使いこなすほど成熟してないのよね。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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