← Back to context

Comment by Voultapher

21 hours ago

As much as the alternatives (profiles) don't solve the issue, Safe C++ (Circle) does have substantial issues as well. You need a separate and largely incompatible standard library, including containers. Generic code (templates) is largely left unsolved on a conceptual level so far. At this point incrementally replacing parts of your code with Rust - which has a mature ecosystem and tooling, remember if you want provable safety none of your dependencies used in Safe C++ code are allowed to be unsafe - is going to be less hassle. Firefox showed you can do it, and even Microsoft is choosing that path for the Windows kernel. Waiting for Safe C++ to be usable, seems like wanting to wait for a worse Rust. Interop is hardly going to be much better than bindings generated by cxx.

I get that, though I think different containers can be refactored well.

Replacing parts with an entirely different language is a whole other level compared to same language, modified standard library.

And I think a big reason Rust is winning is that it works, today. C++ doesn't. There is no other path other than to migrate to another language.