Hello,

As far as I understand, Armin’s starting point was “I want to understand 
everything about asyncio in order to support it well in Sentry”. This is higher 
bar than “I want to write decent asyncio code to get $X done”. I suspect that 
explains the absurd list of “things that you need to know” he opens his piece 
with.  Many people have written reasonable asyncio code without being aware 
half of these even exist.

Essentially Armin brings up two features that (per his analysis) aren’t 
available or easy to implement in asyncio:
1. getting a reference to the currently running event loop from a coroutine,
2. "async context propagation”.

I don’t feel qualified to discuss these because I’ve never needed them but I 
trust Armin to bring them up for a good reason. I’m curious whether Sentry is a 
special case or whether they’re more generally useful. (I’m reporting this here 
so people can get the main information without slogging through a non-trivial 
amount of negativity.)

Improvements to the documentation were discussed in this thread already. I 
learnt asyncio with PEP3156 before the effort on the documentation started and 
I suspect some concepts are still better explained in the PEP than in the docs. 
Perhaps taking some ideas — especially context about why APIs exist — from the 
PEP to the docs could bring some quick wins? Armin suggest he struggled to 
understand why some of the concepts exist. He barely mentions compatibility 
with other async frameworks, which was a big requirement in the design of 
asyncio. (Disclaimer: I don’t know the latest version of the asyncio docs all 
that well.)

Finally, I’m sad to see smart people who read neither PEP3156 nor dabeaz’ plans 
for curio say “curio’s 2x faster” without qualification… Oh well…

Hope this helps,

-- 
Aymeric.

> On 30 Oct 2016, at 18:29, Justin Mayfield <too...@gmail.com> wrote:
> 
> I'm curious what a more localized discussion about this blog post looks like. 
>  Personally I find it difficult to sympathize with many of the arguments and 
> have been a very happy user of modern python and asyncio for quite a while.
> 
> The blog: http://lucumr.pocoo.org/2016/10/30/i-dont-understand-asyncio/

Reply via email to