Hi,

Wanted to chime in on this interesting thread. Do you guys think that C++ just has a bad rep because it just has a bad rep? By this, I mean something along the lines of the misinformation about C++ floating around and gets spread around - sometimes through coworkers or sometimes through professors - or sometimes through ESR.

I remember talking to a friend some years back and he was complaining about std::string being slow. Now, I'm certainly not advocating that std::string is lightning fast - but for most practical purposes, it's probably fast enough. Anyway, I asked him why he thought it was slow. He said, "Well, because it's too big". This friend had been out of college for about 2+ years and had been coding at some company for that amount of time....using MFC. To make a long story less long - his understanding of how a C++ program was loaded into memory was based on his understanding of how Java does it - because Java was what he had learned in college. I don't know how Java does it, my point here is that based of some previous knowledge - he had made some assumptions about C++ that may or may not be correct. In some parts, I think it's just human nature and that a large portion of the population does this.

That being said, I've ran into guys and girls that have been coding for some number of years that have had similar explanations for various other aspects of C++. I also run into the really hardcore C guys that hate C++ because they just hate it. Reasons vary. Then there is the ObjC guys. Then the dudes that you guys mentioned already that new language XXXX will replace C++.

From my perspective, C++ is a complex language. But that's what I enjoy about it and I dont' think I'm alone. I've been getting into a lot of template meta programming lately and the doors that it has open is simply amazing. I remember a few years back discovering Boost, boost::shared_ptr changed the way I designed objects. I don't think a whole lot of people really look forward to this kind of stuff - they feel like it's an unnecessary burden. Good C++ coders seem to be a different breed from the rest.

There are also some stupid parts about C++ one of which is std::string does not have replace operations that is string based and not index + size based. Boost saves the day on this one. I can sort of see where some programmers frustration with C++ comes from, but it's hard to sympathize with them when the solution to their problem is a Google away.