Asynchronous programming is on the rise. Modern software systems are connected and constantly communicate. Programming languages add some form of asynchronous programming like async/await. However, Kotlin has taken a fresh approach to this problem with Kotlin Coroutines.
In this talk, we’ll study various approaches to asynchronous programming, their evolution, differences and similarities. We’ll see the problem with the traditional async/await approach based on futures/promises and how the Kotlin’s solution that is based on concepts of coroutines and continuations gives us safer and easier programming model.