> ... you don't have to think about 'long running things need to be futured/awaited', you just do things in a straightforward way in the thread
https://www.youtube.com/watch?v=bzkRVzciAZg
Six years later, very little has change in the arguments about events vs threads.
> Spawning a thread may be complex, and thinking about how the threads are scheduled is often complex, but what each thread does can be very simple
And that's how it starts, and in the end it's New Year's Eve and you're somehow, again, debugging a deadlock.
> green threads
yes please
You can deadlock with futures as well. Except that with futures you do not get a (two actually) nice call stack pointing to the deadlocked resource.
Python has proper threads, and they're anything but simple.
Green threads may be running an event loop underneath, but it's a useful abstraction in many contexts.