Without any data to back this up, my guess is that there is no good reason to pick C++ for a new project except when the developer is already fluent in C++.<p>Assume we have this abstract developer that has a good knowledge in programming theory but has no experience in programming languages.<p>The developer starts a new project, but in what language?<p>web: Don't see any reason for this. Exist lots of great alternatives. This is not really one of C++ strengths so is not that strange.<p>desktop-GUI: Probably one of the biggest strengths of C++ is the Qt framework, it is solid choice. I can see this a possible choice. However with electron dominating & PWA:s becoming a more viable option it is probably much higher chance that a HTML/JS environment is picked instead, especially how it already dominates the web. And by using TypeScript you can do it an solid language.<p>mobile apps: Most apps are written in some web technology or directly with Swift or Java. Qt has some support for this, but not sure how widely used. My experience with NDK was not pleasant. I can't really see this as a viable option.<p>embedded: I don't do embedded, but my understanding is that plain C is much more common here & if faster development is needed you integrate something like Lua. Maybe?<p>memory safe: use rust I guess.<p>compiled binary: Use golang, no complicated buildstep.<p>Parallellism: Better to use a language designed for this like erlang.<p>Game development: For the majority of games today a scripting language like JavaScript or Lua is good enough. HTML/JS has some really good frameworks for game development today.<p>3D game development: Probably a good fit to use C++, but I think that C# with Unity is a much better choice. Great framework, good community, however C++ is not bad choice for this. Possible.<p>Commandline tool: If the developer is building the next grep, C++ could fit that, but most commandline tools does not have that performance requirement, Probably do some HTTP, JSON decoding, DB access. Bash is good enough or any other dynamic language.<p>Scientific: my understanding is that today this is mostly python or matlab. Maybe?<p>System development (drivers etc): I know too little about this to make a good assessment, to be fair I put this as a possible choice.<p>And if the developer do decides to use C++ for a new project, the initial cost is quite high to just understand the basics, even if he/she uses the latest C++ version. Copy constructors, lvalue & rvalue (xvalue, glvalue, prvalue...), move semantics, const refs, rvo, smart pointers, auto etc<p>Any good arguments to pick C++ for a new project?