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.