Being fair about memory safety and performance
I&#x27;m not quite sure who this article is aimed at, and who those &quot;C++ apologists&quot; are, but as someone who programs in C++ all day, doesn&#x27;t like it at all, and yet won&#x27;t advocate to switch to Rust, these kinds of arguments are unconvincing. I&#x27;m not advocating to switch to Rust not because I don&#x27;t think it&#x27;s better than C++. I am absolutely, 100% convinced that Rust is <i>technically</i> better than C++ in most possible ways — in some, significantly better — and worse in almost no way. The problem is that, overall, it&#x27;s not better <i>enough</i>.<p>Reevaluating a low-level programming language is something that&#x27;s done in a large organisation or project once every 15-25 years or so. Switching such a programming language incurs a high cost and a high risk, and is a long-term commitment. To make such a switch, the new language obviously has to be better, but that&#x27;s not enough. It has to be <i>a hell of a lot better</i> (and, if not, at least return the investment with a profit quickly).<p>For some, Rust is better enough. For me, not nearly so. Even though it offers a fascinating and, I think, ingenious path to better safety, it shares some of C++&#x27;s greatest downside <i>for me</i>, which is that they are both <i>extremely</i> complex languages. Maybe Rust is simpler, but not enough. Rust also shares what I think is C++&#x27;s original misguided sin, which is the attempt to create a low level language, whose code appears high-level on the page by means of a lot of implicitness. I&#x27;ve become convinced that that&#x27;s a very, very bad idea.<p>If there were no other ideas on the horizon or if Rust seemed like a surefire success, it might have been justified to make such a switch, but that&#x27;s not the case. Rust&#x27;s low adoption rate in professional settings is not reassuring to &quot;PL-cautious&quot; people like me, and a language like Zig shows that there are other approaches that appeal to me more, and while more revolutionary and ambitious than Rust in its departure from C++&#x27;s philosophy, I think it also has the potential to be better <i>enough</i>. Maybe it will make it, and maybe it inspires some other language that will, or maybe other ideas will turn up. Given the risk and commitment, to me it makes sense to wait. I don&#x27;t like C++; I believe Rust is better. But that&#x27;s not enough.