Old observation: "cc is half a compiler; the other half is lint"
That can work with /your/ code. It becomes more problematic as you incorporate complex libraries from other companies (or worse, other projects in the same company!). That probably does not occur much in your use cases.
I've seen far too many people believe their software works because the unit test light is green. No thought is given to whether the tests work, whether they test all the necessary functionality, whether there are common-mode misunderstanding in the code and tests, whether the spec has been understood, whether the spec is right.
C is a horribly complex language where /knowledgeable/ people argue about what /ought/ to be the semantics of the code. C++ is worse.
To a large extent that stems from C wanting to be both a close to the silicon and a general purpose high level language. Either would be good, both simultaneously doesn't work.
Forth is much simpler in that respect, which is a benefit.
The IDE makes it practical to, with a /large/ chunk of code, say "change this method's name and change the name in all places where this method is called, checking there are no naming conflicts anywhere in the code". Ditto with a class. The main place that can fail is where reflection is used, but that ought to be used very sparingly.
Ditto with "extract this block of code and turn it into a method". That one is simple with a text editor; the others aren't.
BTW "large" means 10 of thousands of lines written by people/projects that you don't know exist.
BTW, you can't do such refactoring /accurately/ with C/C++.
Badly expressed.
Standard languages come with well developed toolsets for browsing and inspecting and changing programs.
With a Domain Specific Language, you have to write the tools yourself.