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.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

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.
ADVICE

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.
ANECDOTE

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.
Get the Snipd Podcast app to discover more snips from this episode
Get the app