Without boats, dreams dry up
I want to address a controversy that has gripped the Rust community for the past year or so: the choice by the prominent async “runtimes” to default to multi-threaded executors that perform work-stealing to balance work dynamically among their many tasks. Some Rust users are unhappy with this decision, so unhappy that they use language I would characterize as melodramatic:
The Original Sin of Rust async programming is making it multi-threaded by default. If premature optimization is the root of all evil, this is the mother of all premature optimizations, and it curses all your code with the unholy
Send + 'static
, or worse yetSend + Sync + 'static
, which just kills all the joy of actually writing Rust.
It’s always off-putting to me that claims written this way can be taken seriously as a technical criticism, but our industry is rather unserious.
…