In qualunque campo operi, andrà bene
Esistono centinaia di linguaggi di programmazione, maturi come C e C++, o recenti come Ruby, C# o Lua, o ancora giganti da azienda come Java. Scegliere un linguaggio da imparare è difficile. Non esiste un linguaggio che sia la risposta giusta a tutti i possibili problemi, ma Python è una buona scelta in molti casi ed è anche ben posizionato per chi impara a programmare. Python è usato da centinaia di migliaia di programmatori in tutto il mondo e il loro numero cresce continuamente.
I motivi di questo successo sono molteplici. Python funziona ovunque, sia Windows, Linux/UNIX, Mac o altro, da supercomputer a cellulari. Permette di sviluppare piccole applicazioni e prototipi veloci, ma è strutturato per la creazione di programmi di grandi dimensioni. È munito di una interfaccia utente grafica semplice da usare, librerie per la programmazione del web. Meglio di tutto, è gratis.
Cose che Python fa bene e possono tornarti utili
Python è un linguaggio di programmazione moderno, sviluppato da Guido van Rossum negli anni novanta, che deve il nome a un gruppo di comici inglesi. Python non è perfetto per qualunque situazione, ma è quasi sempre una scelta molto buona.
Python è facile da avvicinare e da usare
I programmatori abituati a un linguaggio tradizionale si troveranno, con Python, a casa loro. Avranno a disposizione tutti i costrutti a loro familiari, come cicli, istruzioni condizionali, array eccetera. Scopriranno anche come su Python li possano spesso usare più facilmente, per ragioni come le seguenti:
- I tipi sono associati agli oggetti, non alle variabili. Una variabile può contenere un valore di tipo qualsiasi e una lista può comprendere oggetti di molti tipi differenti (Un tipo è, grossolanamente, la natura del dato; se sia un numero, una sequenza di caratteri, una alternativa logica eccetera). Questo significa anche che il type casting (la dichiarazione esplicita del tipo associato a un dato) solitamente non serve, né il codice che scrivi si troverà ingabbiato in tipi predefiniti.
- Python lavora normalmente a un livello di astrazione molto elevato. In parte si deve a come il linguaggio è stato costruito e in parte alla disponibilità di una libreria di codice standard di grandi dimensioni, che basta scaricare Python per trovare compresa nel pacchetto. Un programma che scarica pagine web può essere scritto in due o tre righe!
- La sintassi è semplice. Diventare un esperto di Python richiede tempo e fatica, ma un principiante può imparare molto velocemente il necessario per iniziare a stendere codice.
Python si presta bene allo sviluppo rapido di applicazioni. Capita sovente che il tempo per realizzare una applicazione in Python sia un quinto di quello che avrebbe richiesto, per dire, C o Java, e che anche le dimensioni del codice siano in proporzione. Dipende anche dall’applicazione; un algoritmo numerico che si occupi di aritmetica con numeri interi in un ciclo for non consentirà grandi guadagni di produttività. Per una applicazione di medio calibro, tuttavia, i vantaggi possono risultare significativi.
Python è espressivo
In programmazione, una affermazione come questa vuol dire che una singola riga di codice Python può fare più di una riga in altri linguaggi. Il beneficio dell’espressività è ovvio: meno righe di codice sono da scrivere, più velocemente il progetto arriva a buon fine. Programmi più corti sono anche più facili da manutenere e ripulire da errori.
Per fare un esempio di come questa espressività semplifichi il codice, proviamo a scambiare il valore di due variabili, var1
e var2
. In un linguaggio come Java, ci vogliono tre righe di codice e una variabile supplementare:
int temp = var1;
var1 = var2;
var2 = temp;
La variabile temp è necessaria per custodire il valore di var1
quando questo viene sostituito dal valore di var2
, prima di metterlo in var2
. Non è una complessità terribile, ma leggere le tre righe e rendersi conto che le due variabili hanno scambiato i propri valori non è immediato, neppure per programmatori di lunga data.
All’opposto, Python fa la stessa cosa in una riga, in un modo che rende chiaro che cosa sia avvenuto:
var2, var1 = var1, var2
Questo esempio è elementare, ma si tratta di un vantaggio diffuso su tutto il linguaggio.
Python è completo
Un altro vantaggio di Python è la filosofia tutto compreso relativa alle librerie. L’idea è che, installando Python, si trova pronto tutto quanto serve per lavorare sul serio, senza perdere tempo in installazioni supplementari. La libreria standard di Python contiene moduli per lavorare con email, pagine web, database, chiamate al sistema operativo, sviluppo di interfacce utenti grafiche e altro.
Per esempio, con due righe di Python si può scrivere un server web che condivide i file di una cartella:
import http.server
http.server.test(HandlerClass=http.server.SimpleHTTPRequestHandler)
Gestione di connessioni di rete e HTTP: di serie, come mille altre cose.
Python è multipiattaforma
Abbiamo già scritto che Python gira ovunque. Siccome è un linguaggio interpretato (un singolo comando può essere eseguito immediatamente, senza bisogno di compilazione dell’intero programma), il codice funziona ovunque si trovi un interprete Python e quasi tutte le piattaforme più usate ne possiedono uno. Esistono versioni di Python per Java (Jython) e .NET (IronPython), per esempio.
L’importanza di imparare Python 3
Python è più che maggiorenne e si è evoluto nel tempo. Questo articolo fa riferimento alla versione 3.6.
Python 3, soprannominato Python 3000, è degno di nota perché è la prima versione a rompere la compatibilità con il passato. Il codice scritto per versioni precedenti potrebbe non funzionare e richiedere modifiche. In precedenza, per esempio, l’istruzione print non chiedeva parentesi attorno ai propri argomenti:
print “hello”
In Python 3, print è una funzione e richiede le parentesi:
print(“hello”)
Ci si potrà chiedere perché modificare dettagli come questi per mettere a rischio il funzionamento del codice vecchio. È un cambiamento importante per qualsiasi linguaggio e gli sviluppatori principali di Python ci hanno pensato sopra con attenzione. Vero che Python 3 rompe la compatibilità con il vecchio codice; ma i cambiamenti sono piccoli e in meglio, per rendere il codice più coerente, leggibile e lineare.
Nel caso appena visto di print
, il passaggio da istruzione a funzione consente di aggiungere parametri per controllarne il funzionamento. Ora è diventato più semplice inviare un output verso un file e cambiare i separatori di campi e righe. Per esempio, il codice che segue usa la barra verticale (|) per separare gli elementi e #\n come fine riga:
print("hello", "world", sep="|", end="#\n")
Python 3 non è una riscrittura clamorosa del linguaggio, bensì una evoluzione ben pensata. Gli sviluppatori principali hanno anche provveduto a fornire una strategia e strumenti per la migrazione sicura ed efficiente del vecchio codice verso Python 3.
Il Python da imparare è la versione 3, perché è quello migliore e perché sarà la versione dominante per gli anni a venire. Se diamo retta a Python 3 Readiness, 359 delle 360 librerie più diffuse sono già state portate su Python 3. Se serve una libreria non ancora convertita, o se esiste una base di codice consistente scritta in Python 2, possono esserci ragioni per non abbracciare il cambiamento; per un progetto nuovo o per chi comunica a programmare oggi, ha senso scegliere Python 3, che è migliore. Ed è il futuro.
L'autore
Corsi che potrebbero interessarti
Big Data Analytics - Iniziare Bene
Strategie e modelli contrattuali per cedere e acquisire software