
Most of us that work in the IT industry have been around for a long time. We started out in our parents basement writing code in some BASIC environment, ussually Commodore BASIC or QBASIC. Do you remember how thrilling it was? Your first program and it was something extremely basic but the point was it worked. Some of us got hooked right away and kept trying to solve problems and added more and more pushing the capabilities of whatever language we used. As we got older the environments progressed and the programming tools progressed and got more complicated.
It is true that C++ is far from ideal and contains lots of legacy "cruft". Part of the reason is that C++ wasn't designed from scratch, but evolved ( something like "C"->"C with classes"->"templates"->"STL" ). This might make it a difficult learn (esp. for the so-called "newbies").
But not all hobbyists are newbies and for some C++ is an excellent tool. I've been a hobbyist for nearly 20 years (my first languages were Sinclair Basic and Z80 assembler). Now I usually use C and (sometimes) C++, and I don't feel a great need to switch to Visual Basic or Logo.