La storia del linguaggio di programmazione Python ha inizio nei primi anni ‘90, quando il suo creatore, Guido van Rossum, una settimana prima della festa di Natale del 1989, approfittando di un po’ di tempo libero, creò, per hobby, un interprete per un nuovo linguaggio di scripting.
Chiamò questo progetto Python, per la sua passione nei confronti del gruppo comico britannico noto come “i Monty Python“.
L’obiettivo di questo nuovo progetto era quello di essere un linguaggio semplice da capire e divertente da usare e che, al contempo, potesse competere con tutti gli altri linguaggi di programmazione in termini di prestazioni e affidabilità.
Da quel momento,il linguaggio Python ha scalato le classifiche dei linguaggi più utilizzati e popolari, conquistando e restando in maniera fissa nella top 10 dei linguaggi di programmazione più usati al mondo; secondo l’indice TIOBE INDEX, in questo momento, cioè Marzo 2022, si posiziona al 1° posto come linguaggio più ricercato sui più famosi Search Engine come Google, bing e Yahoo.
Ma perché Python è così amato?
Cercheremo di elencare alcune delle sue più importanti caratteristiche, in modo da darti un’idea chiara delle potenzialità di questo linguaggio. Partiamo!
Imparare Python: un gioco da ragazzi!
Come abbiamo accennato, uno dei principi cardine di Python è la sua facilità di utilizzo. L’obiettivo del suo inventore era che il codice Python, in poche righe, fosse in grado di dar vita a prototipi e programmi reali.
Inoltre, anche se Python supporta la Programmazione ad Oggetti, permette di scrivere codice in maniera procedurale, grazie alla quale ogni riga viene eseguita una dopo l’altra, dall’alto verso il basso. Motivo per cui Python è consigliato come linguaggio da imparare anche se principianti: anche se non mastichi, dunque, ancora concetti leggermente più avanzati di classe e oggetti, puoi tranquillamente imparare a programmare con Python!
Qui di seguito, postiamo un parallelismo: affiancheremo un programma scritto rispettivamente in linguaggio Java (linguaggio fortemente tipizzato e orientato agli oggetti) e in Python.
Anche se esempi come questo non valgono molto nella vita reale, aiutano a capire le differenze di impostazione del codice nei due linguaggi.
Non solo web!
Il linguaggio di programmazione Python è un linguaggio general-purpose, cioè adatto a qualsiasi scopo. Per questo motivo gli ambiti in cui viene utilizzato sono molteplici e spesso molto distanti tra di loro.
I principali sono:
- Programmazione GUI
- Sviluppo Web e Creazione Script
- Analisi Dati e Machine Learning
1) Programmazione GUI
L’ecosistema di Python è ricco di toolkit per la creazione di interfacce grafiche (GUI), i principali sono: Tkinter, wxPython e JPython.
- TKinter è la libreria standard di Python per la creazione di GUI, è incluso in Python, basta importare il suo modulo e il gioco è fatto.
- WxPython è un toolkit cross-platform per la creazione a livello nativo di GUI su Windows, Mac e Linux.
- JPython consente di creare un ponte tra Java e Python, in modo da usare i costrutti fortemente tipizzati di Java con la semplicità e velocità di Python.
2) Sviluppo web e creazione script
Python è largamente utilizzato in ambito Web; a tal proposito, avrete sicuramente sentito nominare Django, uno dei Web Framework, scritti in Python, più popolari e robusti esistenti; oltre Django ne esistono molteplici altri. Potete trovarne una lista dettagliata e completa anche di una descrizione sul sito ufficiale di Python .
Piccola Digressione sul concetto di Framework
Senza entrare troppo nel dettaglio di questo concetto, immaginatelo come una “struttura o forma” già predisposta per lo sviluppo di un programma.
Senza un Framework, nel caso volessi creare un sito web, dovresti creare la logica per la gestione degli utenti – dal login alla registrazione – successivamente la logica per la corretta navigazione all’interno del sito con le rotte e così via… Insomma, un enorme lavoro che toglie tempo allo sviluppo delle funzioni principali del tuo sito a favore delle funzioni basilari più o meno comuni in tutti i progetti web!
Nei corsi di programmazione di Aulab scoprirai tutti i segreti dietro lo sviluppo con un Web Framework (in questo caso specifico imparerai ad usare Laravel, un altro fantastico Web Framework scritto in PHP, che consente di creare applicazioni web complete e solide.
Abbiamo pubblicato un serie di articoli riguardo Laravel, qui di seguito vi lasciamo qualche titolo e link per approfondire:
- Laravel: i vantaggi di un framework vs plain PHP,
- Laravel: un’opportunità lavorativa da non perdere,
- Perché Laravel è il miglior framework PHP per lo sviluppo di siti web.
Per concludere, studiare un framework non è solo utile ai fini lavorativi, ma pone anche le basi per una crescita professionale e di know-how, necessaria per poter approfondire con meno problemi lo studio di altri strumenti, scritti anche in linguaggi diversi.
Noterai da solo, una volta intrapreso lo studio e aver fatto un po’ di pratica, che Framework come Laravel o Django hanno molte similitudini nei concetti e nei pattern utilizzati. Per esempio, riguardo questo punto: Laravel usa il pattern MVC mentre Django usa un pattern molto simile chiamato MVT.
Il linguaggio Python è molto popolare in ambito Web, dove vanta una delle community più attive attualmente esistenti: questo è dovuto anche alla sua ricca Libreria Standard, che consente di scegliere tra un’ampia gamma di moduli in base alle proprie precise esigenze. Ogni modulo consente di aggiungere funzionalità all’applicazione Python senza scrivere codice aggiuntivo. Ad esempio, durante la scrittura di un’applicazione Web è possibile utilizzare moduli specifici per implementare servizi Web, eseguire operazioni sulle stringhe, gestire l’interfaccia del sistema operativo o lavorare con i protocolli Internet.
Ed è proprio grazie alla sua completa libreria standard che Python si predispone perfettamente alla creazione di script per svolgere compiti ripetitivi o dalla forma fissa. Ad esempio, nel corso della tua esperienza professionale, potrebbe capitarti di dover lavorare su degli Spider per fare web-scraping scritti in codice Python: vedrai che ti divertirai!
Cliccando qui potete approfondire i vari moduli della libreria standard.
3) Analisi dati, Machine Learning e molto altro
Python è uno dei più utilizzati linguaggi in ambito scientifico, e non è un caso che in molti corsi di laurea ti tipo informatico e ingegneristico, alcuni esami utilizzano proprio il linguaggio Python per lo sviluppo dei progetti. Tutto questo è dovuto soprattutto alle ottime librerie disponibili. Un esempio è Scipy, una delle più popolari librerie scientifiche in ambito statistico, algebrico e vettoriale.
Python è popolare anche nell’ambito del Machine Learning o apprendimento automatico, sempre grazie alle sue caratteristiche intrinseche che lo rendono leggibile ed intuitivo, ma soprattutto grazie al suo ricco ecosistema di framework e librerie, tra cui la già citata Scipy, e altre quali ad esempio Scikit o Keras.
Come si comporta Python nel mondo del lavoro?
Nel mondo del lavoro Python, pur non avendo nulla da invidiare da altri linguaggi come Java o C#, non è purtroppo tra le prime scelte, almeno in Italia. Bisogna entrare nella visione di Business delle aziende, che cercano di uniformare i progetti a cui lavorano, basandosi solitamente sulle piattaforme più richieste e su cui si ha più facilità nel reperire programmatori, come Java, .net, che utilizza C#, e PHP.
In italia Python è molto usato in ambito accademico e scientifico, tuttavia allontanandoci un po’ dai nostri confini scopriamo che è utilizzatissimo da colossi aziendali come Google, Youtube e addirittura dalla Nasa.
Inoltre, negli ultimi anni, per affrontare una mole di dati sempre maggiore da analizzare e studiare, sta divenendo sempre di più il linguaggio di riferimento nell’ambito del Data Mining e dei Big Data.
Per concludere, volendo riassumere i vantaggi principali di Python in alcuni punti citeremmo:
- Ordinato e pulito: scrivere codice in Python è una goduria per tutti coloro che amano l’ordine, anche grazie all’utilizzo della semplice indentazione per definire i blocchi di codice, senza la necessità di altri segni come punti o virgole.
- Programmazione produttiva: nel senso che è molto semplice da imparare e per iniziare a programmare e ha un’ottima curva di apprendimento.
- Portabilità: si può utilizzare con qualsiasi sistema.
- Community: grazie al numero di utenti che lo utilizzano, la community di Python resta sempre molto attiva nello sviluppo e miglioramento del suo ecosistema.
Allora, cosa aspetti? Anche tu puoi imparare a programmare con Python! Per facilitarti l’impresa abbiamo preparato un video con le basi di programmazione in Python e una fantastica guida Python in italiano! Dai un’occhiata!