I've been coding in C++ professionally for six odd years, and it's my go-to language for performance-critical projects. When working to a deadline, the scope expands to fill the time available. Without that deadline, such as in personal learning projects, the scope exponentially grows until I'm exhausted. I start wanting to program a quick and dirty visualised physics simulation using CUDA and OpenGL, and then find myself writing an allocator to get the memory management just right. I know I've gone too far when I find myself needing a virtual template.
I know there are a couple of personal biases exacerbating the problem; such as an unwillingness to adopt an entire library for a couple of useful functions, and an unreasonable aversion to boilerplate code. But I'm also wondering if C++ is part of the problem. There's the ever-growing feature set, the complicated way those features need to interact to implement particular patterns, the error messages, and even organisation of the source files.
Does anyone with experience of C++ and other performance-focused/compiled languages agree C++ makes things complicated and maybe recommend alternatives? I'm hoping there's something out there that shares Python's "There should be one, and preferably only one, obvious way to do things." Or does working with C++ necessitate some degree of project management.