24 dicembre 2016
03 settembre 2016
[Python.it] Python 2.x ancora al top, davvero?
Inutile nascondersi dietro un dito, l'eterna diatriba tra Python 2 vs Python 3
è stata (ed è?) un'autentica spina nel fianco di tutti i pythonisti,
che forse mai fino in fondo hanno digerito questa "divisione" nel
proprio linguaggio. Non è difficile capire che tutta la comunità si è
dovuta prodigare per supportare due versioni non del tutto compatibili
tra loro, anzi diciamo pure incompatibili, spendendo tanto tempo per
adeguare/creare prodotti con una doppia compatibilità. Se da un punto di
vista questo sdoppiamento ha portato ad un notevole incremento delle
ore/lavoro non certo gradito, è pur vero che da un'altra ha permesso a
tutti coloro avessero sviluppato con la versione 2.7, di non dover
forzatamente rivedere completamente i propri piani e gettarsi
forzatamente in una conversione alla nuova versione del linguaggio.
Purtroppo in molti, forse troppi, sono risultati estremamente riluttanti
al passaggio alla versione 3.x del linguaggio, ed ancora oggi la 2.x è
presente praticamente ovunque.
Quale versione scegliere?
Ma cosa dice la Python Software Foundation in tal proposito?
Ok quindi cosa si deve scegliere per iniziare il percorso di apprendimento? La risposta che ho dato e che continuo a dare, almeno da qualche anno a questa parte, è che se si comincia da zero con Python e non si hanno particolari esigenze, non ci si devono porre troppe domande e scegliere la versione 3.x del linguaggio. Imparare direttamente questa versione, che diventerà prima o poi lo standard, è senza dubbio la più intelligente come scelta, passatemi il termine forse un po' troppo forte. Certo non sono cieco e mi rendo conto che se si trova la versione 2.7 del linguaggio praticamente ovunque, in questo momento sto pensando alle varie distribuzioni GNU/Linux, tutto potrebbe essere dannatamente complicato, ma non siano nati per soffrire?
Fatti questi bei discorsi da filosofo del **BIP**, ora apriamo l'angolo dell'autoflagellazione. Sì perché se vi ho appena suggerito di iniziare senza indugi con la versione 3.x del linguaggio, dovete sapere che tra luglio ed agosto di quest'anno, non cinque anni fa ma solo qualche giorno fa, i pacchetti installati tramite pip vedono una netta prevalenza della versione 2.7 del linguaggio ed il grafico sottostante intitolato Python 2.7 regna ancora sovrana nel 2016 forse ci da un bel indizio.
Conclusione
Vi tralascio tutta la serie di grafici che prendono in esame alcune librerie/framework di Python, perché sono tutti simili al precedente. Che siano presi in considerazione numpy, matplotlib, pandas, etc... sembra chiaro che la versione del linguaggio 2.7 sia ancora la più utilizzata. Questo però se da una parte vuole dimostrare che i programmatori sono pigri nel passare alla nuova versione del linguaggio (ovviamente scherzo, non è pigrizia ma un'analisi tra costi e benefici), dovete sapere che la EOL (end of life) della versione 2.7 è fissata nel 2020, quindi anche in questo caso è davvero una scadenza prossima.
La versione 2.7 regna è vero, ma la 3.x ne richiederà la testa prima o poi, sappiamo già che sarà la vincitrice designata.
Quale versione scegliere?
Ma cosa dice la Python Software Foundation in tal proposito?
Python 2.x is legacy, Python 3.x is the present and future of the language
Ok quindi cosa si deve scegliere per iniziare il percorso di apprendimento? La risposta che ho dato e che continuo a dare, almeno da qualche anno a questa parte, è che se si comincia da zero con Python e non si hanno particolari esigenze, non ci si devono porre troppe domande e scegliere la versione 3.x del linguaggio. Imparare direttamente questa versione, che diventerà prima o poi lo standard, è senza dubbio la più intelligente come scelta, passatemi il termine forse un po' troppo forte. Certo non sono cieco e mi rendo conto che se si trova la versione 2.7 del linguaggio praticamente ovunque, in questo momento sto pensando alle varie distribuzioni GNU/Linux, tutto potrebbe essere dannatamente complicato, ma non siano nati per soffrire?
Fatti questi bei discorsi da filosofo del **BIP**, ora apriamo l'angolo dell'autoflagellazione. Sì perché se vi ho appena suggerito di iniziare senza indugi con la versione 3.x del linguaggio, dovete sapere che tra luglio ed agosto di quest'anno, non cinque anni fa ma solo qualche giorno fa, i pacchetti installati tramite pip vedono una netta prevalenza della versione 2.7 del linguaggio ed il grafico sottostante intitolato Python 2.7 regna ancora sovrana nel 2016 forse ci da un bel indizio.
Conclusione
Vi tralascio tutta la serie di grafici che prendono in esame alcune librerie/framework di Python, perché sono tutti simili al precedente. Che siano presi in considerazione numpy, matplotlib, pandas, etc... sembra chiaro che la versione del linguaggio 2.7 sia ancora la più utilizzata. Questo però se da una parte vuole dimostrare che i programmatori sono pigri nel passare alla nuova versione del linguaggio (ovviamente scherzo, non è pigrizia ma un'analisi tra costi e benefici), dovete sapere che la EOL (end of life) della versione 2.7 è fissata nel 2020, quindi anche in questo caso è davvero una scadenza prossima.
La versione 2.7 regna è vero, ma la 3.x ne richiederà la testa prima o poi, sappiamo già che sarà la vincitrice designata.
17 agosto 2016
06 giugno 2016
NBA impersonator
Trovo Brandon Armstrong un genio assoluto, riesce a cogliere delle sfumature che fanno letteralmente morire se si conoscono vizi e virtù dei personaggi imitati.
04 giugno 2016
Famous Cellphone Ringtones Played On The Piano
Lo sapevo che prima o poi qualcuno avrebbe riconosciuto la "grandezza" del "piccolo".
22 maggio 2016
[Python.it] Risorse per imparare Python
Libri cartacei (Italiano)
Python di Marco Beri [Guida tascabile, ottima per immergerti subito nel linguaggio]
Imparare Python di Mark Lutz [La storia dell'insegnamento di Python]
Programmare con Python - Guida completa di Marco Buttu [Ottimo testo]
Programmare in Python di Kenneth A. Lambert
Libri digitali (Italiano)
Pensare in Python di Allen B. Downey
Immersione in Python 3 di Mark Pilgrim
Libri cartacei (Inglese)
Nota: Ovviamente esistono molte delle versioni elencate in italiano.
Learning Python 5th edition di Mark Lutz [Versione aggiornata di Imparare Python]
Python Cookbook di David Beazley e Brian K. Jones [Fuori concorso perché non è una guida per principianti, ma è essenziale su ogni scrivania di un programmatore Python]
Libri digitali (Inglese)
Learn Python the Hard Way di Zed Shaw [Video e tutorial, con risorse anche a pagamento]
Think Python di Allen B. Downey
Invent with Python di Albert Sweigart [Non solo un libro, ma ben quattro]
Python di Marco Beri [Guida tascabile, ottima per immergerti subito nel linguaggio]
Imparare Python di Mark Lutz [La storia dell'insegnamento di Python]
Programmare con Python - Guida completa di Marco Buttu [Ottimo testo]
Programmare in Python di Kenneth A. Lambert
Libri digitali (Italiano)
Pensare in Python di Allen B. Downey
Immersione in Python 3 di Mark Pilgrim
Libri cartacei (Inglese)
Nota: Ovviamente esistono molte delle versioni elencate in italiano.
Learning Python 5th edition di Mark Lutz [Versione aggiornata di Imparare Python]
Python Cookbook di David Beazley e Brian K. Jones [Fuori concorso perché non è una guida per principianti, ma è essenziale su ogni scrivania di un programmatore Python]
Libri digitali (Inglese)
Learn Python the Hard Way di Zed Shaw [Video e tutorial, con risorse anche a pagamento]
Think Python di Allen B. Downey
Invent with Python di Albert Sweigart [Non solo un libro, ma ben quattro]
Ritorno al passato
Ci sono delle operazioni nostalgia che non possono lasciare indifferenti. Ed è in questa sfera che si colloca questo Dino Dini's Kick Off Revival che riporta i ricordi al passato, da quando bambino sulla mia fedele Amiga cercavo di conquistare il mondo.
21 maggio 2016
[Python.it] Piccole operazioni su dizionari
Piccole operazioni su dizionari.
>>> d {'Daniele':7, 'Gabecon':1000, 'Carlo':2000} >>> d["Gundam"] = 10000 #Aggiungiamo Gundam con valore 10000 >>> d {'Gundam': 10000, 'Carlo': 2000, 'Daniele': 7, 'Gabecon': 1000} >>> d["Gundam"] #Controlliamo solo Gundam 10000 >>> d["Gundam"] = 20000 #Modifichiamo Gundam a 20000 >>> d {'Carlo': 2000, 'Daniele': 7, 'Gabecon': 1000, 'Gundam': 20000} >>> del d["Gundam"] #Togliamo Gundam >>> d {'Carlo': 2000, 'Daniele': 7, 'Gabecon': 1000}>>> d {'Carlo': 2000, 'Daniele': 7, 'Gabecon': 1000} ####################################### ## Salviamo il dizionario in un file ## ####################################### >>> type(d) dict >>> d['Gundam'] = 10000 >>> import json >>> with open("/path/di/file.txt","w") as f: json.dump(d,f) >>> f.closed True >>> with open("/path/di/file.txt", "r") as f: d = json.load(f) >>> d {u'Carlo': 2000, u'Daniele': 7, u'Gabecon': 1000, u'Gundam': 10000} >>> type(d) dict
Iscriviti a:
Post (Atom)