I'm an old asm/C/C++ programmer (retired) who wanted to learn Rust but didn't make the effort because of all the stories about how hard it was to deal with the borrow checker. Then I realized that for a programmer like me that was used to managing memory in my head, the borrow checker would be a piece of cake. I wrote my first program in it and it was not hard at all. I get it that JavaScript/Python etc... programmers who always had a garbage collector might have trouble.

It was so nice to have the compiler catch several stupid errors for me. If I were King of the world I would decree that all new public facing software with real world consequences had to be written in Rust. I'm pretty sure I read that Microsoft is looking at Rust to mitigate some of these issues.

Edit: added "new" to make it clear I don't mean rewriting everything in Rust.

When you already have 10's of millions of lines of code written in C++, migrating to rust is no easy task...

Microsoft already tried to migrate bits of userspace to C# in 2008 with windows vista, and that didn't exactly go well...

They also tried to migrate UI stuff to HTML in 1998 (Windows explorer, Active desktop). Didn't work out great either.

Perhaps 10 years is their corporate memory-span and we're overdue another try tho?

I'm not suggesting re writing everything. I'm suggesting that it's irresponsible to start a new project in an unsafe language when an equally efficient safe language is available.

This isn't a new project. Also tooling is a thing & in bigger companies you have to deal with inertia (retraining people is hard). I think at some point the bullet has to be bitten. I also think there's some value in figuring out how to write C/C++ -> Rust translators to automate some of this process. That's the only way we can get ahead of the curve.

It's possible to migrate C to Rust function by function, not sure if anyone has figured out something similar for C++ yet though:

https://github.com/carols10cents/rust-out-your-c-talk