Assumed audience:       Other people in the Rust ecosystem (or interested lookers-on), especially those in a position to improve on the current

Async Rust Complexity — Sympolymathesy, by Chris Krycho

submited by
Style Pass
2024-05-08 02:30:02

Assumed audience: Other people in the Rust ecosystem (or interested lookers-on), especially those in a position to improve on the current baseline.

I have spent a good part of the last week or so trying to get my head around as much of the Rust async ecosystem, as part of working on a new chapter for The Rust Programming Language on the subject (!). There is a lot to like. There are also some bumps and hurdles, though. It feels harder to learn than other parts of Rust — not in the sense that the ideas themselves is harder than the other parts, but in that there is not a single coherent thing to learn, but rather a core set of ideas and then a total mishmash of an ecosystem which is required to use those ideas.

Rust Futures have the reputation of being hard. We don’t think this is the case. They are, in our opinion, one of the easiest concurrency concepts around and have an intuitive explanation.

However, there are good reasons for that perception. Futures have three concepts at their base that seem to be a constant source of confusion: deferred computation, asynchronicity and independence of execution strategy.

Leave a Comment