<div dir="ltr"><div class="gmail_extra"><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:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);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>
<br>
La prima la trovo molto comoda solo quando il nesting delle callback non<br>
supera le 2 (quindi praticamente mai) e calcolando che e' la base di<br>
funzionamento di node.js (che qui mentre blastate php diventa la nuova<br>
preoccupante moda del momento con l'ultima conferenza che ha fatto 4k<br>
persone) probabilmente sbaglio io :)<br>
<span class=""><font color="#888888"><br></font></span></blockquote><div>di certo le 4k persone non ci sono andate per le callback ma nonostante le callback :D<br><br></div></div></div></div>