This is why I'm not a C++ programmer, whenever I look at C++ I am amazed by how complex it is.
Precisely. Whereas the latter debate and complain about whether code is "OOP or not", and think non-OOP is a "bad practice", now we have the same contention around whether code is "pure C++" and dogma that "C with classes" is to be avoided. Hopefully the latter group will also eventually realise the silliness of it all.
I personally use C++ as "C with some extra features" and try to avoid most of the template insanity.
It’s a shame, because there are some places where C++ is a strict improvement over C, but you have to accept so much more baggage.
Could you explain how you would improve the shared_ptr syntax? I'm not sure you could make it that much simpler. std::shared_ptr<Something> seems pretty clear to me.