I think I've figured something out... one of the fundamental reasons that I don't like C++. I just don't think in C++. When I think about my code at an architectural level, or from the perspective of the user, or just want to throw something together quickly, I think in VB and C#, VB being essentially C# with words instead of symbols. If I'm trying to think of a way to write a fast algorithm or something that uses memory really efficiently, I think in C. When I want to think like a computer, I think in assembly. At no point do I really ever think in C++. If I ever think about using C++, I generally use it as if it were C. If I ever get to the point where it's really useful for me to create classes, I'm already to the point where I want to think about creating a high-quality, robust architecture, and I switch to VB/C#.
So, I'm fairly unique amongst professional developers in that I don't really like working in C++ under any circumstances. I like to think about software problems like a person, not like the computer, and I strongly believe that C++ is not suited for human-focused development. All of the little hacks to make C++ behave more like a reasonable language (COM, I'm looking in your direction) are just that: hacks. When you "fix" C++, you get C# or Java or D. Then, make the syntax easier to read, and you get VB.
Oh well. I bitch about these things a lot. I'd do something to change the situation if I had the autonomy to just work on "improving programming" for a year or two. But, I don't ever seem to have enough spare time as it is.
[This post somehow managed to take me 27 minutes to write. I've been kind of mesmerized by Vanessa Carlton.]