Classifica 2019 dei linguaggi di programmazione più diffusi

NPROnline:

Finalmente è stata pubblicata da IEEE Spectrum la sesta classifica interattiva annuale dei migliori linguaggi di programmazione. Quest’anno, riferisce IEEE Spectrum, sono state effettuate profonde revisioni, modificando alcune delle metriche impiegate e creando una nuova interfaccia semplificata, preservando, tuttavia, l’idea e la metodologia di base che consiste nel  combinare i dati provenienti da più fonti per classificare la popolarità dei linguaggi di programmazione utilizzati sulla base del tipo di codice a cui il lettore potrebbe essere interessato. Questo presuppone quindi che la classifica è personalizzabile sulla base delle specifiche esigenze di analisi del lettore.

L’approccio adottato mira ad aggirare i due ostacoli fondamentali che rendono problematica la determinazione oggettiva della popolarità dei linguaggi di programmazione: (1) Nessuno può effettivamente guardare oltre le spalle dei programmatori di tutto il mondo mentre spingono i tasti delle loro tastiere, e (2) un linguaggio che è fondamentale in un dominio di programmazione potrebbe essere assolutamente irrilevante in un altro.

Naturalmente, nelle opportunità di personalizzare la classifica, sono state integrate anche impostazioni predefinite per chi cerca lavoro o per chi desidera lavorare in progetti di tipo open source. Per fare un esempio diamo un’occhiata alle impostazioni predefinite per il tipico lettore del magazine IEEE Spectrum relativamente alla top 10 dei linguaggi del 2019.

Qui riportiamo l’interfaccia configurata per ottenere un classifica predefinita per il tipico lettore di IEEE Spectrum:

E qui riportiamo la relativa classifica dei top 10:

Sebbene i cambiamenti apportati alle metriche sottostanti significhino che occorre porre attenzione quando si confrontano le classifiche di quest’anno con quelle dell’anno scorso, la struttura generale dei risultati rimane simile, con Python saldamente in cima. La popolarità di Python è guidata in gran parte dal vasto numero di librerie specializzate disponibili, in particolare nel campo dell’intelligenza artificiale, in cui la libreria Keras ha un peso elevato tra gli sviluppatori di deep learning: Keras fornisce un’interfaccia ai framework e tool kits di deep-learning di TensorFlow, CNTK, e Theano.

Il deep learning non è l’unico campo in cui Python sta avendo un impatto che non avrebbe potuto essere previsto quando il linguaggio è stato rilasciato per la prima volta nel 1991. Il notevole aumento della potenza di calcolo riscontrata nei microcontrollori significa che le versioni embedded di Python, come CircuitPython e MicroPython, stanno diventando sempre più popolari tra i produttori.

Successivamente abbiamo Java, C e C ++, un gruppo di linguaggi che assieme a Python hanno a lungo sgomitato per il primo posto, sebbene con le attuali metriche impiegate la distanza tra questi contendenti si sia allargata, con il C++ che ha ottenuto un punteggio di 12,5 punti in meno rispetto a Python. (In ogni classifica fornita, al linguaggio con il punteggio più alto viene assegnato un punteggio di 100 mentre i punteggi assegnati agli altri linguaggi vengono riscalati in proporzione). Il linguaggio di number-crunching R completa i primi cinque. Nonostante sia un linguaggio molto più specializzato rispetto agli altri, ha mantenuto la sua popolarità negli ultimi anni a causa del fatto che siamo sempre più inondati da una mole crescente di big data.

Scendendo ulteriormente nella top 10, la presenza di Matlab, un linguaggio proprietario sviluppato da MathWorks e destinato al calcolo numerico, può risultare una sorpresa per alcuni, ma riflette semplicemente l’importanza di questo linguaggio nell’ingegneria dell’hardware, in particolare per coloro che sono interessati a eseguire simulazioni o creazione di sistemi di controllo tramite il pacchetto grafico Simulink di MathWorks.

Vediamo ora cosa troviamo al di sotto della top 10. Ecco la classifica dall’undicesimo posto al ventesimo:

Ecco la classifica dal ventunesimo posto al trentesimo posto:

Ecco la classifica dal trentunesimo posto al quarantesimo posto:

Ecco la classifica dal quarantunesimo posto al cinquantesimo posto:

Al di sotto della top 10, alcuni punti degni di nota includono Arduino al n. 11 e HTML / CSS al n. 12. Negli anni precedenti, alcuni lettori si sono lamentati del fatto che nessuno dei due dovrebbe apparire in un elenco di linguaggi di programmazione. Nel caso di Arduino, l’argomento è che non esiste un tale linguaggio, che “Arduino” è in realtà il nome della famiglia di piattaforme hardware su cui il linguaggio viene eseguito e che questo linguaggio dovrebbe essere chiamato Wiring (o talvolta C o C ++ per motivi storici). In questo, la procedura seguita da IEEE Spectrum è stata guidata da un semplice pragmatismo: di fronte a una domanda di programmazione, la stragrande maggioranza degli sviluppatori di Arduino effettua ricerche su Google usando termini come “Codice Arduino per …”, piuttosto che qualsiasi alternativa. Scegliendo il nome de facto, si evita quindi di tenere in scarsa considerazione la popolarità dei programmi scritti per Arduino e microcontrollori simili.

Di pragmatismo si parla anche nel caso dell’HTML, con l’obiezione qui che non è un vero linguaggio di programmazione perché non ha costrutti per i branch e i loop. Ma data l’enorme popolarità dell’HTML e CSS tra gli sviluppatori e il fatto che siano utilizzati per istruire miliardi di computer per utilizzi quotidiani, ha indotto IEEE Spectrum a sostenere che qualsiasi argomento accademico sulla completezza di Turing e argomenti simili, sia irrilevante. Un linguaggio di markup è ancora un linguaggio!

Infine, alcuni linguaggi più vecchi sono ancora vivi e vegeti. In particolare, nonostante abbia più di 60 anni, il Fortran arriva ancora al n. 36, probabilmente a causa dell’enorme potere ereditario di essere il linguaggio informatico scientifico originale. Tale linguaggio è ancora in fase di sviluppo attivo, con lo standard Fortran più recente rilasciato alla fine del 2018, che incorpora una migliore interoperabilità con C e un migliore supporto per il calcolo parallelo massivo.

Bene, e con questo è tutto!

Se volete imparare a programmare vi consigliamo questo utile libro.

Parola di Per Principianti NPR!

Ed altro ancora sulle nostre playlist relative ai linguaggi C, Matlab e Octave:

NPROnline:
NPROnline:

5 commenti su “Classifica 2019 dei linguaggi di programmazione più diffusi

Inviaci un tuo commento, grazie! Ti segnaliamo che il contest di matematica è terminato il 10 maggio