Writing C++ in 2025
a year ago
- #Rust
- #Tooling
- #C++
- 作者尝试使用clang、cmake、conan、catch2、clangd、clang-tidy和clang-format等工具搭建现代C++项目
- 遇到conan对C++20的全局配置和调试困难,且认为cmake手动列出文件的操作繁琐
- clangd配置过程顺利,但clang-tidy需要大量精力才能正确配置
- 将C++工具链与Rust/Go/Python/JavaScript等现代语言对比,特别推崇Rust的cargo作为黄金标准
- 批评C++的历史包袱,如头文件与源文件分离、移动语义和错误处理的复杂性
- 抱怨C++缺乏现代便利特性(如简易字符串格式化、迭代器),被迫使用传统for循环等模式
- 最终放弃C++转向Rust,理由是工具链、语言特性和开发效率更优
- 结论认为C++仅适合维护遗留代码库,2025年新项目已不再适用