A bimonthly podcast that covers the Kotlin programming language by JetBrains, as well as related technologies. Hosted by Hadi Hariri
Discussing Kotlin Coroutines with Marcin Moskała
Sebastian and Márton chat with Marcin Moskała about coroutines.
Resources:
- Coroutines Mastery course
- Coroutines | Kotlin Documentation
- kotlinx.coroutines
- Taming Asynchronous Beasts | Marcin Moskała
- Coroutine Debugging in IntelliJ IDEA | Alexey Merkulov
- Lifecycles, Coroutines and Scopes | Alejandro Serrano Mena
- Collect Like a Pro | Manuel Vivo
- Untangling Coroutine Testing | Márton Braun
- JetBrains/lincheck – Concurrent testing framework
- #talking-kotlin on Kotlin Slack
Hosts:
Guest:
- Marcin Moskała – kt.academy
Timeline:
(0:00) Introduction
(1:18) Branding discussion
(3:23) Handling preconceptions
(4:54) What are coroutines?
(7:17) Lightweight threads?
(11:07) Where coroutines live
(13:27) Sequence Builder Example
(17:37) The design of coroutines
(20:52) What Makes Coroutines special vs other languages?
(26:56) Coroutines vs Loom
(34:55) Easy to start, hard to master
(41:07) Common mistakes
(49:33) Flows
(58:52) Thinking about Flows
(1:02:41) Derailing the conversation
(1:03:55) Flows for single values
(1:12:27) Structured concurrency
(1:18:53) The 4 advantages
(1:24:40) Seb tries web dev / The web is broken?!
(1:31:15) collectAsStateWithLifecycle
(1:32:00) Gardening break
(1:36:23) Scopes and contexts
(1:43:22) Testing coroutines
(1:50:29) Lincheck
(1:51:32) Turbine
(1:55:05) Coroutines Mastery course
(2:01:43) Wrap-up