I really wish the python maintainers would just give in and implement straight-up coroutines in the language. All this asynchronous stuff feels really bolted on – every little aspect of the language gets touched in its own special way.
My memory is that Guido didn’t want coroutines (a la stack less) because it would complicate the non-cpython implementations, but this doesn’t feel a whole lot better.
If I remember correctly, switching point of stackless coroutines are implicit and explicit switching point is considered as a major plus of async/await
I don’t think that’s right? At the very least stackless threads can run the scheduler explicitly. Regardless, explicit switching is at the very heart of co-routines, so while I might have been wrong about stackless I still think coroutines are the perfect solution to python’s async mess.