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

レス数が1000を超えています。これ以上書き込みはできません。
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/
2023/10/22(日) 17:07:00.89ID:eovjvQWW
危険と思わない部分だけを使えばいい
C++のサブセットを各々が発掘すればいい

元々のCが最良のサブセットという説がある
メリットは発掘のコストが0
デメリットはないが強いて言うなら
極論である、建設的でない、頑固など
2023/10/22(日) 17:44:58.20ID:Ih9eQULq
アセンブリの頃も危険だったけど注視されてなかった
サイズ付き文字列はpascalの文化でC勢がやっきになって否定してた
MSは部分的にAPIに取り入れてたけど内部でも意見が衝突してたみたいだ
2023/10/22(日) 18:19:39.09ID:k1T6qQYt
個数で管理する方式より、
「番兵方式」の方が効率がよいことが多いからな。
2023/10/22(日) 18:20:59.70ID:k1T6qQYt
>>928
Cは何が起きるか分かり易かったので、間違いも少なかった。
C++11は何が起きるか分かりにくくなった。
933デフォルトの名無しさん
垢版 |
2023/10/22(日) 19:15:38.63ID:jplRnChI
>サイズ付き文字列はpascalの文化で
Cのmallocも内部はサイズ付きだよね
文字列にしろmallocにしろサイズ付きにすると
サイズの最大値(サイズのデータ長)問題が残る
Cのデリミタ方式は無限ループと検索時間の無駄が残る
934デフォルトの名無しさん
垢版 |
2023/10/22(日) 20:36:41.40ID:XK8cC57k
C++の問題のひとつは
例えば型指定可能な(テンプレートを使った)汎用ライブラリを作るのは中級レベル程度ではほぼ不可能ってことだな
できると思ったやつ、多分お前はC++の規格の30%も理解できてないだろう

型推論を理解して、例外安全を保障して、他のライブラリとの整合性を理解して、と穴のないライブラリを作るのはもう人間業でない
まずユニットテストが作りきれない
2023/10/22(日) 21:33:07.82ID:ENkFuc6F
>>933
malloc関係無い。
あなたは、番兵方式の優秀さをちゃんと理解できてない。
マシン語レベルにまで落としたときの命令が分からないと
分からない可能性が有る。
936デフォルトの名無しさん
垢版 |
2023/10/22(日) 21:39:51.69ID:KU4H8hGN
呼び出す側のコンテキストで実際に呼ばれるコンストラクタがガッツリ変わるのはやっぱ難易度高いと思うわ。
c++はなにが呼ばれるのかコード読んでも判断に時間がかかる。
2023/10/22(日) 23:44:03.08ID:7wajq4O6
自分用のライブラリか、よそさまに出せるライブラリかでだいぶ変わるけどな
自分用なら、実装しないと割り切った要素は潰しておく(エラーにする)
2023/10/23(月) 00:19:48.85ID:tCssLiBK
>>934
実際仕事のアプリケーションではそこまで凝ったものは見たことないな
せいぜいテンプレートをちょっと使う程度
あと使い方もコピーを禁止するようなlinterかましたり
言語側でちゃんと実装するより別のツールでチェックしてることが多い気がする
2023/10/23(月) 01:38:21.75ID:gH2D0E6v
むしろ、みんなが可読性や相互理解を必要としているというのが主観で
そういうのをわざと無視したコードは客観的な存在だったりして
2023/10/23(月) 07:44:03.59ID:eCip+LFq
template< >の、何の数学? 論理学?? みたいな世界はまだしも、
こう使うんだぞ、と書いたものを、あとから来た人(未来の自分含む)が間違って使う、みたいのがいかんのよね
その場では、ちゃんと書くに決まってるので
2023/10/23(月) 09:27:40.91ID:TSQLnlyh
>>940
>その場では、ちゃんと書くに決まってるので
育ちがいいな・・・ うらやましい
世の中にはそうならない現場もあるのだ
2023/10/23(月) 09:32:12.24ID:9KLj8HWs
>>940
>こう使うんだぞ、と書いたものを、あとから来た人(未来の自分含む)が間違って使う、みたいのがいかんのよね
>その場では、ちゃんと書くに決まってるので
それはtemplateに限らない悪いコード
2023/10/23(月) 10:35:59.85ID:j7/Azm2p
そういうのをちゃんとするのは、言語の範囲外、としたのがC/C++
言い割り切りっぷりだったが、モダンじゃない
現代的な要求に合ったライブラリと、言語側にもロックダウンモードが欲しいよね
2023/10/23(月) 12:18:28.66ID:A97l8Oha
>>922
書式文字列攻撃
2023/10/23(月) 14:30:44.87ID:D3lEhHiN
C++からRustに移行して幸せになる人、そうならない人 その違いは?
https://atmarkit.itmedia.co.jp/ait/articles/2310/19/news196.html
946デフォルトの名無しさん
垢版 |
2023/10/23(月) 15:42:17.38ID:1Wk/iiy/
ゴミ中尉
2023/10/23(月) 15:45:51.38ID:j7/Azm2p
下のtechtargetのページの読みやすい訳。

後半に書かれていること
・Rustが使われる理由: 安全性。ここで大体出ている通り。
・C++が使われる理由: ソースtoマシン語効率。あと、巨大すぎる過去資産。
2023/10/23(月) 18:20:56.02ID:gH2D0E6v
>>940
ヒープの使い方を間違ったらデストラクタ実行が保証されないとかね
949デフォルトの名無しさん
垢版 |
2023/10/24(火) 02:35:30.43ID:FaxKDrLq
ITメディア達の予定によると、C/C++は既にHaskellに置き換わってるはずだった
2023/10/24(火) 08:37:21.50ID:xTCLjUdP
GCが普及するのはいいが、GCと関係ない付加価値も持たされる
予定が遅れるほど付加価値も追加される
2023/10/24(火) 09:10:32.28ID:KxwBQxIK
>>949
2023/10/24(火) 10:05:57.03ID:Y4KOJ+P0
>>944
書式文字列を生成するやつとかいんの? おっかねーな
それ言い出したらどんな言語もアウトジャネーノ?
2023/10/24(火) 10:48:51.22ID:xTCLjUdP
脆弱なのは可変長引数
悪いのは文字列の特殊な値
どんな型システムも値のチェックができないという意味でアウト
2023/10/24(火) 11:52:36.56ID:d3Cm49Ov
こういう基本的なことがわかってない奴らがウヨウヨいるからCやC++を触らせたらダメなんだよ
955デフォルトの名無しさん
垢版 |
2023/10/24(火) 13:03:33.49ID:oyxcPsiu
>>950
デスマの典型例乙
956デフォルトの名無しさん
垢版 |
2023/10/24(火) 13:05:38.19ID:oyxcPsiu
>>950
流行りはCのフォーマット文字列よりも
テンプレート文字列の変数置き換えタイプだな
mustache template とか tempita とか
どっちにしても iostream の出る幕じゃない
957デフォルトの名無しさん
垢版 |
2023/10/24(火) 13:07:11.32ID:oyxcPsiu
>>952 だった
2023/10/24(火) 14:33:16.70ID:xTCLjUdP
わかってない奴らと対話するコツは、対話はしても接触はしないこと
2023/10/24(火) 17:31:39.32ID:/TzECSOE
キミもわかってない側だからね
自覚してないのが余計にやばいから
2023/10/24(火) 19:03:27.51ID:453Fm5be
同じ穴の狢

とはいえ、C++をディスる輩とは相容れない
あくまで使いこなせない俺が悪い C++は悪くないんだ
961デフォルトの名無しさん
垢版 |
2023/10/24(火) 21:24:24.33ID:9VZu9a5B
c++は糞だぞ
2023/10/24(火) 22:34:02.91ID:qc1wKPPx
cppは糞とかいう奴が糞
確かに初心者が使うとプロジェクトが崩壊したり、完全に理解した系の人らが使っても画一的なコードにならない欠陥言語ではあるが、糞は言いすぎだ
2023/10/25(水) 09:18:24.81ID:nfqMKOx/
関係ないけどuupdump復帰した (ここ見てるような香具師なら見てるのでは?
2023/10/25(水) 12:36:45.76ID:3fSQ5Zwa
uupdumpとは聞いたことがないのでググったらWindowsのためのソフトの名前か
Windowsを使わない人も多い上に
使用言語はPHPとシェルスクリプトっぽいが
このスレにどう関係するんだ?
2023/10/25(水) 13:28:29.15ID:aEsvunYt
もう10年くらいMacとLinuxしか使ってないな
久々に使うとwindowsの操作がわからなくて困る
2023/10/25(水) 13:33:39.53ID:zg5wGezx
wsl面白いよ
2023/10/25(水) 13:53:01.81ID:0w7kqvd/
windows使ってるけど昔からVMの上でLinux動かしてた
WSLは今更感(否定はしない)
2023/10/25(水) 23:15:22.46ID:129UCuET
Macも正直最近はブラウザしか使ってないので
実質linuxしか使ってない
steamもlinuxで動くようになったらしいから
いよいよlinuxに全面移行するか?
2023/10/25(水) 23:28:55.49ID:HBO6D8Lj
steam deckってプレステより高いんだ…いくら円安とは言え…
2023/10/26(木) 10:50:32.36ID:uiU7pRaB
LinuxでMSOfficeが動けばなあ。Officeが使えるunix環境用意するためにMac買ってる感ある。
2023/10/26(木) 10:58:44.39ID:6n+88kg6
officeっつーかEXCELやろ
2023/10/26(木) 11:34:18.33ID:cZhl96fn
Office365なら普通に動くよ
2023/10/26(木) 14:13:25.58ID:K017DhVM
そう考えるとブラウザって理想の仮想環境かもなあ

webassemblyで速度的な問題も解消されつつあるしサーバーのパワーも借りれるし
974デフォルトの名無しさん
垢版 |
2023/10/26(木) 14:52:00.54ID:35buqziU
MacでExcel使ってるとダサいよね
(もちろんMacのExcelが本家なのは知ってる)
975デフォルトの名無しさん
垢版 |
2023/10/26(木) 15:10:01.78ID:ZES507rz
>>974
同意
2023/10/26(木) 18:28:07.11ID:1RkcdUQ1
暗号通貨botterの人でrust使いいるけどシープラ見ないのなぁぜ
2023/10/26(木) 19:03:20.03ID:EFcGcQgS
>>974
teamsで使ってる
2023/10/27(金) 06:42:49.70ID:gRjv8lGZ
>>962
画一的にならなくても二極化でもすれば十分シンプルなのに
二極化するとなぜか1bitやめることが人類の目的みたいになるよね
2023/10/27(金) 07:06:14.73ID:/fEzl4se
>>976
スキャンで落とされたりするのでは しらんけど
Rustがさらにもっと一般的になったら、マークされるよきっと
2023/10/27(金) 09:29:03.35ID:YhtQ6Lgo
WebAssemblyアプリ開発で最も使われている言語は3年連続で「Rust」、Webアプリ開発が最多。The State of WebAssembly 2023
https://www.publickey1.jp/blog/23/webassembly3rustwebthe_state_of_webassembly_2023.html
2023/10/27(金) 10:18:50.62ID:y0LGdXSa
強すぎだな

>>980
WebAssemblyのアプリケーションのコードを記述するプログラミング言語として何を使っているかを尋ねた質問への回答では、
3年連続でRustがトップ。しかも利用率は上昇中です。

今後、WebAssemblyアプリケーションの開発でどのプログラミング言語を使ってみたいですか? という問いに関しても、
1位はRust、2位がJavaScriptでした。
2023/10/27(金) 12:31:28.20ID:Q7ucWJnI
>>979
crypt界隈ではbot取引は至って普通のこと
スキャンされるとか落とされるとかマークされるとかは的外れ

RustとPythonが多いのは道具が揃ってるから
2023/10/27(金) 14:34:10.95ID:EOQmK3vh
c++のlegacyディスってんの?
2023/10/27(金) 15:26:58.64ID:/fEzl4se
>>982
採掘すんのかと思ったら、トレーダーBOTか なるほどね
985デフォルトの名無しさん
垢版 |
2023/10/27(金) 18:12:31.65ID:72qEc/ee
adblockplusがつべにblockされるので
独自の拡張機能をRustで描けますか?
2023/10/27(金) 19:07:21.43ID:0PcwvZlz
どのような機能をお考えで?
2023/10/28(土) 09:43:38.91ID:1iiYkiVL
拡張機能じゃなくてもいいけど
広告だけを通さない(あるいはyoutube側には広告を観たフリをする)proxyを
Rustで描いてローカルで動かしとくって手はやってみたいかな
988デフォルトの名無しさん
垢版 |
2023/10/28(土) 10:46:17.87ID:xifYN8Cm
Privoxyかな?
2023/10/28(土) 12:15:04.19ID:o0Izqpe5
uBlacklistでフィルタ最新にすればいけるよ
って言えばやめる口ばっかりの馬鹿

そういや行列君はどこ行ったんすかね
2023/10/28(土) 12:49:07.71ID:1iiYkiVL
はいはい再発明再発明
2023/10/28(土) 12:53:35.81ID:pZZ9XkRk
Improve YouTube! の方が良いよ
2023/10/28(土) 13:47:24.09ID:fh9BWjjr
のこり1%
軽微なtypo修正

結局C++とRustってどっちが良いの? 8traits
http://mevius.5ch.net/test/read.cgi/tech/1698468300/
2023/10/28(土) 13:52:31.50ID:1iiYkiVL
>>991
Improve YouTube! よさげ
uBlacklist はなんか不必要なアクセス権まで要求されてるようで気持ち悪いのでやめた
994デフォルトの名無しさん
垢版 |
2023/10/28(土) 21:09:51.41ID:6Zf7lwg+
ムッシュムラムラ
2023/10/29(日) 07:58:12.72ID:gMHUg4hp
>>985
Rustって何かの役に立つモノを作る言語じゃないんだぞ
2023/10/29(日) 13:21:02.43ID:IsQ6p7Vf
Rust で chrono を使わないで
cal コマンドを造ってください
そのコードを C/C++ と比べてください
2023/10/30(月) 12:26:01.14ID:xnp7PI6y
let hoge: HashMap<u64, String> = vec![
(5, "hage".to_string()),
(1, "hoge".to_string()),
];
これが無理なのは判るのですが

let hoge: HashMap<u64, String> = vec![
(5, "hage".to_string()),
(1, "hoge".to_string()),
].try_into().unwrap();
でいけると思ったけどエラー出て

let hoge: HashMap<u64, String> = vec![
(5, "hage".to_string()),
(1, "hoge".to_string()),
].into_iter().collect();
なら通りました

一度 iter にしてまた collect したら一番上のと一緒じゃんと思うのですが
何が違うんです?
2023/10/30(月) 12:32:12.41ID:Ija5NZge
>>976
趣味や
2023/10/30(月) 12:32:20.23ID:Ija5NZge
>>976
趣味や
2023/10/30(月) 12:51:09.32ID:HpKOqjxQ
あほ
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 60日 0時間 34分 16秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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