[Python-Dev] async/await in Python; v2 (original) (raw)

Paul Sokolovsky pmiscml at gmail.com
Thu Apr 23 12:35:54 CEST 2015


Hello,

On Thu, 23 Apr 2015 12🔞51 +0300 Andrew Svetlov <andrew.svetlov at gmail.com> wrote:

[]

> 3. > async with and async for > Bead idea, we clutter the language even more and it is one more > thing every newbie could do wrong. > for x in y: > result = await f() > is enough, every 'async' framework lived without it over years.

async for i in iterable: pass is not equal for for fut in iterable: i = yield from fut

But people who used Twisted all their life don't know that! They just know that "async for" is not needed and bad.

I know I'm a bad guy to make such comments, too bad there's a bit of truth in them, or everyone would just call me an a%$&ole right away.

Generally, I already provided feedback (on asyncio list) that asyncio is based not on native Python concepts like a coroutine, but on foreign concurrency concepts like callback or Future, and a coroutine is fitted as a second-class citizen on top of that. I understand why that was done - to not leave out all those twisteds from a shiny new world of asyncio, but sometimes one may wonder if having a clear cut would've helped (compat could then have been added as a clearly separate subpackage, implemented in terms of coroutines). Now people coming from non-coroutine frameworks who were promised compatibility see "bad" things in asyncio (and related areas), and people lured by a promise of native Python framework see bad things too.

-- Best regards, Paul mailto:pmiscml at gmail.com



More information about the Python-Dev mailing list