<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">2015-03-22 19:13 GMT+00:00 Manlio Perillo <span dir="ltr"><<a href="mailto:manlio.perillo@gmail.com" target="_blank">manlio.perillo@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><div><br></div></span><div>Il punto è che voglio gli operatori corto circuitati per avere un comportamente sempre ben definito.</div><div>AFAIK se && in Go non fosse corto circuitato, il compilatore potrebbe valutare `*p == 2`anche se p è nullo.</div></div></div></div></blockquote><div><br></div><div>Ah, certo. Infatti io mica voglio *solo* gli operatori non cortocircuitati. Li vorrei entrambi.  </div><div>Cioe', dovendo scegliere solo un tipo, prendo i cortocircuitati (come mi da Go). Ma potendo.. li vorrei entrambi.</div><div>Poi ecco, questa e' una cosa di cui mi frega proprio il giusto. Sono veramente rari i casi in cui l'avrei voluto per forza. </div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><div></div></span><div>Quello che volevo dire è che la specifica del linguaggio non parla mai di sequence point, a differenza del C (ed è una delle parti più complesse del linguaggio).</div></div></div></div></blockquote><div><br></div><div>Ah, ok. Pero' il concetto di "sequence point" e' parte della semantica dei linguaggi di programmazione imperativi e si applica interamente a Go. Ovvero non mi sembra che qualcuno mi possa dire che sto scrivendo una minchiata se dico che una certa cosa in Go introduce un sequence point.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span class=""><div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Cioe', davvero... e' una delle cose che non comprendo. Veramente... Go mi e' piaciuto un sacco, mi ha intrigato un sacco. Posso arrivare a dire che dopo Python nessun linguaggio mi aveva intrigato altrettanto... ma ci sono una piccola serie di cose che proprio non riesco a digerire.</div></div></div></div></blockquote><div><br></div></span><div>All'inizio la pensavo come te, e in alcuni punti lo penso ancora.</div><div>Però dopo averlo usato ne apprezzi meglio la semplicità.</div><div><br></div><div>Spero proprio che la semplicità, dopo i "danni" fatti dal C++, sia l'eredità di Go per i futuri linguaggi.</div></div></div></div></blockquote><div> </div><div>C'era un altro linguaggio che aveva come claim di essere "semplice" e uniforme come risposta all'eccessiva complessita' di C++. Si chiamava Java. </div></div><div class="gmail_extra"><br></div>E si... la semplicita' di Go mi piace. Ci sono scelte potenzialmente controverse che approvo interamente. Per esempio il fatto di non avere promozioni e stronzate fra variabili tipate. Se vuoi una conversione, la chiedi esplicitamente. Questo per me e' un esempio di semplicita' "positiva". Non mi fai cose maggiche sotto il cofano, non me ne devo preoccupare perche' il type system me lo impedisce. Se so che voglio la conversione, la chiedo. Fine della fiera.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Ma non mi sembra che il fatto che le operazioni bitwise sui booleani non siano definite sia una gran semplificazione. Non mi sembra nemmeno che non avere un modo di convertire *esplicitamente* un booleano in un intero sia una semplificazione.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Non e' che ci muoio, per interci... ma anche il fatto che "siccome i programmatori ci fanno le peggio porcate non supportiamo il ternary operator" mi sembra una cosa comoda. Oh, poi sono tutte stronzate. Non e' che non uso un linguaggio per questo... ma sono lo stesso tipo di cose che prima di Java 8/Guava mi facevano tirare cristi in Java (tipo il fatto che non potevi costruire facilmente una lista o un hash table da un letterale).<br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"> .<br>..: -enrico-</div>
</div></div>