Python asincrono, il puzzle comincia ad avere senso
« il: Febbraio 24, 2018, 20:08 »
Tempo fa si discuteva (non ricordo il thread) sul fatto che lo stato dell'arte della programmazione asincrona in Python era difficile da capire, perché le api sono cambiate molto nel recente passato, e perché non ci sono ancora grossi progetti di successo che suggeriscono (o magari impongono) uno stile.
Adesso le api sono ferme da un po', e anche i progetti cominciano ad arrivare. Andrew Godwin ha riscritto Django Channels come una libreria asincrona (e notare che Django di per sé non è asincrono), e dalla sua esperienza tira fuori un buon manuale pratico, qui:
https://www.aeracode.org/2018/02/19/python-async-simplified/
Attenzione, *non* è un tutorial, suppone che già conosciate il problema e le api. Ma mi sembra molto chiaro. Il codice di Channels potrebbe essere un buon punto da cui partire.

Dall'altra parte del fiume, segnalo questa cheat-sheet di come si fanno le cose in Go, rivolta ai programmatori Python.
https://medium.com/dev-bits/a-cup-of-gos-concurrent-programming-for-python-developers-a80e621c45ff
Non ho una conoscenza di Go abbastanza approfondita da dire se l'autore dice stupidaggini, ma non mi sembra e ve lo consiglio.