-
C++の楽しさ
- プログラマは、プログラミングを始めた理由を忘れてしまったと思う。
- C++でプロジェクトを進めながら楽しさを感じ、さまざまなアイデアを実現できた。
- C++は、プログラマがやりたいことを妨げない。
-
C++テンプレートメタプログラミングの問題
- 1990年代後半から2000年代初頭にかけて、C++コミュニティはテンプレートメタプログラミングにこだわっていた。
- これによりC++は複雑で使いにくい言語になった。
- Javaはプログラマのニーズを考慮し、より良いユーザー体験を提供した。
-
C++11の驚くべき変化
- C++11は、言語に多くの改善をもたらした。
auto、nullptr、range-for、ラムダ式、<chrono>、<regex>、unique_ptr、shared_ptr、<thread>などの機能が追加された。
- これらの変化によりC++は、さらにモダンで使いやすい言語になった。
-
C++の現代的な機能
- ファイルシステム探索、パッケージ管理、行列ライブラリ、グラフィック、GUI、TUIなどのさまざまな機能をサポートしている。
- C++は多様なライブラリやAPIに直接アクセスできるため、ほとんど何でも作れる。
-
C++の創造的自由
- C++は創造性を発揮できる言語であり、他言語の権威的な制約から解放される。
- cppreference.comはC++の優れたドキュメントサイトで、すべてのキーワードとライブラリを分かりやすく説明している。
-
C++の欠点
- コンパイラのエラーメッセージは業界で最悪の部類に入り、ビルドツールも使いづらい。
- 言語の複雑さと歴史的な遺産のために、学習曲線が急である。
- RAII(リソース獲得は初期化)は実運用環境では不便なことがある。
-
結論
- C++は今なお楽しくて強力な言語であり、過去の固定観念から解き放たれるべきだ。
- C++はプログラマに創造的な自由を与え、さまざまなプロジェクトを実現できる可能性を開く。
1件のコメント
Hacker News の意見
C++は好きではないが、個人プロジェクトでは満足のいく経験だった。RustとCI/CDが長期的な信頼性を提供する。ビルドシステムとパッケージ管理は難しい。
C++に対する意見は混在している。C++のモダンな品質と古い問題が混ざっている。
C++プロジェクトにサードパーティの依存関係を組み込むのは難しい。ほとんどの現代言語では、簡単なインストールで解決できる。
C++の新機能は学んだが、コンパイラエラーで苦労する。C++14のところで止まっている。
C++への不満は主に古いコードベースから来る。Rustでも同じ経験をしている。
C++を楽しむ人もいるが、個人的にはC++は複雑だ。
C++11には感銘を受けたし、cppreference.comのドキュメントは素晴らしい。
現代C++をよく知るチームがいれば、C++は優れている。性能が抜群で、デバッグと最適化が容易。
C++を学んだが、深くは入り込まない。Rustの関数型プログラミングと性能が優れている。
C++の
std::regexは性能が良くなく、ユニコードサポートが不足している。通常は避けるべきだ。