Should C Programmers Learn C++, Go or Rust? (2018)
The entire Rust section is premised on the common fallacy that &quot;bad programmers&quot;, however defined, are responsible for the safety and security problems of C and C++. The conclusion is that, because &quot;bad programmers&quot; are supposedly incapable of learning Rust anyway, Rust&#x27;s safety features are pointless.<p>None of that is true. The biggest memory safety flaws that have caused the most damage have been, more often than not, written by the <i>best</i> C and C++ programmers. That&#x27;s because the best programmers are the ones who write the critical C and C++ code--Chromium, Firefox, WebKit, the Linux kernel, nginx, libpng, libjpeg, libc, etc. &quot;Bad programmers&quot; (whatever that means) can&#x27;t, and don&#x27;t, usefully contribute to projects like WebKit to begin with.<p>The problem is with the tool. Though it&#x27;s an inconvenient fact to accept, humans have shown themselves incapable of writing safe C and C++ code at scale using standard software development practices (i.e. not spending 10x on verification). That C and C++ are due to be replaced shouldn&#x27;t really be controversial--it&#x27;s natural to expect that we know how to design languages better now than we did in 1978.