C++ is one of the languages less suited to the strengths of coding agents.
The language which still supports C-style pointers, arbitrary datatype conversions, and inherits architecture-specific undefined behavior gives you too many ways to fail at solving a problem.
As a programmer, I love coding in C++ because I know what I'm doing. I'd hate reviewing C++ code though.
A few reasons:
1. Header files make C++ verbose. Header files are well within LLM's ability
2. LLMs can handle setting up cmake for you
3. C++ is very well documented relative to (most) newer languages
4. LLMs can port modern features like websockets and build API wrappers easily, reducing the disadvantage against web (since most documentation is for JS/python/go)
Coding languages have been developing for speed of (manual) writing - akin to how human languages did with modern alphabets. Now that writing is a lot easier, languages will likely evolve towards a focus on execution (or in the case of human languages, speed of reading and precision of understanding)
All of those seem like barriers that make C++ unappealing in general, but you're deciding to overcome the barriers using an LLM and seeing that as a strength somehow?
Just speculation, but I think we would expect a language to grow if AI is effective with it. C++ has a lot of training data. Most large software projects are written in C++: web browsers, compilers, 3D renderers, game engines, UI toolkits, etc.
AI is also probably more effective with statically typed languages since the compiler catches a wider range of errors.
Reddit's r/cpp has always had some level of "My First X" posts where somebody goes from their first C++ lesson to being confident they've written the "World's Best X" in about a week. The AI slop made this much worse because now the author has been told by ChatGPT or whatever that they're a genius.
All the popular PLs have this problem to some extent.
The language which still supports C-style pointers, arbitrary datatype conversions, and inherits architecture-specific undefined behavior gives you too many ways to fail at solving a problem.
As a programmer, I love coding in C++ because I know what I'm doing. I'd hate reviewing C++ code though.