Cos’è Python e perché è così popolare?

Cos’è Python e perché è così popolare?

Giuseppe Speranza Di Giuseppe Speranza


python laravel framework libreria

La storia di Python ha inizio i 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 che si facevano chiamare Monty Python.

L’obiettivo di questo nuovo progetto era quello di essere un linguaggio di programmazione semplice da capire e divertente da usare e che al contempo potesse competere con tutti gli altri linguaggi in termini di prestazioni e affidabilità.

Da quel momento Python ha scalato le classifiche dei linguaggi più utilizzati e popolari, conquistando e restando in maniera fissa nella top 10 dei linguaggi più utilizzati 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?

Cercherò di elencare alcune delle sue più importanti caratteristiche, in modo da darti un’idea chiara delle potenzialità di questo linguaggio. Partiamo!

Python: facile da usare e da apprendere

Come ho detto prima, uno dei principi cardine di Python è la sua facilità di utilizzo. L’idea del suo inventore era quella di creare un linguaggio che con poche righe di codice 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, dove ogni riga viene eseguita una dopo l’altra, dall’alto verso il basso. Motivo per cui Python è consigliato come linguaggio per far iniziare i principianti, i quali magari non masticano ancora concetti leggermente più avanzati di classe e oggetti

Qui di seguito posto un esempio di un programma scritto in Java, linguaggio fortemente tipizzato e orientato agli oggetti, e 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! 

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 trovare una lista dettagliata e completa anche di una descrizione sul sito ufficiale di Python a questo link.

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 di creazione di un sito web, dovreste creare la logica per la gestione degli utenti, quindi dal login alla registrazione, successivamente la logica per la corretta navigazione all'interno del sito con le rotte e così via... Insomma, un lavorone che toglie tempo allo sviluppo delle funzioni principali del vostro 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 ti lascio qualche titolo e link per approfondire: 

Per concludere, studiare un framework non è solo utile ai fini lavorativi, 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.

Noterete da soli, 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 

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, durante la mia esperienza professionale, ho dovuto spesso lavorare su degli Spider per fare web-scraping scritti in Python e non nascondo di essermi davvero divertito. 

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, non è un caso che in molti corsi di laurea ti tipo informatico e ingegneristico, alcuni esami utilizzano 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, altre che possiamo trovare sono Scikit e anche 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 è usatissimo da grosse aziende come Google, Youtube e addirittura la 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 e per volessi riassumere i vantaggi principali di Python in alcuni punti direi:

  • 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. 
Impara a programmare in 3 mesi con il Corso di Coding Hackademy su Laravel PHP

Diventa Sviluppatore web in 3 mesi

Scopri il coding bootcamp Hackademy

Programma Completo