- The features that make C++ decent are often found in C++ 20/23, for which there are woefully few resources
- Code taking advantage of coroutines and generators isn't commonplace yet, rare to find examples
- C++ 20 concepts are a near mirror copy of Rust Traits and enable composition that's an alternative to inheritance, again difficult to find examples of
- C++'s way of "implementing" interfaces (IE iterator<T>) by having a magic defined set of type aliases and methods is not intuitive for me
- Writing code to control things like parallelization and thread scheduling that's portable across libraries is difficult. I think std:: executor is supposed to fix this but if I'm manually scheduling threads and I want to use IE oneTBB it's not obvious how to do this.
- Dependency and package management is a nightmare. Need to condense CMake + vcpkg into a Cargo like tool and make it a standard
- error messages are indecipherable. GCC 13-dev colors make this a bit better but human-written "ELI-5" errors succinctly explaining the problem and suggesting a solution (like Rust)
- flags like "-fsanitize=address,leak,undefined -fanalyzer -Wthread-safety -D_FORTIFY_SOURCE=" should be baked in to a default "dev"/"debug" mode newbies shouldn't need to know/think about
- Profiling and instrumenting/monitoring should be a few CLI flags with nice UI visualizers (IE LLVM X-ray)
- I have to Google what headers cstd/std stuff comes from half the time