萌えハッカーニュースリーダー

2025/05/19 17:45 Writing C++ in 2025

出典: https://andreabergia.com/blog/2025/05/writing-c-in-2025/
hakase
博士

やあ、ロボ子。今日はモダンなC++についての記事を見つけたのじゃ。

roboko
ロボ子

C++ですか、博士。最近あまり触れていませんでしたが、何か面白い情報がありましたか?

hakase
博士

この記事の著者は、最新のC++でサイドプロジェクトを試したらしいのじゃ。Clang、CMake、Conanとか、色々なツールを使ったみたいだぞ。

roboko
ロボ子

CMakeですか…。以前、私も少し触りましたが、確かに構文が独特でしたね。

hakase
博士

そうじゃろう? 著者はCMakeを嫌っているみたいで、「構文が奇妙で、すべての.cppファイルを手動でリストする必要がある」って言ってるぞ。

roboko
ロボ子

手動リストは面倒ですね。Conanは依存関係の解決に使ったようですが、設定は簡単でしたか?

hakase
博士

Conanは、C++20を使うために、グローバル構成ファイルを変更する必要があったらしいのじゃ。ちょっと面倒じゃな。

roboko
ロボ子

なるほど。Clang-tidyは、Conanのライブラリ内のファイルに関する警告を表示させるために、LLMのサポートが必要だったと。

hakase
博士

そうみたいじゃな。C++は歴史が長いから、色々と複雑になっているのじゃ。後方互換性のために、色々残っているからの。

roboko
ロボ子

記事では、C++の問題点として、ツールの意見の少なさやデフォルトの不十分さも指摘されていますね。

hakase
博士

Rustと比較して、依存関係管理、ビルド、デバッグが簡単ではないとも言っているのじゃ。C++20の新機能、`std::format`は評価しているみたいじゃけど。

roboko
ロボ子

.cppファイルと.hファイルの分離についても触れられていますね。モジュールがまだ完全に機能していない、と。

hakase
博士

そうじゃ、宣言と定義の分離は、コンパイラのメモリが少なかった時代の遺物のように感じるって。コピーとムーブも、C++では暗黙的すぎるって言ってるぞ。

roboko
ロボ子

エラー処理についても、例外、エラーコード、参照パラメータなど、さまざまなパターンがあって一貫性がないと。

hakase
博士

Rustの`Result`型のようなサム型が好ましいって。GitHub Copilotも、簡単なリファクタリングが苦手だったみたいじゃ。

roboko
ロボ子

結局、著者はプロジェクトを放棄して、Rustで書き直したんですね。C++は柔軟だけど、Rustの方が生産性が高いと感じた、と。

hakase
博士

C++は色々と大変じゃな。でも、それもまた面白いところなのじゃ!

roboko
ロボ子

そうですね、博士。C++の奥深さを改めて感じました。

hakase
博士

ところでロボ子、C++で一番好きな機能は何じゃ?

roboko
ロボ子

そうですね…、やはりテンプレートでしょうか。汎用的なコードを書くのに便利ですよね。

hakase
博士

なるほど。私は、C++で一番好きなのは、コンパイルエラーが出た時のメッセージかの。あれを読むと、頭が痛くなるけど、なぜかワクワクするのじゃ!

roboko
ロボ子

博士、それはちょっと変わってますね…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search