Re: interesting, but...
Testing won't capture all the bugs, but testing, auditing, and all the other tools of the trade will get you into the right ballpark, eventually you'll get enough of bugs squashed that you can ship it. Sometimes that's good enough, sometimes not, projects fail!.
You cannot fundamentally ignore the machine the code runs on, and hand wave it with compiler and language design. The author of the code is responsible for expressing intent with clarity.
When the intent is not clear, the code will do the wrong thing, in any language.
One cannot design tools to make people think clearly, hence it's easier to ignore all of that, and focus on what the code is *doing* to the machine when trying to figure out what it's doing (the reason someone initially invested the development effort). C makes it easy, C++ makes it possible, Go - not so much.
Rust seems to have dodged the Go/Java bullet i.e. making calling C/C++ code really slow.
C++ is doomed to succeed, it's functional enough, concurrent enough, portable enough, and *standard* enough.
There just isn't any point in jumping onto golang or rust or whatever, write in C++ if you can, C if you must, and ASM only in dire need.
Everything else is mostly acceptable for some scripting language, I still use a lot of shell but ruby is nice.