How do you see the future of Rust?

Predicting the future is hard! But my guess is that Rust is going to be the most significant system programming language (perhaps jointly with "C") for many decades to come. I guess this question can be broken into two parts:

(1) Is Rust now well enough established that it is going to be dominant for the jobs it does well?

(2) What could displace it, and how could that happen?

Perhaps (1) is not yet certain, but I think once Rust becomes well-established, it will be very hard for a new language to displace it, due to inertia and the enormous amount of effort to construct something significantly better.

2 Likes

It's hard to predict the future, and this forum is going to be very biased :slight_smile:

I think Rust does its job well enough that it managed to change "C/C++" into "C/C++/Rust". I can see it significantly replacing C for new projects.

Whether it will also displace C++ depends on interoperability with C++. There are major codebases like Qt and Unreal Engine that require C++, and Rust isn't established yet in GUIs and game development.


Currently, I don't see any language replacing Rust directly. Rust had a nearly a decade of growing its ecosystem and proving its usefulness and stability. Even if someone made a "Rust but better" language now, it may be hard to justify switching to an even newer language.

However, there are lots of use-cases where Rust is not necessary, because higher level GC languages are good enough. As computers get faster, the set of programs that need bare-metal performance shrinks, and set of programs fast-enough in any language grows. I can imagine other programming languages taking Rust's good parts like sum types, send/sync, and explicit ownership, but having a GC and other simplifications to make it easier to learn, and such languages can indirectly displace Rust for uses where Rust isn't necessary.

8 Likes

Yeah, that and the widespread interest in general, are fantastic! Rust is practically synonymous with memory safety plus maximum performance.

That is a good point and I have wondered whether Carbon might become a good Rust alternative because of its C++ compatibility. But not only is it in very early stages, it has punted so far on memory safety, which is Rust's main strength. We'll have to wait at least a few years to find out what happens with it.

Is there really any hope that Rust will ever have good C++ compatibility? I don't know what's happening, but it just seems so difficult, especially as an afterthought.

Yes, I think that's the key thing. Single ownership seems necessary to have safety and maximum performance. But it is so difficult to make it usable! And Rust has been evolving on that issue for much longer than others. The only question is whether some new approach will give the same benefits but be much easier to use. People are trying, but there is nothing I've seen so far, or at least nothing that has gotten far enough to really evaluate.

I'm not sure about that. Even though hardware becomes faster, we also do more and more things with it (computing per capita?). For new services, overspending on hardware may be fine to get started. But for established services, companies seem motivated to minimize hardware costs. There is also the growing need for low latency services, which is very difficult to do when tracing GC is involved.

And in the meantime, Google is going heavy on Rust and working on improving C++-Rust interoperability! If and when Carbon reaches 1.0 will Google rip out their Rust and replace it with Carbon? I suspect not.