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

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

っていう雑談スレ。

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

関連スレ(マ板): Google&MS「バグの70%はC/C++。Rustにする」
https://medaka.5ch.net/test/read.cgi/prog/1619943288/
2023/06/06(火) 19:16:54.21ID:Lf+oJKsA
スレチ話題しか続かないクソスレ立てんなよ。
3デフォルトの名無しさん
垢版 |
2023/06/06(火) 20:00:50.22ID:6xsFiuNw
>>2
と暇人が申しております
2023/06/06(火) 20:09:26.38ID:RE7WnKVD
おちんぽみるく おちんぽみるく
おちんぽみるくが でちゃいましゅ!
2023/06/07(水) 03:56:11.07ID:uhVmgr37
はいはい
unsafe
unsafe
2023/06/07(水) 04:01:03.14ID:uhVmgr37
medaka.5ch.net
/test/read.cgi/prog/1619943288/521
名言だなこれはω
7デフォルトの名無しさん
垢版 |
2023/06/07(水) 09:52:39.88ID:d47WxTJk
めも
medaka.5ch.net
/test/read.cgi/prog/1619943288/575
2023/06/07(水) 11:17:42.90ID:BJ2+S+ML
言語は新しいほうが古いほうを参考にできるわけで、
新しいほうが良いのは当たり前
C++の後釜はRustでいいの?ってスレならまだわかるが、どっちが良いの?はアホ
2023/06/07(水) 11:31:33.52ID:pjouFCxl
キャッチィなだけだぞ
2023/06/07(水) 11:56:16.08ID:/lRRhigV
じゃあこれからはRustの後釜のCarbonだな
2023/06/07(水) 12:02:36.40ID:zwvWq7JS
>>10
Carbonが何なのかも知らない?
Carbonの公式FAQを読もう
Rustが使えるならばRustを使った方がよいと明記されている
2023/06/07(水) 12:36:26.90ID:N5ExRKDk
>>11
Rustは文法の乖離がコスト
2023/06/07(水) 12:52:16.42ID:jIoUA08U
TypeScriptプログラマーの視点だけど
C++は変数宣言や型指定の方法が特殊で乖離が大きくてコスト
Rustはそれら含めて多くの点で近くて親しみやすい
2023/06/07(水) 13:00:46.56ID:pjouFCxl
(ブラウザ本体じゃない)webのほうで成功事例がちょくちょく出るのはそのせいか
2023/06/07(水) 13:07:23.82ID:N5ExRKDk
>>12の乖離ってのはもちろんCとの乖離だよ
2023/06/07(水) 13:18:53.83ID:xTW5tL3j
元々関数型のMLがベースだからな
2023/06/07(水) 13:31:42.05ID:/lRRhigV
>>11
じゃあ何で今になってCarbon開発してると思う?
2023/06/07(水) 13:46:22.47ID:DMLP+jL8
C/C++とRustが互いに乖離があるのは当たり前で相対的なものだからそこはイーブンでどうでもいい話
そして色んな言語をやっていればそんな乖離なんて大したことない単なる慣れの問題だとわかっている話
2023/06/07(水) 13:56:30.51ID:1mZzIIGb
>>18
置き換えを狙っているならイーブンではない
Carbonの方がこの点は有利
2023/06/07(水) 14:09:27.20ID:yz56IJTR
おまえらCarbonのコードを見たことないのか?
Hello, worldサンプルコード

package sample api;
fn Main() -> i32 {
Print("Hello, world!");
return 0;
}

記述の乖離が有る無しを議論してるようだが
Carbonはfnとか-> i32とかRustそっくりなんだぞ
2023/06/07(水) 14:37:09.47ID:CaMW7Xpp
なんでコロンじゃなくて アローでやっているのか意味がわからなかったんだよね そこ
2023/06/07(水) 15:40:27.91ID:N5ExRKDk
>>20
そっくりじゃん?
#include <cstdio>
auto main() -> int {
printf("Hello, world!");
return 0;
}
2023/06/07(水) 15:50:00.26ID:3M1fBRd0
全然そっくりに見えんな。
2023/06/07(水) 15:56:27.79ID:3M1fBRd0
売れない漫画家で最も厄介なものは、自分の描きたいものと一般受けするものとの
違いだといわれている。Rustが最良に思えるのに一般受けしないと思っているのなら、
同じ病。いわゆるセンスの問題で、勉強しても直るものではなく、生まれついたもので
あるかも知れないから、一番、向いて無い/才能がない、ということになる。
25デフォルトの名無しさん
垢版 |
2023/06/07(水) 16:12:40.83ID:ijTNramp
漫画とプログラム言語もそっくりに見えないよなw
2023/06/07(水) 18:59:54.62ID:c9G4XJgr
だからRustは
「作業者に好き勝手やらせないための言語」で、
「管理者が作業者に使わせる言語」。
だからMSとかのマネジメント層が積極的に推進して普及させようとしている。普及すればプログラマ単価下がるからな。

Rustの絶壁の学習曲線といった作業者視点の問題点も、マネジメント側からすれば(普及して単価が下がるようなら)どうでもいい話。
2023/06/07(水) 19:19:09.72ID:4zC3BH5x
>>26
何をわけの分からんことを言っている。
28デフォルトの名無しさん
垢版 |
2023/06/07(水) 19:48:44.94ID:i4pf50tA
>>22
全く同じだな
見分けがつかん
29デフォルトの名無しさん
垢版 |
2023/06/07(水) 20:19:26.67ID:abQL8U7j
Pythonの型アノテーションもそっくりでござる
30デフォルトの名無しさん
垢版 |
2023/06/07(水) 20:33:31.27ID:o7otWeXk
>>26
おまえ生まれてから今までずっと何言うてんねん
2023/06/07(水) 20:33:54.23ID:abQL8U7j
全集中泣く子も黙るunsafe
2023/06/07(水) 21:30:59.51ID:BJ2+S+ML
プログラミングの仕事ってそんなに好き勝手やってるか?
俺が見た現場はルールで縛られながらコーディングしてたよ
2023/06/07(水) 21:32:12.72ID:/lRRhigV
>>26
奴隷専用言語ってこと?
34デフォルトの名無しさん
垢版 |
2023/06/07(水) 22:25:45.36ID:B7Dlv6iq
Rustできるようなやつの単価はそんなに下がらないだろ
35デフォルトの名無しさん
垢版 |
2023/06/07(水) 22:28:58.76ID:uV3IaUBQ
>>32
Cのコーディングルールで動的確保禁止とかあるから、もしかしたらRustの方が自由度あるかもしれん
2023/06/07(水) 22:37:53.06ID:Dv5vszw/
まだ継続スレ立ててやってんのか
板違いの議論すること自体無能の証なんだが自覚ないのか
37デフォルトの名無しさん
垢版 |
2023/06/07(水) 23:14:48.80ID:HA8xOmF+
>>36
5chあまりやってなくてよく分からんけど、適切な板って何処なん?
2023/06/08(木) 01:08:08.31ID:1JiIioGs
>>32
途中まで全く同意だが
デスマが始まるとおざなりになおざりにされるのであった
2023/06/08(木) 01:09:39.17ID:1JiIioGs
>>37
>>1 のmedaka
2023/06/08(木) 01:21:03.42ID:wjp8dPeK
>>36
このスレが無いとRust本スレが無限に荒れるんだ
どうか生暖かい目で見てやってくれ、申し訳ない
2023/06/08(木) 02:32:40.66ID:EE2g7bKF
GoogleやMozillaには、本物のプログラマが必要とするソフトは作り得ない。
なぜなら自分達はルール違反のドーピングして生きていることに気付いて無いから。
2023/06/08(木) 05:12:29.49ID:/MX+BOQ7
>>39
あっちがいつまでも伸びないのはこれいかに
2023/06/08(木) 06:34:22.13ID:uOcvlML3
>>33
MSとかマネジメント層はそうだろうね。

>>34
Javaとかは普及している分安いかと。
普及して安くなると質の低下が問題になるけど、Rustは「とりあえず走りそうな低品質コードをエラーにする」ことで改善できるのがc++に無い利点。
2023/06/08(木) 07:49:35.74ID:/MX+BOQ7
RustがCの代替になることが決まったなら、その程度のチェックにかけるコストは許されたことになる
同じだけC++もチェックしてくれるようになるといいし、少なくとも、
未定義になりそうなところはぽんぽん落ちてくれると、今すぐ幸せになれそう
2023/06/08(木) 08:03:17.78ID:FEnKQZBW
c++は、標準でコーティング規約を作って欲しいところだけど、政治的に難しいだろうなぁ。
2023/06/08(木) 08:26:52.68ID:r/2L4woX
なくはないけど、みんな守らないよね
だから、新しい言語ができた

なので、そのルールがC++に来れば、さすがにみんな少しは準拠するのでは
2023/06/08(木) 09:42:04.09ID:LAPv/8sa
C,C++は混沌の世界
面倒なとこは未定義で決めずに逃げる
もはやまともな秩序は望めない
48デフォルトの名無しさん
垢版 |
2023/06/08(木) 10:08:50.80ID:9fxI4UBb
上司からとりあえず
MISRA C++ 2008準拠してねって言われてるけど、
2008って古すぎだよね
2023/06/08(木) 10:11:25.57ID:rxjbLVG0
>>42
あっちの人らは Rust の本質を理解出来ないだろうし
コンパイルも通せない連中ばっかじゃね
2023/06/08(木) 10:13:33.88ID:rxjbLVG0
C/C++ はレガシーな部分を削ぎ落さないと駄目だろうね
でもそうなったらもう C/C++ のメリットが無くなって
Rust でええやんってなる
2023/06/08(木) 12:19:36.16ID:KcHjgLNk
コーダー向けのsmart c++とかを用意すればいいのにな。
コーダーにテンプレート定義とか不要だろ。newとdeleteも触らせないほうがいい。
2023/06/08(木) 12:24:43.52ID:bdHPbwkz
>>51
STLも無しですか?
2023/06/08(木) 12:47:09.82ID:KcHjgLNk
>>52
使うだけ。定義は無し。
2023/06/08(木) 14:31:34.80ID:5t64h36a
572 デフォルトの名無しさん sage 2023/06/07(水) 16:20:31.76 ID:QsxM8200
書きやすいか否かという話より、rustは意外にタイピング量は多い思想は考え直してほしい。
std::fmtなどの「::」だとか引数名・変数の後の型の「:」だとか、むろんmutも、戻り値の「->」もなぜ引数の「:」と戻り値の「->」を同じにしなかったのか?思想面が分かる人に教えてほしい。
ほかにもなぜマクロ呼び出しに「!」をいちいち付けるのかとか、関数はfnやpubで省略しているのに?アトリビュートも#[xxx]と異様に見える。なぜ@xxxでは駄目だったのか?
まあセミコロンはC/C++からの移行を重視したのだろうけど。言語をディスってる訳じゃなく完全論破されることを願う
2023/06/08(木) 17:04:52.71ID:Y0G7GrO2
>>54
これ長々書いてる割に大したこと言ってないな
2023/06/08(木) 17:13:51.10ID:r/2L4woX
雑スレだし、愚痴はいいんだけど、簡潔なほうがいいな(自戒
2023/06/08(木) 18:12:52.99ID:Swq8DJXI
うby推しの人っぽいな
KENYAかω
2023/06/09(金) 01:12:19.16ID:80cr/Lm5
誤 バグの70%はC/C++
正 バグの70%は馬鹿プログラマ
59デフォルトの名無しさん
垢版 |
2023/06/09(金) 03:10:58.34ID:dOx/OLad
>>58
Dunning-Kruger Effectですねw
2023/06/09(金) 08:06:17.80ID:JKBRIuMu
そして馬鹿プログラマが簡単に未定義踏めるのがC/C++
2023/06/09(金) 08:14:53.62ID:Csbr7E2A
だからRustみたいな指導員付き教習車が欲しいんだろ。マネジメント層は。
2023/06/09(金) 09:25:47.29ID:RpJgGXpg
ひどい言語だな
2023/06/09(金) 09:34:00.69ID:qbPStiKo
未定義動作がある欠陥言語C++よりまし
2023/06/09(金) 09:41:55.91ID:13/Pz9Dk
安全装置付きの工作機械みたいなもんだろ
教習車って。PASCALかなんかか(← 教育用言語として)w

未定義ってのは処理系依存でもあるので、コンパイラが落としてくれてもいいんだぞ
今後はそうなっていく…ことを願う
2023/06/09(金) 09:44:21.42ID:4Hg4SG5/
つーか、ベテランでも未定義動作は踏む事ある
気がつく仕組みすらないのが終わってる
安全装置外したスピード狂向け言語だな
2023/06/09(金) 10:26:36.13ID:2Q2SV8d7
そのバイナリがちゃんと止まるかどうかの判定プログラムを書けば全てまるっと解決だろjk
2023/06/09(金) 15:40:05.51ID:bto0OMX2
補助輪付き三輪車がRust
D++はブレーキ無しの競輪用自転車
2023/06/09(金) 15:48:56.58ID:bto0OMX2
>>59
チョットデキル←Dunning-Kruger Effect
完全に理解した!←Dunning-Kruger Effect

どっちにも使う
2023/06/09(金) 16:20:09.93ID:HQpaaWlJ
Rustaceanは赤ちゃんだった!?
2023/06/09(金) 17:56:16.91ID:RpJgGXpg
IT土方にはちょうどいい言語なのかも
71デフォルトの名無しさん
垢版 |
2023/06/09(金) 19:38:41.55ID:hULA5lAo
KENTAもRustに注目してる
72デフォルトの名無しさん
垢版 |
2023/06/09(金) 19:42:15.13ID:hULA5lAo
Ruby×Rustというイベントを考えてる
2023/06/09(金) 20:05:40.64ID:9O24uU1k
RustはC/C++書ける人でないと書けないと思う
C/C++のゴミな部分を散々食らった人でないとその概念がなぜ存在してるか理解できない
急がば回れよ
2023/06/09(金) 23:25:35.37ID:bto0OMX2
C/C++のゴミな部分を散々食らった人は
回避方法も身に付いてるから
結局Rustいらねってなる
2023/06/09(金) 23:27:13.77ID:bto0OMX2
RustはC/C++に手を出して挫折した人を拾う救いの言語
2023/06/10(土) 00:05:53.99ID:JneWu8Rj
普通は逆だな
2023/06/10(土) 00:39:19.77ID:LyG5WCLa
>>74
ある程度身についてるけどコンパイラがおしえてくれるわけじゃないからね
78デフォルトの名無しさん
垢版 |
2023/06/10(土) 01:04:58.77ID:IXpMBwN+
RustのライバルはJavaだ
2023/06/10(土) 01:16:52.85ID:7Y/RdB99
Rustの新しい点は コンパイル言語でありながらperlのようなライブラリーの配布方法をとっている点だ
これは C ++ではありえなかった事態だ
2023/06/10(土) 01:28:35.92ID:AfTL7rva
C++と何が違うの?
2023/06/10(土) 01:32:06.43ID:xELAfQPf
YouTube で有名な雑食系エンジニア・KENTA は、
初心者のキャリアパスは、Ruby on Rails → Go だけと言ってる

米国年収でも、Rails, AWS Solution Architect が13万ドル

Ruby, Elixir : 9.3 万ドル
Go : 8.9
Rust : 8.7

多くの言語 : 6.5〜7

PHP : 5
Dart : 4.4

Rubyは、Go/Rust/Elixir の3大言語を超えた。
一方、Rust/Elixirは普及のキャズムを超えなかった
82デフォルトの名無しさん
垢版 |
2023/06/10(土) 01:59:40.75ID:AfTL7rva
誰や?w
2023/06/10(土) 02:06:17.20ID:LyG5WCLa
>>81
rails使いがGoつかえる訳ない
C使いが
ましてやRustなど
2023/06/10(土) 08:33:11.69ID:zUCBB0zf
>>74
人間はミスをする生き物というのを理解していれば、そういうアホな発言は出てこない
2023/06/10(土) 08:43:31.99ID:YOe6zItI
ミスはたいていリリース前に発覚するが
デバッガと格闘してミスの場所を突き止めていくC++より
コンパイラがミスの場所を教えてくれるRustの開発効率が優れてる
C++はミス発覚がリリース後になる場合もある
2023/06/10(土) 09:13:59.06ID:vaWXep+1
cargo も crates.io もデカすぎなんだよ
ローカルにボコボコゴミ溜めやがって
2023/06/10(土) 09:16:15.18ID:vaWXep+1
>>85
C/C++もRustもアルゴリズムのバグを教えてくれる訳ではない
C/C++で危険回避方法が身に付いている人はコンパイル前に既に気付くから問題無い
2023/06/10(土) 09:22:19.09ID:RnVsqjAe
生ポの取扱って極めるなら難しいけど、C++erはそのへんが難しいって弁えるから、ちゃんと避ける
でも、プロジェクトって一人じゃないからね
言語のほうで、ちゃんとチェックしてくれるのは結構なこと

避けてたから気づいてなかったのが正直なとこだが、コンパイラのほうのチェック機構もだいぶ進化してる
2023/06/10(土) 09:22:24.69ID:gJM3u8Zc
>>85
>ミスはたいていリリース前に発覚するが

だがリリースできないよりできたほうがいいんだわw
バグはあとから改修すればなんとかなる場合が99%
リリース遅延よりよっぽどまし 出すことが肝心
その意味でrustは生産性は高くない
てかさ. 商用のRustコンパイラどんだけあるのさw
特に組込で商用のrustコンパイラ挙げてくれ
IARあたりがコード品質の高いrustコンパイラ出してからでもまったく遅くない
2023/06/10(土) 09:23:43.81ID:gJM3u8Zc
>>88
>でも、プロジェクトって一人じゃないからね

それをいうならRust熟練のプログラマどんだけ居るのさww
2023/06/10(土) 09:27:25.53ID:J/pWmtug
>>85
開発効率の高さとリリース時の穴の少なさでRustが圧倒的に有利だな
2023/06/10(土) 09:31:21.58ID:gJM3u8Zc
>>91
コンパイラがないのにか?ww
2023/06/10(土) 09:31:27.19ID:RnVsqjAe
大手が採用するっていったんだから、>>89-90 のあたりは、目途がついたんだろ

効率の高さってのはなんなんだ
2023/06/10(土) 09:33:28.40ID:gJM3u8Zc
>>93
コード生産効率
単位時間に何行書けるかって話だ
あとになってバッファオーバーランエラーなんか判明しても構わないから
2023/06/10(土) 09:40:31.77ID:gJM3u8Zc
>>93
大手?
MSがrust使うっていうのも一部だけだろ
だったら最低VSでRustサポートしてから言ってくれ

大体チップメーカがまともなrustコンパイラをリリースした話は聞いてない
チップメーカーはC/C++コンパイラはチップと同様要視してるがrustはまだまだ眼中にない
Intelがrustコンパイラ出したら考えるわww
96デフォルトの名無しさん
垢版 |
2023/06/10(土) 09:45:42.46ID:AfTL7rva
>>93
誇大広告
2023/06/10(土) 09:49:29.33ID:gJM3u8Zc
所有権あたり, rustの機能をC++がパクってるんだろ?
だったらrust風にC++で書くように機能制限して書かせてほぼ事足りるんじゃねーの?
Lintかコンパイル時ウオーニングで

PC上で実験的にコード書いてるならいざしらず
商用のコンパイラでrustコンパイラが存在しないのに何言っても絵に書いた餅
2023/06/10(土) 10:10:09.37ID:vaWXep+1
>>89
一理ある
2023/06/10(土) 10:16:36.13ID:hDLItfYy
Rustは商用で使うもんじゃないんだろ
100デフォルトの名無しさん
垢版 |
2023/06/10(土) 10:17:11.38ID:b5kXqP8M
このスレ見るとC++erの知能の低さにビックリするな
5ch特有の事象ならいいんだが
2023/06/10(土) 10:26:39.71ID:LvG5tJme
知能というか知識と経験が無いだけでしょう
慣れるとC++もRustもコードを書く速さはほとんど変わらない
ただし以下の差が致命的に大きい
メモリ管理やデータ競合でミスがあった時にコンパイル時にわかるRust
実行するまでわからないか実行してもレアケースは気付けないC++
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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