Imho python' greatest weakness is the Gil.
There are many workarounds, but the Gil is still there.
If there will ever be a python 4 with breaking changes, I hope it will be to implement proper gil-less operation.
There are many workarounds, but the Gil is still there.
If there will ever be a python 4 with breaking changes, I hope it will be to implement proper gil-less operation.
If you're doing computation, you're still locked to a single thread by the GIL.
Yeah you can use multi-processing, but now you're paying the price of inter-process communication.
There was an attempt (I think in PyPy) to use Software Transactional Memory (STM) which would solve this problem, but apparently it is still difficult to do it and looks like it did not succeed.