Jenže diskové IO na Linuxu nikdy non-blocking není, takže pokud mě trápí neresponzivita během zápisu fakt velkého souboru, musím si to do smyčky naplánovat po nějakých malých blocích, nebo pustit vlákno. U socketů to samozřejmě neplatí a tam je totální nesmysl to řešit jinak než epollem.
100% souhlas se soubory, bavím se výhradně o síťové komunikaci.
OK, tam je to fakt v C na jednu obrazovku, jak říkáš. A pokud už člověk používá nějaký C nebo C++ framework, ještě jsem nenarazil na to, že by neměl podporu pro poll, epoll, select nad deskriptorem. Ostatně třeba V4L2 se používá taky s (e)pollem a bylo naprosto bez problémů ho připojit jednou proxy třídou do Qt aplikace.
Já jenom nevím, proč se zbytečně izolovat od low level implementace už na úrovni jazyka, když to můžu udělat stejně dobře knihovnou a v případě nouze se můžu povrtat i níž.
Mimochodem, za coroutines v C bych vraždil. Kolikrát člověk nepotřebuje paralelismus, jen víc kontextů, zejména na bare-metal hw.