Hasty Briefsbeta

Bilingual

Writing C++ in 2025

a year ago
  • #Rust
  • #Tooling
  • #C++
  • The author attempted to set up a modern C++ project using tools like clang, cmake, conan, catch2, clangd, clang-tidy, and clang-format.
  • Encountered difficulties with conan's global configuration for C++20 and debugging, and found cmake's manual file listing cumbersome.
  • Setting up clangd was straightforward, but clang-tidy required significant effort to configure correctly.
  • Compared C++ tooling unfavorably to modern languages like Rust, Go, Python, and JavaScript, highlighting Rust's cargo as a gold standard.
  • Criticized C++'s legacy features, such as separate .cpp and .h files, and the complexity of move semantics and error handling.
  • Expressed frustration with C++'s lack of modern conveniences like easy string formatting and iterators, resorting to older patterns like for loops.
  • Ultimately abandoned the C++ project in favor of Rust, citing better tooling, language features, and productivity.
  • Concluded that while C++ is necessary for maintaining legacy codebases, it's not suitable for new projects in 2025.