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

Why Async IO Matters

  • Asynchronous IO means ordering is not guaranteed and operations are queued and handled out of order.
  • It shines when programs are I/O-bound because waiting periods can be used to do other work instead of blocking the thread.
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.
Get the Snipd Podcast app to discover more snips from this episode
Get the app