[Python-ideas] PEP 525: Asynchronous Generators

Thomas Güttler guettliml at thomas-guettler.de
Thu Aug 11 11:22:36 EDT 2016



Am 10.08.2016 um 19:17 schrieb Sven R. Kunze:
> On 09.08.2016 05:23, Nick Coghlan wrote:
>> On 9 August 2016 at 08:37, Sven R. Kunze <srkunze at mail.de <mailto:srkunze at mail.de>> wrote:
>>
>>     From what I've heard in the wild, that most if not all pieces of async are mirroring existing Python features. So,
>>     building async basically builds a parallel structure in Python resembling Python. Async generators complete the
>>     picture. Some people (including me) are concerned by this because they feel that having two "almost the same
>>     pieces" is not necessarily a good thing to have. And not necessarily bad but it feels like duplicating code all
>>     over the place especially as existing functions are incompatible with async.
>>
>>
>> It's a known problem that applies to programming language design in general rather than being Python specific:
>> http://journal.stuffwithstuff.com/2015/02/01/what-color-is-your-function/
>
>
> If it's a such well-known **problem**, why does it even exist in Python in the first place? ;-)
>
> I don't buy that one couldn't have avoided it.
>
>
> Lately, I talked to friend of mine about async and his initial reaction was like "hmm that reminds me of early
> programming days, where you have to explicitly tell the scheduler to get control back". He's much older than me, so I
> think it was interesting for him to see that history is repeating again.

Up to now there is only one answer to the question "Is `await` in Python3 Cooperative Multitasking?"

http://stackoverflow.com/questions/38865050/is-await-in-python3-cooperative-multitasking

The user there writes: [about await] That sounds quite like Cooperative multitasking to me.

In 1996 I was a student at university and was told that preemptive multitasking is better.

Since tools like http://python-rq.org/ can be implemented in Python2.7 I ask myself: why change the language?

My opinion: if you want to do parallel processing, use a tool like python-rq or celery.

Regards,
   Thomas Güttler



-- 
Thomas Guettler http://www.thomas-guettler.de/


More information about the Python-ideas mailing list