What if you could write asynchronous code that looks completely sequential? Discover how coroutines, a 60-year-old concept, finally solve callback hell.
#1about 1 minute
Celebrating the 60-year history of coroutines
Coroutines were first introduced 60 years ago by Melvin Conway in his work on a COBOL compiler to optimize its structure.
#2about 7 minutes
How coroutines suspend and resume using state machines
Unlike regular functions, coroutines can suspend their execution and resume later, a process managed internally by a state machine.
#3about 4 minutes
Comparing stackful and stackless coroutine models
Stackful coroutines have their own dedicated stack and can suspend from nested functions, while stackless coroutines save their state on the heap.
#4about 7 minutes
Exploring symmetric and asymmetric coroutine control flow
Asymmetric coroutines return control to their caller upon suspension, whereas symmetric coroutines can transfer control directly to another coroutine.
#5about 7 minutes
How coroutines fit into modern threading models
Coroutines function as lightweight user-level threads that are managed within a process, making them more memory-efficient than kernel threads.
#6about 5 minutes
Using coroutines to write linear asynchronous code
Modern languages use coroutines with async/await syntax to transform nested callbacks into linear, more readable code for I/O-bound operations.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
03:26 MIN
Simplifying concurrency with structured coroutines
Moving from Java to Kotlin
04:35 MIN
Concurrency support from memory models to coroutines
The Design and Evolution of C++
03:46 MIN
Overcoming thread limitations with event-driven programming
Concurrency in Python
04:10 MIN
The evolution from threads to modern concurrency
Concurrency with Go
03:52 MIN
Defining concurrency, parallelism, and multitasking
Concurrency in Python
03:47 MIN
Exploring approaches to non-blocking software development
Java's Project Loom & Co - the end for reactive programming?
05:30 MIN
Concurrency as a natural model for software design
The Concept of Concurrency & Multithreading: What Are They And How They FunctionAs the world around us moves ever more online, the need for software engineers is growing - seemingly by the hour. Whether by building firewalls that fend off the next big data breach, or developing the next app that goes viral, we have a seemingly i...
Chris Heilmann
All the videos of Halfstack London 2024!Last month was Halfstack London, a conference about the web, JavaScript and half a dozen other things. We were there to deliver a talk, but also to record all the sessions and we're happy to share them with you. It took a bit as we had to wait for th...
Anto Pranjić
5 Reasons Why Attending Conferences Matters More Than You ThinkIt only took us a global pandemic to realize that most of our daily work can be done from home. It’s kind of funny, but things that weren’t meant to be done from home in the past such as attending meetings, managing teams, and even attending events a...
Benedikt Bischof
How we Build The Software of TomorrowWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Thomas Dohmke who introduced us to the future of AI – coding.This is how Thomas describes himself:I am the CEO of GitHub and drive the company’s...
From learning to earning
Jobs that call for the skills explored in this talk.