C++ is the ugliest language out there. There are so many things! It’s direct opposite to the ‘there is only one way to do X’ paradigm — there are always a million ways! Static typing is fun, `const std::vector<std::shared_ptr<MyClass>> &classes` is not.

If I had to choose between C++ and C, I’d pick the latter, despite it being less safe. But of course, nothing beats the modern higher level alternatives. Even NSA doesn’t want to touch C/C++ any more.