I've been doing C++ on and off (mostly on) for 20 years. I'm on the fence about whether or not it's great. I definitely like it, and I think the right subset of C++ is great, but the right subset changes over time (e.g., you couldn't have paid me to use templates and STL 12 years ago), but now I couldn't live without them, and it definitely changes for different people.
In fact, it really is the language's problem. C++ in its entirety is just too complex, and therefore, depending on the code, it can be way too hard to deal with. Of course, Java is a much simpler language and you can hardly do a Google search without seeing someone complain about how so much Java code is like dealing with the Soviet bureaucracy (an accurate description in my experience). I guess C++ makes good developers better and bad developers worse... and that is because of the language.
My language of choice these days would be Python and if I do anything for fun, it's with Python. I think Python is a far more elegant language, as well as simpler than C++, but doesn't lack the ability to be really expressive, usually with much less code. There are obviously issues with Python, too, it's not my intention to start a flame war, but as much as I like C++, I think a lot of its problems _are_ the fault of the language.