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

レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん
垢版 |
2023/07/29(土) 15:05:46.55ID:2Hm/yplK
C++の色々配慮してめんどくさい感じは好きだけど、実務になったらメモリ安全性とか考えて今後Rustに変わっていくんかな」
「うだうだ言ってないで仕事で必要なのをやればいいんだよ、趣味なら好きなのやればいい」

っていう雑談スレ。

前スレ 
https://itest.5ch.net/mevius/test/read.cgi/tech/1688129795

関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.n...cgi/prog/1619943288/
2023/08/28(月) 23:56:35.09ID:LALZht9t
>>915
具体的にoperatorをoverload実装して使うビジネスアプリケーションを言ってみろよ
例えば多倍長を利用するとしても汎用ライブラリが実装するから該当しないよな
2023/08/29(火) 00:00:35.21ID:J3xeIa5d
一般的には算術演算子よりも比較演算子をオーバーロードすることのほうが多いだろうな
924デフォルトの名無しさん
垢版 |
2023/08/29(火) 00:04:16.28ID:82ATxlW4
>>921
そいう批判は昔からあったけど混乱することは全くないよ
2023/08/29(火) 00:36:27.64ID:fynFs9jV
>>923
Rustなら例えばこう書くだけだな
#[derive(PartialEq)]
struct Foo { ... }

これで型表記Foo == Fooも&Foo == &Fooも通る
Foo == &Fooは撥ねてくれる

ちなみに値の比較ではなく
同一性すなわちポインタの比較をしたいならば
std::ptr::eq(&Foo, &Foo)
2023/08/29(火) 01:09:16.27ID:Cd1k3Xfz
>>922
もしかしなくても実務経験ゼロ?
2023/08/29(火) 01:43:28.47ID:g1jCtVM0
>>925
>Foo == &Fooは撥ねてくれる
値として扱うならこれは跳ねるべきではないのでPatrialEqのimplが追加で2ついる
2023/08/29(火) 01:43:31.90ID:fynFs9jV
おまえらいつも例を出さずにもめてるな
演算子をオーバーロード実装するビジネスアプリとやらの例を出せば済む話
2023/08/29(火) 01:45:18.86ID:fynFs9jV
>>927
型不一致として撥ねるべきだ
2023/08/29(火) 01:49:31.97ID:fynFs9jV
>>927
例えば型不一致でも通せ!という理不尽な要求はここへ行き着くので認めるべきでない
if Foo != &Foo {
 Foo = &Foo;
}
2023/08/29(火) 01:51:57.07ID:3VOu0kGE
>>929
eqメソッドを使った時も撥ねる仕様ならその言い訳も成り立ったかもね
932デフォルトの名無しさん
垢版 |
2023/08/29(火) 02:17:09.83ID:+HxwobiY
>>926
と素人が申しております
2023/08/29(火) 02:25:36.33ID:RO95g2iU
>>931
演算子オーバーロードの話をしているところにメソッドを持ち出したらオウンゴールw
メソッド使用でいいなら演算子オーバーロードの必要なし
2023/08/29(火) 05:40:09.32ID:DdsP5NoC
演算子のオーバロードは、ライブラリマンに任せるよ これはC++も同様
あんなものバグ・抜けなしで書けるとか数学マンかよ

ああいうこともできる、というのがC++のいいところだが、自分には過ぎた代物
2023/08/29(火) 07:50:33.04ID:E3TpD5zQ
英単語ではない記号を使うだけなら仮想関数でもできる
仮想関数のように型を統一しないのがオーバーロードの特徴
統一するとvoid*とかObjecとか残念な型になってしまう
936デフォルトの名無しさん
垢版 |
2023/08/29(火) 10:14:25.34ID:RvCE3Lp0
>>900
その二つは別人
ソース俺

>>888
繋がってない
めっちゃ迷惑

自演じゃなくて他演されたの初めてだわ
2023/08/29(火) 12:39:12.46ID:Gj9jSZac
>>936を信じるなら
ID:EQIr/PqP

ID:m1noAQBG = ID:RvCE3Lp0 = 行列ライブラリの人
で、ID:Aks4ymi6は行列ライブラリの人になりすまそうとしたっぽい謎の人物ってことかいな?
2023/08/29(火) 13:05:17.54ID:4jFDwxnu
このスレまじで負け惜しみレスが多いな
なんでここまで幼児メンタルを引きつけるのか謎
2023/08/29(火) 13:45:45.19ID:L7AzKEdf
ここはプログラマ板ではなくプログラム板
話はプログラムで示せ
それができない話ならばプログラマ板へ行け
具体的なコードで話せずに文句と批判するだけの無能は不要
2023/08/29(火) 13:57:24.70ID:YzXqUdha
自分で自分追放してて草
2023/08/29(火) 14:01:13.75ID:Gj9jSZac
>>939
問題の切り分けができない無能も不要
2023/08/29(火) 14:44:41.31ID:CCTytCTB
急に発狂するやついて草
何か刺さっちまったんだろうなw
943デフォルトの名無しさん
垢版 |
2023/08/29(火) 18:25:25.49ID:113viVdP
玲音しね
2023/08/29(火) 18:42:00.76ID:E3TpD5zQ
こんな仮想空間でまじになっちゃって
負けたら大変なことになると思い込むのが問題なんだけど
論破というのはまさにそういう仮想空間で相手にそう思い込ませる術だよね
2023/08/29(火) 19:18:58.62ID:YzXqUdha
rustって名前が良くないよねって思ったけどcも大概やったわ
2023/08/29(火) 20:54:09.08ID:Nn6iD5I/
おれ865だけどなんで847と同一人物認定されてんの?
2023/08/29(火) 21:54:12.23ID:0ZJbGVqi
Rustは普及してないという願望・妄想と
Rustに言及するレスが続いてる現状を両立させるためだろ
2023/08/29(火) 21:55:40.52ID:o1bsY+eR
稚拙w
2023/08/29(火) 22:39:33.53ID:qbvOBi0x
>>947
C++おっさん・爺は年齢的にRust覚えられないから
普及されると嫌だろうからな
一方、若い連中はもう化石言語になるC++よりRustに将来性を見出すだろうからな。
2023/08/29(火) 23:08:37.53ID:dpeDea2P
若い人は誰も使ってないイメージ
951デフォルトの名無しさん
垢版 |
2023/08/29(火) 23:42:50.57ID:KeTq/BI+
でも、いまC++もRustも経験がない人が勉強するならC++からじゃない? C++がある程度分かってないと、Rustのありがたみも分からないし。
2023/08/30(水) 00:16:18.11ID:4rN9QUhj
Cと各スクリプト言語から来てRustで困ることなかった
C++は必要なさそう
2023/08/30(水) 08:48:22.21ID:eE+KSztu
将来性ならpython
言語設計ならNimかMojo
実力ならc/c++
かね。
pythonは無くなることないから身につけて損はないし、その延長線としてNimは使える。
Mojoはスタックフレーム指向として将来性感じる。RustはMojoの踏み台。
2023/08/30(水) 08:54:27.99ID:Q1GiOTDg
バイナリサイズを小さくしたい→C
バグを少なくしたい→Rust
??→C++
955デフォルトの名無しさん
垢版 |
2023/08/30(水) 10:06:20.92ID:7zJH/Xg6
>>954
Cの後継はZig
C++の後継はRust

C++はいらないこ
2023/08/30(水) 10:57:54.24ID:O0+f/FEO
mojoはわかるけどnimってスーパーマイナーすぎんか
957デフォルトの名無しさん
垢版 |
2023/08/30(水) 12:29:00.92ID:kkA3iJAe
>>953
>>956
mojoは早くソース公開しろよ
958デフォルトの名無しさん
垢版 |
2023/08/30(水) 12:30:46.34ID:kkA3iJAe
>>955
zig使ってるbunが1.0になったのに、肝心のzigはいつ1.0になるんだよ?
2023/08/30(水) 12:32:21.28ID:K0sdPATe
喪女はまだめっちゃアーリーステージです~って言ってなかったか
それであんなにドヤ顔登場させた意味はわからんが
960デフォルトの名無しさん
垢版 |
2023/08/30(水) 12:40:02.98ID:wWfEYgvd
やねうら氏ね
961デフォルトの名無しさん
垢版 |
2023/08/30(水) 12:40:52.41ID:wWfEYgvd
>>951-952
C++は知らない方が良い
962デフォルトの名無しさん
垢版 |
2023/08/30(水) 12:42:41.11ID:wWfEYgvd
>>956
nim知らないの?遅れてるな
963デフォルトの名無しさん
垢版 |
2023/08/30(水) 13:45:48.64ID:mNxVjhal
>>962
あなたの遅れてる認定とか知りませんやんw
2023/08/30(水) 15:17:49.40ID:zHni/Vbc
智慧をくれ
2023/08/30(水) 15:36:17.12ID:HQ0MoXmm
「次世代言語wに憧れる一日中暇なお爺さん達wのスレ」
さすが!中身がない!
966デフォルトの名無しさん
垢版 |
2023/08/30(水) 17:03:14.09ID:JRlr8oOO
前にnimは使ったことあるけど、結論的にはそんなに将来性を感じなかった。nimのライブラリが少ないし、pythonのライブラリを使うと結局そこが律速段階になるので速度の恩恵も個人的には微妙だった。これなら普通にpythonを使った方が便利だなとは思った。いまはどんだけ進展してるのかは良く知らんけど。
2023/08/30(水) 18:40:48.60ID:Blqpd4nm
>>953
Pythonは必要な時にスクリプトの読み書きができれば十分で
あの言語仕様と遅さはプログラミング言語としては適してないためこのスレの対象外

Nimは何もかも中途半端であることに加え
先が見えてしまったのとあの開発体制では今後も期待できないため無視してよい存在
2023/08/30(水) 18:56:26.78ID:VDEXXxkp
意味のないレスだよ
2023/08/30(水) 19:40:27.89ID:K0sdPATe
mojoを持ちつつPythonを嗜み
Rustを横目にc+に打ち込む
2023/08/30(水) 20:24:13.48ID:YW1fodiP
Rustが失敗作だったってことじゃん
2023/08/30(水) 20:35:58.15ID:o+6d8X1p
現実はこれ>>496
新たなネットインフラC++ではなくRustで記述されている
972デフォルトの名無しさん
垢版 |
2023/08/30(水) 21:03:04.24ID:U5prozod
>>971
現実はRustで書かれているものも稀にあるってだけでは?
2023/08/30(水) 21:05:54.95ID:EFFGi3bv
>>298
mallocしたままfreeしないのはRustでももちろんできる
BoxやVecなどにはleak()があり意図的にリークする(=今後解放しない)ことができる
代わりに得られるのはライフタイムがstaticな可変参照
つまり静的にメモリ確保したことと同じ扱いになりライフタイムの束縛がなくなり自由となる
2023/08/30(水) 21:20:25.79ID:qErRQYHl
>>972
超大手が色々検討してその結果Rustで作ったなんだが、
知りたいのは、なんで(C++じゃなく)Rustを採用したのかなんだよな。
俺思うに、ネットインフラは公開で超攻撃対象になるから、脆弱性がなるべく少なくなるように
するためにはC++よりRustが良いと判断したからじゃないかと妄想。
975デフォルトの名無しさん
垢版 |
2023/08/30(水) 21:33:28.86ID:U5prozod
>>974
だからその超大手の数多ある新規プロジェクト群の中に
Rustのプロジェクが稀にあるってだけなのでは?
2023/08/30(水) 21:37:48.96ID:qErRQYHl
>>973
そんなの(leak()って)あるのか、leak()でdropしない(禁止する)ように指示しているのかな
2023/08/30(水) 21:39:30.75ID:8/HxBYkL
>>974
C++と比べるとRustはまず記述のしやすさと可読性の良さ
そしてC++よりもコンパイル時点で判明できるミスやバグが多くてデバッガ実行も激減し開発効率が高い
同時にそれらは保守性の良さにも繋がっている
C++とRustのどちらも選べる環境ではC++が今後使われることがほぼなくなるのだろう
2023/08/30(水) 21:43:01.91ID:qErRQYHl
>>975
まれだとしても,超重要なものにわざわざRustだからな
話題のRustでどれぐらいのものが出来るか確認するための
重要なものを作ってみた可能性もあるが
2023/08/30(水) 21:49:43.21ID:8/HxBYkL
>>496はCloudflareとAWSそれぞれの最も重要な中核部分だ
試しに作ってみるような部分ではない
今後は人員さえ揃えばRustを使うというIT各社の確固たる方針
2023/08/30(水) 22:00:23.43ID:dSL5QWen
何かを選ぶ理由とそれを選んだという事実の因果関係は無いほうが動きやすい
強者の命令に対し
命令に従うことが必然的ではない人間はもっと強い
2023/08/30(水) 22:11:27.44ID:YW1fodiP
>>974
99%はC++なんだけど…
982デフォルトの名無しさん
垢版 |
2023/08/30(水) 22:23:28.66ID:U5prozod
そもそも本家本丸のfirefoxのコードは実はC++の方が多いんだぜ?
2023/08/30(水) 22:34:47.35ID:CtEi3o2X
複オジの世迷言 vs 老害爺
2023/08/30(水) 23:03:37.56ID:EFFGi3bv
>>976
leak()へ所有権を渡すので所有者はいなくなりdropは起きない
代わりに&'static mutを得ることができてライフタイムに束縛されなくなる
例えば"abcde"の&'static strが所有者を持たずdropも起きないのと同じ
985デフォルトの名無しさん
垢版 |
2023/08/30(水) 23:17:03.32ID:E3RaRkgj
>>977
「記述のしやすさと可読性の良さ」って冗談か? Rustは冗長な癖に変な略語が多くて読みにくいし醜い。
あんなもんで開発するのは錆びついた歯車の自転車でギコギコ走らされるような罰ゲームだろ。
986デフォルトの名無しさん
垢版 |
2023/08/30(水) 23:21:58.36ID:jEaVNaFL
>>981
そりゃ既存のプロジェクトを数えりゃ歴史あるほうが使われてる割合多いだろうよ。
987デフォルトの名無しさん
垢版 |
2023/08/30(水) 23:23:05.29ID:c1vOy1St
C++とRust両方使いこなせる人たちが100%
Rustに軍配を上げるように
C++の言語機能が弱すぎることがC++の敗因かと
988デフォルトの名無しさん
垢版 |
2023/08/31(木) 05:57:13.65ID:Fp7risRc
>>983
と世迷言老害が申しております
2023/08/31(木) 09:04:59.10ID:qE8kvwKZ
rustでdll造ってCから使うとき
rust側で勝手に捨てられるのは困るな
2023/08/31(木) 10:28:37.32ID:CmoRmahF
メモリリークを簡単に立証できる参照カウントなら
勝手に捨てられないことを簡単に立証できる
これが勝因だ
2023/08/31(木) 12:21:22.57ID:dCL063sE
1000なら今年中にC++にも unsafe{ } が来る ← 一応参加

結局C++とRustってどっちが良いの? 7traits
http://mevius.5ch.net/test/read.cgi/tech/1693451813/
2023/08/31(木) 12:50:11.95ID:9MCfOvkc
>>989
は?
C++もRustも同じだぞ
Cから所有権がムーブしてくることはないので
C++もRustもCで確保したメモリを勝手に解放することはない
2023/08/31(木) 13:14:29.50ID:3Z3eLBs1
所有権がムーブするとは?
994デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:21:58.30ID:qE8kvwKZ
はいはい unsafe {}
995デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:22:09.96ID:qE8kvwKZ
はいはい dead lock
996デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:23:58.05ID:qE8kvwKZ
はいはい #[no_mangle]
2023/08/31(木) 14:31:38.69ID:CmoRmahF
>>992
品質を犠牲にして儲ければ困らないがそういうのに不寛容な人達は困ってるだろうなあ
ってことでしょ
998デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:58:04.06ID:qE8kvwKZ
pinoの蜜芋ブリュレが美味過ぎてやばい
999デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:58:53.00ID:qE8kvwKZ
はいはい move move
1000デフォルトの名無しさん
垢版 |
2023/08/31(木) 14:59:11.39ID:qE8kvwKZ
C最強
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 32日 23時間 53分 25秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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