<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">2013/12/24 Roberto De Ioris <span dir="ltr"><<a href="mailto:roberto@unbit.it" target="_blank">roberto@unbit.it</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

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

Tutto molto lineare e sequenziale, nessuna gestione degli eventi.</div><div><br></div><div>Oh, poi io sono strano... io trovo il codice in cps piuttosto leggibile (e lo capisco molto </div><div>meglio di codice che usi call/cc e analoghi, per intenderci). Di conseguenza, non soffro</div>

<div>troppo con le callback.</div><div><br></div><div> E no, Node.js mi fa cacare. Oggi preferisco, in genere gevent a Twisted, si.</div><div>E odio comunque fare monkey patching della stl...</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<br></blockquote></div><div><br></div>-- <br> .<br>..: -enrico-
</div></div>