[Python] Concorrenza differita (era: Re: Deploy con nginx e proxy_pass)

enrico franchi enrico.franchi a gmail.com
Mar 24 Dic 2013 18:50:10 CET


2013/12/24 Roberto De Ioris <roberto a unbit.it>

>
> > Roberto De Ioris wrote:
> >> odio la programmazione callback based
> >
> > Interessante, qui ci va una bella discussione sulla concorrenza.
> >
> > Solo che diversamente da voi che gozzovigliate, io sto ficcando casa
> > dentro tanti scatoloni per il trasloco, quindi per me se ne riparla dopo
> > l'epifania.
> >
> >
>
> Ok,
>
> #callback based:
>
> def pluto():
>     print("fine");
>
> def topolino():
>     wait_for('pluto', pluto)
>
> def pippo():
>     wait_for('topolino', topolino)
>
> wait_for('pippo', pippo)
>
> # coroutine/greenthread/stackswitch/blah blah based:
>
> wait_for('pippo')
> pippo()
> wait_for('topolino')
> topolino()
> wait_for('pluto')
> pluto()
>
>
> Personalmente trovo molto piu' leggibile la seconda forma (anche se
> internamente l'implementazione e' piu' complessa) Se sei un fan di Go mi
> darai regione (visto che e' come funzionano le goroutine) ;)
>

Mi sembra un chiaro caso in cui l'esempio stesso e' concepito "a favore"
della seconda forma.
Tutto molto lineare e sequenziale, nessuna gestione degli eventi.

Oh, poi io sono strano... io trovo il codice in cps piuttosto leggibile (e
lo capisco molto
meglio di codice che usi call/cc e analoghi, per intenderci). Di
conseguenza, non soffro
troppo con le callback.

 E no, Node.js mi fa cacare. Oggi preferisco, in genere gevent a Twisted,
si.
E odio comunque fare monkey patching della stl...


>
-- 
.
..: -enrico-
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20131224/25b156fa/attachment.html>


Maggiori informazioni sulla lista Python