Questo post differisce dai consueti articoli del blog in quanto andremo a vedere quali sono le tendenze nei linguaggi di programmazione, cioè quali sono quei linguaggi che negli anni hanno avuto una minor o maggior diffusione. Per analizzare questa tendenza utilizzeremo come fonte il sito della TIOBE Software (raggiungibile all'url http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html), la quale tiene traccia dell'utilizzo dei maggiori linguaggi di programmazione utilizzando il cosiddetto TIOBE Programming Community index.Tenere traccia della diffusione di un linguaggio piuttosto che di un altro è di fondamentale importanza per un professionista che opera nell'ambito del Software Development, in quanto gli consente di capire se il suo bagaglio di conoscenze è attuale e competitivo nel panorama odierno dell'IT.
Questo post differisce dai consueti articoli del blog in quanto andremo a vedere quali sono le tendenze nei linguaggi di programmazione, cioè quali sono quei linguaggi che negli anni hanno avuto una minor o maggior diffusione. Per analizzare questa tendenza illustreremo gli indici e relative classifiche più popolari che sono consultabili in rete.
TIOBE Index
Il sito della TIOBE Software (raggiungibile all’url http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html) tiene traccia dell’utilizzo dei maggiori linguaggi di programmazione utilizzando il cosiddetto TIOBE Programming Community index.
Tenere traccia della diffusione di un linguaggio piuttosto che di un altro è di fondamentale importanza per un professionista che opera nell’ambito del Software Development, in quanto gli consente di capire se il suo bagaglio di conoscenze è attuale e competitivo nel panorama odierno dell’IT.
Questo indice misura la popolarità di un linguaggio ed è aggiornato ogni mese. Il rating calcolato dall’indice si basa sul numero di ingegneri (o comunque esperti) con skill sul linguaggio di programmazione preso in esame, sui corsi disponibili e sui software di terze parti. Per calcolare questo indice si utilizzano i principali motori di ricerca (Google, Yahoo, Bing, Baidu, etc…) e gli si sottopone la seguente query :
+"<language> programming"
dove language è il linguaggio da ricercare. I risultati ottenuti vengono normalizzati e pesati secondo il motore utilizzato (ad esempio Google ha una maggiore rilevanza).
Per poter essere incluso nell’indice un linguaggio di programmazione deve soddisfare due regole:
- avere una propria voce in Wikipedia che ne definisce lo stato di linguaggio di programmazione, ad esempio ColdFusion, (Ruby on) Rails, Excel, Cocoa, ASP e AJAX ne sono esclusi;
- il linguaggio deve essere Turing Completo o Equivalente (http://it.wikipedia.org/wiki/Turing_equivalenza), ad esempio HTML e XML non lo sono.
Il sito propone varie statistiche tra le quali un trend storico dei linguaggi:
Ed una tabella con la classifica recente degli stessi:
Un’altra tabella interessante è la seguente:Il nostro amato/odiato Java è il linguaggio più utilizzato seguito a stretto giro dal sempreverde C. C# e Objective-C sono invece quelli che mostrano un trend di crescita maggiore. Linguaggi come Visual Basic, Perl e Delphi mostrano ormai i primi sintomi di un declino ormai futuro. Ruby invece dopo una impennata avuta tra il 2006 e 2007 sembra non aver mantenuto le promesse iniziali che lo davano come il nuovo must ed è in calo. Anche il PHP mostra una netta flessione ma rimane in quarta posizione ed a mio avviso è il linguaggio principe per la programmazione Web-Oriented.
Category | Ratings May 2011 | Delta May 2010 |
---|---|---|
Object-Oriented Languages | 58.6% | +4.2% |
Procedural Languages | 36.4% | -4.5% |
Functional Languages | 3.6% | +0.5% |
Logical Languages | 1.4% | -0.2% |
la quale mostra l’andamento per categoria di linguaggio, con l’ascesa di quelli Object-Oriented, e quest’altra tabella:
Category | Ratings May 2011 | Delta May 2010 |
---|---|---|
Statically Typed Languages | 65.7% | +2.8% |
Dynamically Typed Languages | 34.3% | -2.8% |
che mostra l’andamento dei linguaggi tipizzati staticamente (tipo Java e C) con quelli tipizzati dinamicamente (tipo PHP e Python).
GitHub
Sul noto sito di hosting di progetti software Github è disponibile l’elenco dei linguaggi utilizzati per i progetti ospitati presso i loro server (da notare come siano orientati esclusivamente al mondo Open Source) e visualizzabile all’url:
https://github.com/showcases/programming-languages
Mentre all’url:
è possibile visualizzare una classifica dei linguaggi più utilizzati sulla piattaforma GitHub.
Stack Overflow
Ogni anno il popolare sito StackOverflow raccoglie le risposte di oltre 50 mila sviluppatori e propone una survey:
http://stackoverflow.com/research/developer-survey-2016
Per quanto riguarda i linguaggi full-stack (cioè quei linguaggi che possono essere usati per tutti i layer di un’applicazione web, quindi dal Data Modeling alla User Interface) abbiamo:
IEEE Spectrum
Lo IEEE spectrum è invece un indice ottenuto combinando 12 diverse metriche:
http://spectrum.ieee.org/computing/software/the-2016-top-programming-languages
Per il 2016 abbiamo questa classifica per le prime 10 posizioni:
PYPL (PopularitY of Programming Language)
L’indice è stato creato analizzando la frequenza di Tutorial di un particolare linguaggio di programmazione cercato su Google. Quanto più un tutorial è cercato, tanto più popolare il linguaggio viene considerato. Si tratta di un indicatore importante. I dati grezzi vengono estratti da Google Trends.
Se si crede nella conoscenza collettiva, la popolarità dell’indice PYPL può aiutare a decidere il linguaggio da studiare, o quale usare in un nuovo progetto software:
http://pypl.github.io/PYPL.html
COMMENTS