2 ms·
Patching up C has been attempted many times, with great success. Problem is, once the patch-up is completed, the language and memory layout of things like stack
by yholio 6y ago
Patching up C has been attempted many times, with great success. Problem is, once the patch-up is completed, the language and memory layout of things like stacks, structures etc. that you end up with makes that secure language no longer C. You lose the ability to recompile billions of lines of legacy code, you lose binary compatibility and/or require compatibility and emulation layers or stupid "unsafe" modes that negate the benefit.
What you end up with is a silly new language that inherits the awkward syntax of something designed in the 60s and lacks the rich expressivity and idioms of newer languages. At that point, it makes little sense to not start from scratch and work with a completely new language adequate for your application - such as Rust or Java.