YoVDO

Kotlin Coroutines: From Stackless to Full-Stack Implementation - Challenges and Solutions

Offered By: Java via YouTube

Tags

Kotlin Courses Asynchronous Programming Courses Coroutines Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the evolution and implementation challenges of Kotlin coroutines in this 47-minute Java conference talk. Delve into the redesigned coroutine support shipped in Kotlin 1.1, examining the shift from stackless to full-stack coroutines capable of suspending execution at any depth. Learn about the semantic issues encountered during implementation, the solutions developed to address these challenges, and how Kotlin achieved support for Go-like channels and CSP programming style. Gain insights into practical JVM implementation issues, trade-offs made by the Kotlin team, and the resulting impact on coroutine functionality. Discover key concepts such as suspending functions, coroutine builders, thread confinement, stack trace handling in exceptions, and library evolution. Understand the experimental status of coroutines and their potential for future development in Kotlin programming.

Syllabus

Intro
Async the Kotlin way (prototype)
Suspending functions: use
Suspending functions: declare (prototype)
Suspending functions: implement (prototype)
A problematic example
stack unwind convention
A solution (0)
Call/declaration fidelity
A solution (1)
Tail suspension
A solution (2)
Abstraction
A solution (4)
Recap steps to solution
The final touch: await extension
Coroutine builders (prototype)
Arbitrary suspending calls
Stackless vs Stackful coroutines
The problem with async
Composability: evolved
asyncul (prototype)
The actual Continuation interface
Thread confinement vs coroutines
Stack traces in exceptions
Library evolution: already there
Library evolution: WIP
A closing note on terminology
Experimental status of coroutines


Taught by

Java

Related Courses

Kotlin Bootcamp for Programmers
Google via Udacity
Введение в язык Котлин
St. Petersburg State Polytechnic University via Coursera
Kotlin for Java Developers
JetBrains via Coursera
Developing Android Apps with Kotlin
Google via Udacity
Advanced Android with Kotlin
Google via Udacity