結局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/
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を使いこなすほど成熟してないのよね。
2023/10/02(月) 18:30:53.55ID:Xq2hWLsa
>>650
それができるんならねw
2023/10/02(月) 19:51:18.26ID:hpyHKPNN
C++しか知らなければC++で十分だが
はるかにプログラミングしやすいRustが同性能を実現できるから
どちらも使える人に聞けば100%Rustと答える
655デフォルトの名無しさん
垢版 |
2023/10/02(月) 21:13:36.67ID:0jvUozeY
>>654
人間の互換に対する保守性を凌駕しなければ
普及はしないよ
そしてなくなる
2023/10/02(月) 21:25:18.93ID:hOkjzOD0
IT大手が軒並み採用しているから
今後もっとも安定するプログラミング言語
657デフォルトの名無しさん
垢版 |
2023/10/02(月) 22:03:30.35ID:0jvUozeY
C言語なんて登場して僅か1年でUNIXのアセンブラを置き換えた
Rustはこの先生きのこれるかな?
2023/10/02(月) 22:08:29.42ID:HuDdgOFJ
こっちのオジサンも複オジ並みに嘘つくよね
659デフォルトの名無しさん
垢版 |
2023/10/02(月) 22:17:38.63ID:0jvUozeY
>>658
>こっちのオジサンも複オジ並みに嘘つくよね
どこが嘘なのかちゃんと指摘してね
2023/10/02(月) 22:29:04.27ID:sBuCt/F2
Rustはすばらしいが、推しはC++なんだよ

C++強化はよこい
661デフォルトの名無しさん
垢版 |
2023/10/03(火) 07:33:33.66ID:mNYv0fGk
Cはかなり好きだけど、C++嫌いなんだよね。ところでdouble*型の代替えとしてsafe_vec型みたいのをCが作れば問題解決とはならないの?safe_プレフィックスを付けた変数に関してはgccがライフタイムチェックを行うとかそういうのは無理なの?
2023/10/03(火) 09:56:04.09ID:EHzdGWRp
>>661
Rustをなぞるとボローチェックするには
- T, &T, &mut Tの区別
- ownership rule/reference rule
- init/uninitの管理(move/copy)
- リソースの管理(Drop)
- ライフタイムアノテーション
が必要
これに加えてraw pointerの取り扱いやunsafeブロック/unsafe関数、null safetyがないとsafeにはできない
2023/10/03(火) 10:04:13.52ID:EHzdGWRp
CにしろC++にしろ過去の資産と互換性をもったままRustと同等の安全性を提供するのは不可能なんだよ
それに仮にsafe-Cやsafe-C++みたいなものを作ったとしても既存のコードをそれらで書き換える労力がRustで書き換える労力より低くはならない
じゃあ現時点で利用可能でモダンな機能の使えるRustを使ったほうがいいじゃんという結論になる
664デフォルトの名無しさん
垢版 |
2023/10/03(火) 10:14:43.38ID:1Tt4UNmg
いや、普通はそのまんま使うだろ
665デフォルトの名無しさん
垢版 |
2023/10/03(火) 10:16:11.97ID:QPJiaWQk
2行目が間違ってるので結論がおかしいと思う
2023/10/03(火) 10:20:48.62ID:R9W87Ac6
この鯖負荷状態でまだやるつもりか
5chが終わるまでやり続けるんだろうか
俺は降りる
じゃあな暇人ども
2023/10/03(火) 11:00:08.15ID:gB4/aLda
黙って去ればいいのにわざわざ書き込むのはなんでだろうw
2023/10/03(火) 11:18:36.24ID:vmVJasnZ
ちょっとトイレいってくるわって言ってるのと同じw

C++にセキュリティまわりの決定打が来れば、それ使って書き直したいってモチベは必ず出る
書いてる人がそれなりにウンザリきてるからね 愛すればこそ
669デフォルトの名無しさん
垢版 |
2023/10/03(火) 11:19:12.40ID:QaeBAOHS
Rustは廃れてCとRustの中間的な言語が出来ると平和に解決
C++は救われない消える
670デフォルトの名無しさん
垢版 |
2023/10/03(火) 11:56:31.18ID:QPJiaWQk
C++のtemplateは麻薬だよ
671デフォルトの名無しさん
垢版 |
2023/10/03(火) 13:04:15.87ID:QaeBAOHS
C++のtemplateはRustに流用出来る?
2023/10/03(火) 14:22:58.59ID:OdOVKjZR
>>666
サーバーがDOWNと復帰を繰り返しているらしい。
673デフォルトの名無しさん
垢版 |
2023/10/03(火) 15:42:36.04ID:QaeBAOHS
サーバー本体というよりgatewayがやられてる感じか
DOS攻撃で飽和させられてんのかな
再起動で一時的に治るのも直ぐアクセス不可になるのも頷ける
2023/10/03(火) 16:30:37.21ID:QPJiaWQk
>>671
tempalteメタプログラミングなんかRustはできないでしょ?
2023/10/03(火) 16:52:24.52ID:lIxGF2iK
>>674
C++のtempalteメタプログラミングよりも強力なRustの手続きマクロがあるからC++は勝てない
676デフォルトの名無しさん
垢版 |
2023/10/03(火) 17:02:20.08ID:zsgLdSA5
>>657
昔は使ってる人も少なかったしなぁ~。
677デフォルトの名無しさん
垢版 |
2023/10/03(火) 17:12:51.94ID:QPJiaWQk
>>676
Linuxカーネルプロジェクトでの惨憺たる状況から分かるのは
Rustの持つ特徴はRustユーザが考えるほどには
需要がないということだよ
少なとも当時のCほどにはね
2023/10/03(火) 17:22:52.09ID:t9VFzsZi
単純に巨大すぎて変える意味がないのと、ベテランエンジニアがメンテナンスしてるからCの方がいいんだよ
2023/10/03(火) 17:35:08.07ID:WTK5vkPO
惨憺とか表現が大袈裟
別に誰かが困るわけでないし
カーネル全部書き直すなんて話でもない
680デフォルトの名無しさん
垢版 |
2023/10/03(火) 17:37:09.89ID:1Tt4UNmg
むしろビルド環境に色々な言語詰め込んでもウザいだけだし
2023/10/03(火) 17:56:37.88ID:lIxGF2iK
>>680
複数の言語を併用はコストがかかりハードルが高く普通はデメリットが大きい
しかしLinuxもAndroidもWindowsもそれを上回るメリットがRust導入にあると判断して併用を始めた
682デフォルトの名無しさん
垢版 |
2023/10/03(火) 18:04:52.19ID:QPJiaWQk
>>681
だからLinuxは誰もコミットしてないんだってば
kernel.org見てこい
683デフォルトの名無しさん
垢版 |
2023/10/03(火) 18:10:30.81ID:QPJiaWQk
9ヶ月でRustで書かれたソースは7575ステップ
7千行なんてお前ら1人で1日で書くやろ?w
684デフォルトの名無しさん
垢版 |
2023/10/03(火) 18:16:19.58ID:1Tt4UNmg
そんな無駄に長いコードは書かないから無理
2023/10/03(火) 18:26:14.70ID:WFSh4KqH
一年ぶりにきたがこのスレは相変わらずだな
2023/10/03(火) 18:31:58.55ID:WFSh4KqH
>>661
それをやってるのがchromium
RawPtr<T>をナマポと置き換えた
RawPtrの機能により様々な統計(循環参照、ブラブラポインタ、参照カウントなどなど)をとることで問題をあぶり出してるらしい
2023/10/03(火) 18:32:59.96ID:WFSh4KqH
>>666
俺普段は他の掲示板にいるけど流石にこの状態で来る気にはなれんな
収益ないと無理でしょ
オワコン
688デフォルトの名無しさん
垢版 |
2023/10/03(火) 18:44:38.25ID:QPJiaWQk
>>681
LinuxでのRust利用は
まず安定版カーネルのコンパイラをclang対応にするか
gccrsが実用段階になるかしないと誰もコミットしない
とてもとても「併用を始めた」なんて状態とは言えない
こういうRustの詐欺的プロモーションには釘を刺しておく
2023/10/03(火) 19:00:49.17ID:VgGwkcYi
>>663
kotlinがjavaをそのまま使えるように、c++ファイルをそのままincludeできるkotlin c++があればいい。
2023/10/03(火) 19:08:21.90ID:c7WecVea
KotlinはGC依存言語だから
この話のスタート地点にも立てない
2023/10/03(火) 20:21:52.03ID:WTK5vkPO
釘を刺すw
アホだろこいつ
2023/10/03(火) 20:48:21.65ID:C3dKtOmr
>>688
お前は去年はrust対応パッチのマージは不可能とか
言ってた人?
2023/10/03(火) 20:53:55.47ID:QPJiaWQk
俺はV 6.1 releaseより前にここには来てないよ
別人
2023/10/03(火) 21:46:22.91ID:WFSh4KqH
>>688
釘を刺すの意味分かってなくて草
2023/10/04(水) 03:06:21.66ID:lTnQ2w+I
採用されたってだけで十分画期的なんだけど、

そんなことよりC++にunsafe{ } 流入はよ
2023/10/04(水) 13:16:47.05ID:lTnQ2w+I
こんなんでた
https://github.com/microsoft/ifc/
https://github.com/microsoft/ifc-spec/
2023/10/04(水) 14:46:51.29ID:lCgy2nz3
>>662 >>663
IT大手各社がC++拡張は無理と判断してRust採用へ進んだ理由はそういうことだな
2023/10/04(水) 15:26:58.55ID:GWSCS0Ex
F12でスマホモードにすると書き込めた。
みな 2ch に移行せよ。
2023/10/04(水) 15:39:00.30ID:9lAPwHKr
WindowsにおけるRust採用はカーネルだけじゃない……Microsoftがちょっと言及
https://forest.watch.impress.co.jp/docs/serial/yajiuma/1536253.html
700◆NYa6gyY.t5vU
垢版 |
2023/10/04(水) 18:06:31.07ID:/8KvvhwW
IT土方はRustでいいんじゃね
2023/10/04(水) 18:49:10.35ID:ORAoz3L1
マイクロソフトも金貰ってRustのステマやってるのか~
2023/10/04(水) 18:52:08.62ID:zgDLmZCC
MSはこういうときに、C++(VC)にも投資しながら、Rust(VS)にも投資する
703デフォルトの名無しさん
垢版 |
2023/10/04(水) 19:01:30.19ID:mR6tSnBH
そのうちViusal Rust++とかRust/CLIとか出るかもね
704デフォルトの名無しさん
垢版 |
2023/10/04(水) 19:08:41.78ID:0mJ1l3sR
ってかC++が広まったのだってMSがWindowsの開発言語に採用したからだぞ。
2023/10/04(水) 19:35:23.34ID:LYA6jWUR
>>695
unsafeスコープじゃなくてsafe相当のスコープが欲しいところ。

とりあえずはdelete new禁止、nullptr禁止(スマートポインタ含む)、生ポインタ変数禁止(仮引数含む)、ぐらいはやってほしい。

できれば(関数を拡張して)スタック上のインスタンスのみ受け付ける仮引数を用意して、スタックを特別扱いするようにできないかね。そうすりゃc++でもライフタイムを扱いやすくなるかと。
706デフォルトの名無しさん
垢版 |
2023/10/04(水) 20:30:04.98ID:ja1//dn8
そもそもCはアセンブラまんどくせぇから始まった言語だから
アセンブラの基本的なその値はアドレスかデータかを人間が把握してるのが前提なんだよなぁ
どんどん馬鹿が入り込んで親切な言語になって行っちまったが
2023/10/04(水) 21:34:58.07ID:zgDLmZCC
専業の攻撃者が煩いからね最近 ミスが許されない
たとえ酔っぱらって書いても、コンパイラがツッコミ入れてくれるってのがいいわけで
708デフォルトの名無しさん
垢版 |
2023/10/05(木) 03:32:14.31ID:tRnDXjTr
>>704
それはない

>>706
ほんそれ
美しい設計を馬鹿が台無しにする
709デフォルトの名無しさん
垢版 |
2023/10/05(木) 05:14:51.86ID:a7u/7xZJ
>>707
コンパイラのツッコミ頼りの人がミスが許されない仕事しても大丈夫な言語なんて無い。
大丈夫だと思い込んでる人がいるだけ
2023/10/05(木) 06:02:22.17ID:ZCqsl8F1
コンパイラくんがしっかりしてくれれば、ポンコツの俺にも、重要モジュールが書けるようになるんだなあ
(正確には品質向上、まあそこはいいように取ってね)

だからC++強化はよこい
2023/10/05(木) 08:04:50.19ID:ZCqsl8F1
>>706
いまはセキュリティまんどくせぇな時代だよ
うん、そんなことより、俺は生ポと石の把握に専念したい
俺はそれなりに、簡潔にちゃんと書いてる自負があるが、後任のことは知らんから
陰キャだしw
712デフォルトの名無しさん
垢版 |
2023/10/05(木) 13:56:30.65ID:rcQx5D/x
5chのスレがまたアクセスしにくくなっているけど、
そういう場合は、2ch で書き込もうや >ALL
713デフォルトの名無しさん
垢版 |
2023/10/05(木) 13:56:37.90ID:rcQx5D/x
5chのスレがまたアクセスしにくくなっているけど、
そういう場合は、2ch で書き込もうや >ALL
714デフォルトの名無しさん
垢版 |
2023/10/05(木) 15:01:08.09ID:WXXGTjkD
>>710
>そこはいいように取って

こんな考えの香具師にはまともなプログラムは描けない
715デフォルトの名無しさん
垢版 |
2023/10/05(木) 15:10:02.29ID:WXXGTjkD
>>711
型安全性:まんどくせ
参照安全性:まんどくせ
メモリ安全性:まんどくせ
Rust描いてる人の意識はこんなもんだってことか
2023/10/05(木) 16:01:21.83ID:h5E0mKA3
>>714
そんなことを言うあなたからは、(俺は)まともなプログラムを受注できない

うん、問題ない 平和的

>>715
いやまて、俺C++推しなんだがw
Rustが成功パターンを示しつつあるので、C++にそれが流入すべきだと言ってる
717デフォルトの名無しさん
垢版 |
2023/10/05(木) 16:42:49.98ID:ZAxgrTwh
>Rustが成功パターンを示しつつあるので
え?
2023/10/05(木) 18:02:52.60ID:SE8rG7ML
>>771
DDoS攻撃は、個々のアプリではなくサーバーの
入り口レベルで対処する必要があるらしい。
また、デスクトップアプリでは昔のままで攻撃の
対象にはなってないはず。
だから、もともとC++が強い領域では余り関係無い。
2023/10/05(木) 18:29:52.46ID:Ry4i225C
C++にRustのやり方が自然に流入するわけはなくて誰がが莫大な投資をして優秀なエンジニアを年単位で張り付かせながらコミュニティと調整したり移行のためのマーケティングもやらないといけない

そのための人も金も人もあってC++が発展すればダイレクトに恩恵を得られるMSやGoogleのような会社がそういう投資をする価値がないと判断した以上C++がRustばりに強化される未来は100%来ない

unsafeだけど速度が出せて過去の資産が使えるレガシー言語として生き残る
3D/2DやGUIの低レイヤー部分が一番長く残りそう
720デフォルトの名無しさん
垢版 |
2023/10/05(木) 18:38:58.31ID:S7K0dlIY
ここ数年はGPTチェッカーの登場で
Rustがこの先生きのこれるかの瀬戸際だと俺は思うよ
2023/10/05(木) 18:48:02.32ID:h5E0mKA3
C++はなんでも取り込んでくるんだけど、遅いんだよとにかく
Rustで喫緊の課題を解決でき、さらにノウハウを得られるとMSほか各社が考えるのは順当

ただ、MSもMSVC/VS持ってるから、ニーズが高まれば該当チームは取り込みには来る
dogfeedルール持ってるから、取り込まれたら、新規C++コードはそれで書かれるだろう
2023/10/05(木) 19:01:29.74ID:6fr67+h+
Rustの安全性をC++に導入するのはC++にasync/awaitを導入する50倍は困難
そんなことはもう誰もやらない

歴史に学ぼう
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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