Using Python's new asyncio library, we see how coroutines dramatically simplify asynchronous networking code vs. callback-based asynchronous implementation.
A coroutine is a procedure can suspend its execution by yielding back to its caller. I just used my first Lua coroutines to do cool things in Minecraft with ComputerCraft.