Il nome forse non ha aiutato questo linguaggio al suo esordio. All’epoca esistevano linguaggi già molto blasonati, da nomi professionali, come COBOL, Fortran, C/C++ poi anche Java. Python poteva sembrare un giocattolo inventato da qualche strambo informatico per sviluppare prototipi, vista la sua natura di linguaggio interpretato. Sì perché questo è un primo punto da sottolineare. Sappiamo che alla grossa ci sono due grandi categorie di linguaggi di programmazione. 

Nella prima il codice sorgente viene ‘compilato’, cioè trascritto nella sua interezza in linguaggio macchina, l’unico che il computer capisce direttamente, senza trascrizioni intermedie, e che è in grado di eseguire per ottenere il risultato finale di una computazione. Nella seconda categoria rientrano i linguaggi interpretati, che vengono eseguiti, linea per linea all’interno di una cosiddetta ‘shell’, molto simile a quelle che si usano nei sistemi operativi come Unix o come la famosa finestra nera ‘command line’ del vecchio Dos di Microsoft. Noi scriviamo un comando e il nostro personale genio della lampada ci da subito la risposta. 

Con Python avviene qualcosa di simile, anche quando si lanciano dei lunghi listati di comandi, che comunque vengono sempre eseguiti una alla volta. Ovviamente è un po’ più complicato di così, ma questa è la differenza essenziale che rende gli interpretati più colloquiali, ma spesso molto meno efficienti dei compilati. 

La magia di Python è che propone una sintassi estremamente intuitiva, semplice e direi anche molto elegante. La barriera d’ingresso è davvero bassa. Non si è obbligati dall’inizio a dichiarare variabili, a gestire l’allocazione e il rilascio della memoria e le istruzioni di base sono lineari e ben strutturate. Poi i motivi storici per cui un linguaggio si afferma in un dato campo a volte sono del tutto casuali, ma già a partire dagli anni 2000 era chiaro che questo linguaggio potesse dire qualcosa di importante nel mondo della Data Science. 

Già da allora infatti fisici, matematici, informatici e ingegneri avevano cominciato a utilizzarlo per fare prototipazione di applicazioni tecnico-scientifiche e nel tempo, in parallelo ad altri dialetti simili come Matlab, il patrimonio di codice scritto cominciò a crescere. Ma la vera differenza da un certo momento in poi la fece il consolidamento di librerie specifiche per la Data Science e l’Intelligenza Artificiale. 

I nomi, ai più un po’ arcani, sono noti: Numpy, Pandas, Scikit-learn, Tensor Flow… Anche qui la nomenclatura non avrebbe aiutato sennonché, sdoganato il serpente Python, nessuno avrebbe trovato poco professionali nomi che richiamano degli orsi in via d’estinzione, anche se pare che il creatore di Python, l’olandese Guido Van Rossum, si fosse ispirato piuttosto ai ‘Monty Python’. 

Python è stato ritenuto talmente strategico da Google che ha assunto in pianta stabile Van Rossum concedendogli ampio margine per continuare a gestire l’evoluzione del linguaggio che rimane un progetto totalmente Open Source, cui tutti possono accedere a titolo totalmente gratuito (a differenza ad esempio di Matlab). 

Esistono ovviamente tante altre alternative oggi per la Data Science, una delle più gettonate è sicuramente il linguaggio R, pensato prevalentemente per la statistica. R è sicuramente un’alternativa valida per alcune applicazioni, ma rispetto a quest’ultimo, Python è molto più versatile e copre una gamma decisamente più ampia di possibili applicazioni che vanno oltre il lato strettamente scientifico, come la creazione di web application,  lo scripting di sistema operativo, il settore educational e molto altro. Si è sviluppato talmente tanto interesse attorno a questo linguaggio che anche i problemi più annosi sono stati risolti. 

Per esempio sul fronte dell’efficienza computazionale si è provveduto a interfacciare Python con librerie già compilate con linguaggi più adatti allo scopo e prevedendo una semplice interfaccia di comunicazione (wrapping). 

Questo è il caso per esempio di Numpy che non è altro che l’interfaccia alle famose librerie di calcolo numerico e algebra lineare super ottimizzate, originariamente concepite in Fortran e successivamente in C, le note Blas e Lapack.

Secondo tutte le ultime statistiche Python è ormai il linguaggio più popolare al mondo in quasi tutte le categorie e ben oltre la sua vocazione d’elezione per la programmazione scientifica, dove davvero la fa da padrone da anni. E come sempre capita in questi casi ‘piove sul bagnato’, e qualunque nuova iniziativa, che sia un progetto Open su Github, o un intrapresa imprenditoriale, il primo dialetto che viene preso in considerazione è sempre lui.

Ormai è chiaro che è la scelta vincente e addirittura in ambito business, per i manager intraprendenti che volessero avventurarsi nei meandri della Data Analysis avanzata, questa è l’unica scelta praticabile. Ne abbiamo un bell’esempio nella nuova avventura che abbiamo cominciato con un Master in Business Data Science con Talent Garden Innovation School, sul quale abbiamo il coordinamente scientifico e varie docenze come Linkalab (https://talentgarden.org/en/innovation-school/online/business-data-science-online-program/).

Quindi alla fatidica domanda: se dovessi scegliere un linguaggio tra i tanti disponibili per la Data Science a quale mi devo rivolgere? Oggi l’unica risposta possibile è: Python!