The Problem with Friendly C
Tone: I do not mean this as sarcasm or merely chasing fashion, I&#x27;m quite serious. As both theory and practice are showing, you&#x27;re never going to be able to get the consensus you want out of C. There&#x27;s no &quot;saving&quot; C... not because that&#x27;s somehow mathematically impossible, but simply because the project is too staggeringly large for us to even wrap our heads around. It would literally be easier to get people to start using another language...<p>... so, why not do that then? We have, for perhaps the first time in 40 years, a candidate for a systems language that can truly replace C, that has truly different semantics (i.e., not C++, which is still profoundly C with a lot of stuff bodged on the side). I&#x27;d suggest trying to use Rust, and working with that team to nail down whatever remaining issues may yet be undefined in Rust that may cause trouble in the future. Whatever remaining practical problems there may be (and my impression is that that isn&#x27;t really a long list), work on resolving them.<p>Again, I am not being sarcastic or cynical; it is truly my estimate that it would be easier to get people behind that than to fix C at this point. Probably by a good two or more orders of magnitude. Obviously we&#x27;re not going to rewrite all existing code. Obviously there&#x27;s a lot of code still to be written that is so deeply embedded in C that there&#x27;s no practical alternative to adding more C to it, even in a world of FFI support and such. But if the people who care about the idea of BoringC or Friendly C start getting behind Rust, getting their hands dirty with it, and doing what the Mozilla project is doing to find places where they can start slotting subsystems in cleanly to existing code bases, you may just be able to start creeping out of the mess we&#x27;re in now.<p>And... who knows. If this becomes acceptable, then generally considered a good idea, then best practice, then perhaps even something you need to do unless you want people to think poorly of you... perhaps real change will prove to be less intractable than we thought. People consistently overestimate change in the short term but underestimate in the long term. It is, perhaps, not too much to hope for that huge swathes of our fundamental systems could be running on Rust in 20 years, instead of C.<p>So I&#x27;ll reemphasize once again... yes, I know I&#x27;m proposing a staggeringly enormous change. The only thing that it has going for it is that I still think it&#x27;s easier than the staggeringly-enormous-squared other choice.<p><i>Something&#x27;s</i> gonna happen. After all... what&#x27;s the alternative? That C is still the foundational language of the entire computing world in 2035?<p>Seriously?