If you work with Node.js or Python you might have heard of asynchronous programming a.k.a. async/await.
It lets you do something else while you wait on some work to be done in the background - like reading a file or sending some data over the network.
But what is it, really? And are there differences between the programming languages?
Let's go on a trip through async-land and discover callbacks, event loops, and state machines.
We will look at Node's, Python's, and Rust's async features and how they work under the hood.