C++ Frequently Questioned Answers (2009)
Some of these aren&#x27;t true anymore. I&#x27;d say some things improved from that document. But, I&#x27;d also say a lot of things got worse that aren&#x27;t mentioned.<p>We could nitpick at specific sentences&#x2F;questions, but at the end of the day the spirit&#x2F;gist of the document remains true, sadly.<p>I used to quite like C++ in my younger days (highschool, uni), but once you start working with multiple people on a team, or a larger project, the illusion quickly unravels.<p>The problem in C++ comes when you always have to make a poor value trade.<p>If you wanted readability, or maintainability  you have to sacrifice performance.<p>Of you want performance, you have to sacrifice everything else.<p>A great and easy example of this is that the most succinct&#x2F;readable usage of std::variant has the most morbid performance, and the visitor API is just... Well, if people find that elegant, then beauty really is in the eye of the beholder.<p>I still write C++ at my job, but I&#x27;ve no illusions about its grandeur.<p>I have met a few profiles of people  in my life&#x2F;career who defended C++, and they seem to be present on HN too, so please don&#x27;t take these gross over-generalisations personally; they&#x27;re imperfect as all generalisations are, and they&#x27;re just anecdotal anyway:<p>Some just like feeling like powerful mystic wizards who have mastered the arcane syntax of invoking eldritch features. An additional layer is people who enjoys feeling like heroes when stuff goes wrong in production and they fix it with gdb keyslaps to dump core and transmute memory.<p>Another profile, that seems way more common, are people stuck with C++. It&#x27;s kind of a sunk cost fallacy, they already have a career in C++. And there really was nothing better for a long time (ok there was, but not on the job market, and C++ is heavily lobbied at unis). It&#x27;s also hard to know anything other than C++, because of how taxing the language is; there&#x27;s little energy left in you to learn something else.