Friday, March 19, 2021

The biggest threat to Rust's sustainability

Its fast-paced development cycles.

I love Rust. I can build web servers, create web apps with WebAssembly, use it for embedded development, create shellcodes, and above all, it reduced the number of bugs in my programs by an order of magnitude. As an indie developer, it means that I can sleep far better without the fear of my servers burning (I mean, not literally).

Unfortunately, there is one thing that makes me anxious about its future: the 6-week development cycles. It’s one of the causes of an unhealthy problem: features bloat. It’s also the cause, in my opinion, of another problem: the immaturity of the ecosystem.

I feel like a hamster in his wheel: Will it ever end? As a rust developer, I need to remain up to date with the latest developments in order not to produce code that is obsolete as soon as it’s released.

Learning materials quickly become obsolete: Programming in Rust today is entirely different than what was programming in Rust 1.5 years ago (mainly due to async-await hitting stable). Rust’s learning curve is already high enough to discourage people from learning it, the obsolescence of tutorials and guides absolutely does not help.

The ratio signal/noise is low: Even if there are dedicated posts on the official Rust blog to highlight the most notable features, it’s hard to keep track of all the important features as they are lost among the other less-relevant things.

It feels unfocused: I’m a fan of the Pareto principle: 80% of consequences come from 20% of the causes. It brings calm and helps to identify busywork. Are all Rust’s features high-value, or are some only the cause of incidental complexity?

What I want instead? 4 or 6 months release cycles and a more conservative approach to adding features. For example, instead of a nightly channel, I want a playground channel where a lot of features are experimented, and very few are promoted to stable.

A programming language is a platform. You can’t build a thriving ecosystem on top of an unstable platform. We need, as a community, to find a solution to bring calm and focus to Rust, and then we will be able to stabilize and build a great ecosystem of libraries on top of that platform.

Want to learn more from real-world Rust experience? I’m writing a book (available in early access) where I share everything I learned. Here is a coupon to save 10€ on the book: https://academy.kerkour.com/black-hat-rust?coupon=BLOG



from Hacker News https://ift.tt/3cNg7fB

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.