<div dir="ltr">Lavorando molto sul frontend di applicazioni web lavoro in JavaScript ormai da anni e sinceramente ne apprezzo alcune caratteristiche.<div><br></div><div>Il suo modello ad oggetti va capito. Prototype-based è molto diverso da Class-based di Python, questo lo sappiamo tutti. Piuttosto che cercare di emulare l'ereditarietà classica (nel senso di Class-based, con o senza librerie di terze parti) l'approccio corretto è capire come si progetta a oggetti in JavaScript (module pattern, closures, ...). Ma anche questa è una cosa ovvia che sanno tutti.</div><div><br></div><div>Supporta nativamente molti costrutti della programmazione funzionale: closures, First order functions. E questo lo fa anche Python, ma in JavaScript si è più portati a utilizzare queste cose, non chiedetemi il perchè ma a me pare così: non ho forse mai scritto delle closure in Python; in JavaScript praticamente non faccio altro.</div><div><br></div><div>Non che si debba necessariamente usare pattern della programmazione funzionale, ma in generale mi ci trovo bene. Librerie come Underscore.js o lodash le trovo meravigliose.</div><div><br></div><div>Il modello single-threaded... Non so che dire. Alla fine ci sono le Promises, non c'è bisogno di impazzire, è un ambiente single-thread, funziona in quel modo... Non fa poi così schifo.</div><div><br></div><div>Con ES6 ci sono un bel po' di novità mettono a disposizione parecchi strumenti che il programmatore Python conosce bene: Promises, Iterator, Generators, ...</div><div><br></div><div>La community? Non si può ignorare che al momento è la più vasta in circolazione. E dovrebbe essere uno degli argomenti più forti, direi.</div><div><br></div><div>Anche i Big investono molto su JavaScript e anche questo non va ignorato. Non conosco la storia, ma posso immaginare che se Nodejs è nato è soprattutto perchè V8 di Google aveva evidentemente raggiunto livelli tali di performance che potesse essere interessante utilizzarlo anche al di fuori del browser.</div><div><br></div><div>Della possibilità di sviluppare client desktop ne avete già parlato (ne parlai anche io una volta qui e fui un po' deriso, ma ora ho capito perchè)... E della possibilità di sviluppare apprivazioni pseudo-native utilizzando componenti come WebView di Android?</div><div><br></div><div>A conti fatti direi che non c'è poi tanto da sputarci sopra.</div></div><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 1 ottobre 2015 17:01, Giovanni Porcari <span dir="ltr"><<a href="mailto:giovanni.porcari@softwell.it" target="_blank">giovanni.porcari@softwell.it</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
> Il giorno 01 ott 2015, alle ore 16:30, Nicola Larosa <nico@tekNico.net> ha scritto:<br>
><br>
> Javascript è indubbiamente una mezza ciofeca, ma Brendan Eich non è un<br>
> incompetente: si è solo trovato a lavorare sotto le solite assurde<br>
> pressioni di tempo.<br>
<br>
</span>Non dubito certo delle sue capacità ma ritenevo (forse a torto)<br>
che javascript ereditasse le sue peggio cose da nonno PHP.<br>
Linguaggio che non conosco minimamente (e lo ritengo un punto di onore :D).<br>
<br>
Ecco come fa le comparazioni :<br>
<a href="http://us3.php.net/manual/en/language.operators.comparison.php" rel="noreferrer" target="_blank">http://us3.php.net/manual/en/language.operators.comparison.php</a><br>
<br>
Detto questo se gli hanno chiesto di fare qualcosa che si accordasse<br>
a queste logiche è evidente che i risultati non potevano essere<br>
troppo diversi.<br>
<br>
Le menti bacate sono di quelli che pongono gli obiettivi, non certo<br>
di chi deve realizzarli…<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
G<br>
</font></span><div class="HOEnZb"><div class="h5">_______________________________________________<br>
Python mailing list<br>
<a href="mailto:Python@lists.python.it">Python@lists.python.it</a><br>
<a href="http://lists.python.it/mailman/listinfo/python" rel="noreferrer" target="_blank">http://lists.python.it/mailman/listinfo/python</a><br>
</div></div></blockquote></div><br></div>