(First off, yay Rust 1.0! I can’t wait to build more things in it!)
One thing that I love about this announcement is that they explicitly call out cargo.io as a driver behind the ecosystem. There’s something that’s implicit in that call-out that I’d like to pull out: It’s also a driver for backwards compatibility.
If you run a source code repo full of code intended to be re-used, you also have the means to test whether that code still works across releases of your language. This is pretty powerful stuff, and, I believe, has helped many other language communities improve the base they build on.
The Julia community has benefited from similar stuff (e.g. running PkgEval on the complete list of registered packages with an experimental change to Julia to get a sense of just how breaking the change really is)
So… if I tried out the really early versions of Rust, had all the memory management stuff changed up on me, got frustrated with all the churn and set it aside for a while… now is a good time to come back?
If you’re frustrated by churn, you should wait until at least the beta release, if not the 1.0 release itself.
A sort of TL;DR:
That said, the ‘memory management stuff’ is mostly stable, and has been for a while.
I’ve been working on rust-mqtt since 0.9 and I’ve had to basically rewrite the entire lib due to major changes to memory management. With that said, the latest incarnation of memory management is much more straightforward than it used to be. Also, cargo seems to force me into a better project layout. The Rust I’m using now definitely feels a lot more mature. The documentation seems to be pretty solid (examples in comments actually have to compile before documentation can be generated). Since being on the latest version (a 0.13-prealpha nightly) I only asked one question on the IRC channel; and I probably shouldn’t have even bothered asking there since it wasn’t even a good question. I’d definitely recommend giving it another look.
That’s the sound I’ve heard from the folks I know who do rust. It sounds like they have largely stabilized the memory management stuff (though AFAIU it’s still subject to potential last minute changes before 1.0.0 proper).
I’ll be trying it out again when they release the alpha.