Introduzione ad alcuni dei linguaggi di programmazione più promettenti per Data Science e Cloud Development

I linguaggi di programmazione oggi disponibili sono circa 700. Alcuni di questi tendono ad essere applicati solo per domini specifici, mentre altri sono ampiamente apprezzati per la loro capacità di essere in grado di lavorare in un’ampia gamma di applicazioni. Nell’ultimo decennio, c’è stata una crescita pressoché costante nell’applicazione del software e sono stati sviluppati nuovi linguaggi per soddisfare la domanda. In questo articolo, esploreremo alcuni dei linguaggi di programmazione più attualmente utilizzati e potenziali “stelle nascenti” nell’ambito della scienza dei dati e dello sviluppo nel cloud.

Decidere di imparare un linguaggio di programmazione relativamente nuovo nel nostro tempo libero a volte può essere un investimento rischioso del nostro tempo, dato che non possiamo essere sicuri di come questa nuova lingua sarà percepita dal mercato del lavoro nei prossimi anni. D’altra parte, nella maggior parte dei casi, i linguaggi di programmazione più recenti sono stati progettati con cura per sfruttare al massimo i recenti progressi della tecnologia, dandoci quindi potenzialmente un vantaggio a lungo termine. Alcuni dei principali vantaggi dell’utilizzo di linguaggi di programmazione più recenti potrebbero per esempio essere:

  • ottimizzazione hardware (GPU, sistemi CPU Multi-Core)
  • networking migliorato
  • codice più conciso
  • digitare inferenza
  • containerizzazione e supporto cloud più semplici

Secondo la Stackoverflow Developer Survey del 2020, quelli riportati di seguito nella Figura 1 erano i linguaggi di programmazione più amati dagli sviluppatori ed in uso nel 2020 (come parte di questo articolo, ne prenderemo in considerazione cinque), mentre quello riportato in Figura 2 è l’elenco, sempre secondo la Stackoverflow Developer Survey, dei 10 migliori linguaggi di programmazione a pagamento nel 2020.


Figura 1 - Linguaggi di programmazione - i migliori del 2020
Figura 1 – Linguaggi di programmazione – i migliori del 2020 [fonte: Stackoverflow Developer Survey 2020]

Figura 2 - I linguaggi di programmazione a pagamento più utilizzati nel 2020
Figura 2 – I linguaggi di programmazione a pagamento più utilizzati nel 2020 [fonte: Stackoverflow Developer Survey 2020]

I cinque linguaggi di programmazione da “tenere d’occhio”

1. Julia

Linguaggi di programmazione come Python e R sono ora molto popolari in ambiti come Data Science, Machine Learning e attività computazionali / numeriche generiche grazie alla loro facilità d’uso. Tuttavia, questi linguaggi non erano stati originariamente progettati per funzionare su sistemi altamente scalabili. Ciò può quindi rendere difficile lavorare con questo tipo di linguaggi di programmazione per le soluzioni aziendali di grandi dimensioni. Per superare questo tipo di problema, Julia è stato creata da un gruppo di ricercatori del Massachusetts Institute of Technology (MIT). Alcune delle caratteristiche principali di Julia sono:

  • ottimizzato per lavorare con sistemi paralleli e distribuiti
  • gestore di pacchetti integrato
  • supporto per le funzioni di programmazione C
  • digitazione dinamica

Per facilitarne l’adozione, molte librerie di Data Science e Machine Learning sono già state implementate come ScikitLearn.jl, TextAnalysis.jl, StatsModels.jl. Inoltre, Julia può essere utilizzato anche in un tradizionale Jupyter Notebook. Se sei interessato a saperne di più su Julia per la scienza dei dati, il corso “Julia for Data Science” su YouTube è un ottimo punto di partenza.

Come si può vedere dalla Figura 3, Julia ha avuto finora un numero complessivo crescente di ricerche su Google negli ultimi anni.

Figura 3 - Tra i linguaggi di programmazione, Julia è uno di qyelli che ha avuto una crescita significativa nelle ricerche su Google
Figura 3 – Tra i linguaggi di programmazione, Julia è uno di qyelli che ha avuto una crescita significativa nelle ricerche su Google

2. Go

Go è oggi uno dei linguaggi di programmazione di sistema più promettenti. Questo linguaggio di programmazione è stato infatti sviluppato da Google per rendere più facile la scalabilità di applicazioni e sviluppo. Alcune delle caratteristiche chiave di Go sono:

  • progettato per lo sviluppo nativo del cloud. In effetti, strumenti tradizionali come Docker e Kubernetes sono stati sviluppati utilizzando Go.
  • gestione della memoria (a differenza di linguaggi come C e C ++ ha un Garbage Collector incorporato)
  • eccellente supporto anche “per la concorrenza”

Dopo aver raggiunto un picco intorno al 2014, Go ha registrato una quantità abbastanza consistente di ricerche su Google nel corso degli anni ed è attualmente uno dei linguaggi di programmazione più popolari su piattaforme Cloud come Google Cloud Platform e Microsoft Azure.

Se sei interessato a codificare algoritmi di Machine Learning in Go, GoLearn è un ottimo punto di partenza.

3. Python

Python è attualmente il linguaggio di programmazione più popolare per attività di Data Science e Machine Learning. È stato sviluppato per la prima volta nel 1991 da Guido van Rossum e da allora è diventato sempre più popolare (Figura 4).

Figura 4 - Crescita della popolarità di Python
Figura 4 – Crescita della popolarità di Python

Alcune delle librerie Python più popolari per Data Science e Machine Learning sono:

Uno dei problemi chiave associati a Python sono le sue scarse prestazioni di scalabilità. Per cercare di superare questo problema, sono stati implementati diversi sistemi come Cython e Numba per creare livelli di prestazioni simili al C durante la codifica in Python.

4. Scala

Scala è attualmente considerato uno dei migliori linguaggi di programmazione per la programmazione funzionale (sebbene fornisca ancora supporto per approcci di programmazione orientati agli oggetti). In termini di popolarità della ricerca, Scala sembra aver raggiunto il picco intorno al 2018-2019.

Alcuni dei principali vantaggi dell’utilizzo di Scala sono:

  • scala è un linguaggio tipizzato staticamente
  • molto più veloce rispetto ai linguaggi di programmazione come Python
  • compatibilità con Java
  • capacità di combinare sia la programmazione funzionale che quella orientata agli oggetti

Uno dei motivi principali della popolarità di Scala è Apache Spark (uno strumento di gestione dei dati creato con Scala). Apache Spark è infatti uno degli strumenti di Big Data più diffusi per l’integrazione con Hadoop (elaborazione rapida di grandi quantità di dati).

5. Javascript

Infine, Javascript è attualmente uno dei linguaggi di programmazione web più popolari e può essere eseguito per quasi tutti i tipi di applicazioni (ad esempio server, dispositivi mobili, cloud, microcontrollori, ecc.).

Javascript ha raggiunto il suo picco di popolarità durante i primi giorni di sviluppo web e da allora ha avuto una tendenza piuttosto costante nell’ultimo decennio.

Uno dei motivi principali per includere Javascript in questo elenco è la sua capacità di condividere progetti di Data Science e Machine Learning sul web. Negli ultimi anni, infatti, sono stati sviluppati diversi framework come TensorFlow.jsONNX.jsPlotly.jsDash e molti altri per rendere fruibili sul web progetti realizzati in linguaggi di programmazione come Python.

Conclusione

Complessivamente Python e Javascript sono sicuramente due dei linguaggi di programmazione più popolari in questo momento. Sebbene, come mostrato in questo articolo, diverse alternative come Julia, Go e Scala stiano ora iniziando a ottenere sempre più attenzione dal mercato del lavoro grazie ai loro vari vantaggi (potenzialmente allo stesso modo di Python nell’ultimo decennio).

***

Contatti

Se vuoi tenerti aggiornato con gli ultimi articoli ed i progetti di Pier Paolo,  seguilo su Medium e iscriviti alla sua mailing list

Scritto da: