Not technically a separate language, SaferCPlusPlus[1] is a memory safe dialect/subset of C++. As far as I know, it is by far the highest performance[2] solution currently available for addressing memory safety in C/C++ code (aside from full static verification when that is feasible, of course). The idea is basically just to replace the potentially unsafe elements of C/C++ (like pointers and arrays/vectors) with compatible (memory) safe substitutes. A nice thing about this approach is that converting existing (unsafe) C/C++ code is a simple, straightforward process (that should hopefully be (mostly) automated before long), and it doesn't require learning/adopting any new paradigms. If you want maximal performance though, you'll need to understand the technique of using "scope lifetimes" to achieve memory safety with no run-time overhead.
It's been perfectly usable for a while now, but it's not yet complete. Static tools for automatically identifying uses of potentially unsafe C/C++ elements in existing code, and (at least mostly) automated translation are still being worked on. And there are still elements that are missing safe substitutes (like std::string). So, if anyone's looking to kill some free time... :)
It's been perfectly usable for a while now, but it's not yet complete. Static tools for automatically identifying uses of potentially unsafe C/C++ elements in existing code, and (at least mostly) automated translation are still being worked on. And there are still elements that are missing safe substitutes (like std::string). So, if anyone's looking to kill some free time... :)
[1] https://github.com/duneroadrunner/SaferCPlusPlus
[2] https://github.com/duneroadrunner/SaferCPlusPlus-BenchmarksG...