&gt; Most of today&#x27;s programming problems come down to laziness and fear of &quot;premature optimization&quot; (which is obviously bunk). It is possible to write perfect C code that runs correctly the first time and every time. You do that by planning ahead. Formal specs are part of this.<p>If &quot;planning ahead&quot; were enough to prevent security vulnerabilities in practice, someone would have done it by now. Instead, we&#x27;ve had C for upwards of 30 years and <i>everyone</i>, &quot;bad programmers&quot;, &quot;good programmers&quot; and &quot;10xers&quot; alike, keeps introducing the same vulnerabilities.<p>It&#x27;s a nice theory, but we&#x27;ve been trying for over 30 years to make it work, and it keeps failing again and again. I think it&#x27;s time to admit that C as a secure language (modulo the extremely expensive formal coding practices used in avionics and whatnot) has failed.