「モダンC++でRustはもう不要」海外掲示板で技術論争に
姉妹サイトの新着
海外掲示板4chanの/g/板(Technology)に、「モダンC++を使えばRustが自慢のパターンマッチングも再現でき、コンパイルは20倍速く、バイナリも軽くなる」という投稿があり、賛否入り乱れる議論に発展した。
ヘッダーファイルの古さやif constexprによる分岐の書き方を巡って反論が相次ぐ一方、「AIの前ではRustもC++もどちらも時代遅れ」という声も上がった。
C++はプログラミングをもっとクソにするために発明されたようなもんだろ。
そういうものはもう100年近く前からあるけどな
それって何?
せめてこのif constexprのクソコードじゃなくて、オーバーロードパターンをvisitorとして使えよ
「Rustならaho-corasickを依存関係に追加するだけで済んだのに」とか言うけど、お前Web系のなんちゃってエンジニアか何かか?依存関係をくっつけるだけなのはプログラミングとは言わない。
これRustのコードよりさらに汚いじゃん
「モダン」とか言っときながら、いまだに#includeを使ってるのか
これもRustと同じくらい汚いけどな
(Rustのenumとmatch式のサンプルコードを貼って)どっちを見ていたいか、俺には分かるね。
・汚い命名規則
・constexprの定型文だらけ
・パターンマッチングとか言っても結局if-elseの分岐でしかない
・[]auto&& arg (は?www)
・普通のprint関数じゃなくてcoutへのビットシフトで出力する汚さ
・stdの名前空間の肥大化
そんなにRustが嫌いなら、せめてCarbon言語くらい見ておけよ。
ご立派な意見だな、それって会社の上に言わされてるだけじゃないのか?
AIの前ではRustもC++もどっちも時代遅れだよ。
if constexpr、else if constexpr、else if constexpr…そこまで来て、なんでelseだけconstexprじゃないんだ?
これはモダンC++のダメなところを全部詰め込んだようなコードだな。触りたくもない。
この話題の背景と論点
背景として、Rustは所有権システムによるメモリ安全性の保証を売りに普及したが、モダンC++(C++17/20以降)はif constexprやstd::variantなどでパターンマッチング的な記述が可能になり、コンパイル速度やバイナリサイズで優位を主張する声も一部で出ている。スレでは、投稿主が示したC++コードが本当に「モダン」で読みやすいかどうかで意見が割れ、ヘッダーファイル依存やcoutの記法、std名前空間の肥大化といった旧来からの弱点が改めて槍玉に挙がった一方、Rustのenumとmatch式の簡潔さを評価する側も譲らず、平行線をたどっている。
読者が誤解しやすいのは、C++のif constexprによる分岐はあくまでコンパイル時の条件分岐であり、Rustのmatch式が持つ網羅性チェック(パターンの漏れをコンパイラが検出する機能)とは性質が異なる点で、スレ内でも「結局if-elseの延長に過ぎない」との指摘はあるものの、両者の安全性保証の違いそのものには踏み込まれていない。また、C++のモジュール機能は仕様上は2020年に標準化されているが、主要コンパイラでの実装・普及が依然として発展途上であることも、議論の前提として押さえておく必要がある。
※本記事は海外掲示板 4chan /g/ (Technology) のスレッド「Why do people still use Rust?」から抜粋し、編集部で日本語に意訳したものです。訳文の責任は当サイトにあります。







まだコメントはありません。