<story><title>Rewrite Everything in Rust</title><url>http://robert.ocallahan.org/2016/02/rewrite-everything-in-rust.html</url></story><parent_chain><item><author>pcwalton</author><text>&amp;gt; A rewrite would clean up the code, sure, but then you&amp;#x27;re left in the same situation, only with brand new bugs that nobody has time to fix.&lt;p&gt;The entire point is that you&amp;#x27;re &lt;i&gt;not&lt;/i&gt; in the same situation regarding memory safety problems&amp;#x2F;vulnerabilities.</text></item><item><author>panic</author><text>I think this misses the real problem.  So many pieces of foundational software like glibc and OpenSSL are understaffed, underfunded, and plagued by terrible code.  Go read glibc getaddrinfo: it&amp;#x27;s a mess!&lt;p&gt;Rewriting the software in Rust would not solve these problems any more than rewriting it in C++ would.  A rewrite would clean up the code, sure, but then you&amp;#x27;re left in the same situation, only with brand new bugs that nobody has time to fix.&lt;p&gt;We need to have incentives for maintaining this foundational software.</text></item></parent_chain><comment><author>rubiquity</author><text>I think what GP is saying that you&amp;#x27;ll have problems in logic or other typical programming problems and that it isn&amp;#x27;t a lack of language features&amp;#x2F;safety but rather time&amp;#x2F;money being thrown at these libraries&lt;p&gt;I imagine the top two reasons unsafe memory access happen is:&lt;p&gt;1) other complicated logic seeped into the memory sensitive area or causes programmer fatigue&lt;p&gt;2) memory management is hard&lt;p&gt;Rust helps with #2 but let&amp;#x27;s not kid ourselves, what percentage of a library like glibc would be spent in unsafe blocks? Drawing attention to an unsafe area can help though.&lt;p&gt;As you can see, I&amp;#x27;m running around in circles. Just like every discussion about this does. Until an avid Rust user puts their money where their mouth is, we&amp;#x27;re all just playing Armchair Programmer.</text></comment>
<story><title>Rewrite Everything in Rust</title><url>http://robert.ocallahan.org/2016/02/rewrite-everything-in-rust.html</url></story><parent_chain><item><author>pcwalton</author><text>&amp;gt; A rewrite would clean up the code, sure, but then you&amp;#x27;re left in the same situation, only with brand new bugs that nobody has time to fix.&lt;p&gt;The entire point is that you&amp;#x27;re &lt;i&gt;not&lt;/i&gt; in the same situation regarding memory safety problems&amp;#x2F;vulnerabilities.</text></item><item><author>panic</author><text>I think this misses the real problem.  So many pieces of foundational software like glibc and OpenSSL are understaffed, underfunded, and plagued by terrible code.  Go read glibc getaddrinfo: it&amp;#x27;s a mess!&lt;p&gt;Rewriting the software in Rust would not solve these problems any more than rewriting it in C++ would.  A rewrite would clean up the code, sure, but then you&amp;#x27;re left in the same situation, only with brand new bugs that nobody has time to fix.&lt;p&gt;We need to have incentives for maintaining this foundational software.</text></item></parent_chain><comment><author>panic</author><text>Yeah, I&amp;#x27;m not saying that a rewrite is necessarily a bad idea or that it wouldn&amp;#x27;t improve things (though writing a drop-in replacement for something like glibc in Rust sounds pretty challenging to me).  The situation I&amp;#x27;m talking about is the one where no one has an incentive to improve the software day-to-day.  If we really want to fix the problem, we should also look at how it got that way.</text></comment>