"There should be one-- and preferably only one --obvious way to do it : Aim for a single, clear solution to a problem. "
Python has had async for 10 years – why isn't it more popular?
11–20 of 305 posts
Re: Python has had async for 10 years – why isn't it more popular?
#12I'm personally halfway through that journey (having spent like 4h reading docs/learning, on top of the development). I suspect it could have been designed in such a way so that it's less trivially easy to mess up.
Re: Python has had async for 10 years – why isn't it more popular?
#13Re: Python has had async for 10 years – why isn't it more popular?
#14The truth is that in python, async was too little, too late. By the time it was introduced, most people who actually needed to do lots of io concurrently had their own workarounds (forking, etc) and people who didn't actually need it had found out how to get by without it (multiprocessing etc).
Meanwhile, go showed us what good green threads can look like. Then java did it too. Meanwhile, js had better async support the whole time. But all it did was show us that async code just plain sucks compared to green thread code that can just block, instead of having to do the async dances.
So, why engage with it when you already had good solutions?
Re: Python has had async for 10 years – why isn't it more popular?
#15Asyncio means learning different syntax that buys me nothing over the existing tools. Why would I bother?
Re: Python has had async for 10 years – why isn't it more popular?
#16Re: Python has had async for 10 years – why isn't it more popular?
#17Re: Python has had async for 10 years – why isn't it more popular?
#18Re: Python has had async for 10 years – why isn't it more popular?
#19The traditional argument against the above assertion has been that asyncio is good for I/O work, not for CPU work, but this constraint is not realistic because CPU usage is guaranteed to creep in.
In summary, I can use threading/process/interpreter pools and concurrent futures, considering I need them anyway, without really needing to introduce yet another unnecessary concurrency paradigm (of asyncio).