I entirely agree with this -- in a lot of ways C++ is truly awful (though it's getting much better); but! It's the only practical solution for a lot of interesting work. I think when people are doing something hard they always reach for the pragmatic solution rather than the principled one, and C++ is nothing if not pragmatic.