Vsevolod Tolstopyatov | KotlinConf 2024, May 22–24, Copenhagen
all speakers

Vsevolod Tolstopyatov

Vsevolod Tolstopyatov

JetBrains, Kotlin Core Ecosystem

[To rewrite] Having fun in Kotlin team, poking APIs, libraries, langauges, and tools. Passionate and curious about concurrency and low-level programming

Asynchronous Programming With Kotlin Coroutines

In this workshop, you’ll learn everything you need to know about how to be productive with coroutines in Kotlin. We’ll start with the basics of asynchronous programming, its differences from blocking code, and the concepts of suspending functions and coroutines. We’ll explore coroutine contexts, concurrent decomposition of work via deferreds, and structured concurrency with coroutine scopes.

The second part of the workshop will be devoted to Kotlin Flows. We’ll study how Kotlin Flows are designed on a basic level, learn the difference between hot and cold flows, discuss their typical usage patterns, and explore how they incorporate ideas from reactive streams. To deepen our understanding, we’ll also take a peek at some of the implementations behind flows and collectors. Throughout, we’ll see how they help you in writing safe and reliable concurrent systems, and how modern applications can use them to work with asynchronous streams of data, manage system state, and broadcast events.

Through this workshop, you’ll enhance your coroutines-related vocabulary, understand how to spot and avoid common problems, and be able to effectively and confidently use coroutines and flows in your own projects.

Why we can't have nice things

Have you ever wondered what challenges Kotlin standard libraries encounter? How the new API is affected by candles consumption in 1700s, choices from late 80s and twitter polls? How the code from GitHub makes us postpone the language features? What it has to do with Kotlin compiler not working in Turkey?

In my talk, I'll shed some light on these topics and briefly cover some problems we fight on a regular basis in Kotlin Libraries.