Yeah, I like his argument about profiles maybe going to be able “e.g., to eliminate most range errors relatively soon.”
Well maybe C++ could be considered safe “relatively soon” then but not right now.
Like he says: “Of the billions of lines of C++, few completely follow modern guidelines, and peoples’ notions of which aspects of safety are important differ.”
That said, I don’t really consider C++ to be inherently unsafe, there’s a lot that goes into secure programming in any language. Just because you can’t write to an array out of bounds in python doesn’t mean your code is magically immune to vulnerabilities and just because you can in C, it doesn’t mean your code is magically vulnerable to RCE from some buffer overflow.
I also don’t really trust myself to write perfectly safe production C++ though. I feel like it’s still too easy to feel like you know exactly what you’re doing and accidentally miss something small (hence the many thousands of memory safety CVEs in professional software).
Yeah, I like his argument about profiles maybe going to be able “e.g., to eliminate most range errors relatively soon.”
Well maybe C++ could be considered safe “relatively soon” then but not right now.
Like he says: “Of the billions of lines of C++, few completely follow modern guidelines, and peoples’ notions of which aspects of safety are important differ.”
That said, I don’t really consider C++ to be inherently unsafe, there’s a lot that goes into secure programming in any language. Just because you can’t write to an array out of bounds in python doesn’t mean your code is magically immune to vulnerabilities and just because you can in C, it doesn’t mean your code is magically vulnerable to RCE from some buffer overflow.
I also don’t really trust myself to write perfectly safe production C++ though. I feel like it’s still too easy to feel like you know exactly what you’re doing and accidentally miss something small (hence the many thousands of memory safety CVEs in professional software).