<div dir="ltr">Il giorno 23 novembre 2016 09:47, Pietro <span dir="ltr"><<a href="mailto:peter.zamb@gmail.com" target="_blank">peter.zamb@gmail.com</a>></span> ha scritto:<div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Giusto per darvi un'idea dice:</div><div><i><br></i></div><div><i>"I cannot teach Python 3 to total beginners because I don't want them to think they "suck at programming" when really it's Python 3's fault. That's simply not fair to them, so I have to teach Python 2 so they have the best chance at learning to code.</i></div><div><i>[...]</i></div><div><i>If you learn Python 2, then you can still work with all the legacy Python 2 code in existence until Python dies or you (hopefully) move on. But if you learn Python 3 then your future is very uncertain. You could really be learning a dead language and end up having to learn Python 2 anyway."</i></div><div><br></div><div>Voi come la vedete?</div></div></blockquote><br>Le argomentazioni portate sinceramente non mi sembrano stare in piedi.<br><br></div><div class="gmail_quote">1. Come è stato detto, ormai la maggior parte delle librerie <a href="http://py3readiness.org/" target="_blank">sono state portate</a> a Python 3. Quindi il futuro di Python 3 non è incerto, invece <a href="https://pythonclock.org/" target="_blank">quello di Python 2 lo è</a>.<br><br></div><div class="gmail_quote">2. Le stringhe sono più difficili da usare in Python 3 per un beginner? Solo perché ci sono sistemi alternativi (e più potenti) per formattarle? Piuttosto sono più facili perché non c'è una implicita conversione tra str e unicode (con tutte le <a href="https://fedorahosted.org/releases/k/i/kitchen/docs/unicode-frustrations.html" target="_blank">frustrazioni</a> annesse e connesse)<br><br></div><div class="gmail_quote">3. Il fatto che "Python 3 Is Not Turing Complete" mi pare più una provocazione che una cosa seria.<br><br></div><div class="gmail_quote">4. La critica a quelle che lui chiama "statically typed strings" mi pare insensata. In sostanza si vede come negativo il fatto di non poter concatenare bytes e str. Ma In Python 2 ottengo un TypeError anche se provo a fare 1 + 'abc'. Il concetto di dynamic typing non significa che non ci debba essere nessun controllo sui tipi a runtime.<br></div><br></div><div class="gmail_extra">I tre metodi per la formattazione delle stringhe sono apparentemente una violazione dello Zen of Python. Ma in realtà il vecchio % è stato lasciato solo per retrocompatibilità con l'intenzione di <a href="https://www.python.org/dev/peps/pep-3101/">deprecarlo prima o poi</a>. E la PEP 0498 introduce una sintassi che è <a href="https://www.python.org/dev/peps/pep-0498/#rationale">in continuità con quella del format</a>, riducendone un po' di boilerplate.<br><br>Personalmente è ormai da più di un anno che sono passato a Python 3 per tutti i progetti nuovi senza problemi.<br></div><div class="gmail_extra"><br></div><div class="gmail_extra">Marco<br></div><div class="gmail_extra">-- <br><div class="gmail-m_-4878756838544589851gmail_signature"><div dir="ltr"><span style="font-family:monospace,monospace"></span><span style="font-family:monospace,monospace">|_|0|_|</span><br><span style="font-family:monospace,monospace"></span><span style="font-family:monospace,monospace"></span><div><span style="font-family:monospace,monospace">|_|_|0|<br>|0|0|0|<br><br></span></div></div></div>
</div></div>