
Wookash Podcast [Video] GingerBill designs AsyncIO for Odin live
Jan 13, 2026
Ginger Bill, the creator of the Odin programming language, takes listeners on a fascinating journey through the design of an AsyncIO API. He dives into the differences between sync and async I/O, detailing coroutines and cooperative multitasking. The discussion spans OS-level async APIs for Windows, Linux, and macOS and evaluates SDL3's async capabilities. Bill also shares his insights on why he dislikes async/await, using a creative graph-coloring metaphor to illustrate the complexities of function interactions. It's a deep dive into API design and programming philosophy.
AI Snips
Chapters
Transcript
Episode notes
OS-Level Async Divergence
- OSes expose different async primitives (Windows IOCP, Linux io_uring, Darwin kqueue) that shape any cross-platform API.
- Designing a portable API requires finding the common overlap or offering OS-specific escape hatches.
Design By Writing Usage First
- When designing APIs, write usage code first to shape the interface before implementing internals.
- Iterate the implementation to fit the intended usage rather than abstracting bottom-up.
SDL3's Minimal Cross-Platform Choice
- SDL3 offers a deliberately minimal async API focusing on files and a simple queue because it must support many OSes.
- Ginger Bill uses SDL3 as an example of pragmatic cross-platform minimalism when designing async APIs.

