Siamo giunti ormai alla fine di questo 2017, e per concludere l’anno lanciando uno sguardo alla programmazione, vi proponiamo l’indice Tiobe relativo ai linguaggi di programmazione.

Quello di Tiobe, è un indicatore riguardante la popolarità dei linguaggi di programmazione, la classifica è compilata grazie ai dati ricavati dai tre motori di ricerca Google, MSN e Yahoo! valutando la disponibilità mondiale di esperti programmatori, corsi a tema e a richiesta.

L’indice completo comprenderebbe richieste relative ai primi 50 linguaggi (nella tabella sono riportati solo i primi 20). Anche questa volta ci occuperemo di analizzare nel dettaglio solamente quei linguaggi che occupano la Top Ten della classifica.

Dando un primo sguardo alla classifica, rispetto all’inizio dell’anno, si può notare come tengano ben strette le loro posizioni linguaggi come Java, ancora al primo posto, C, sempre stabile al secondo e C++ anche lui sempre stabile al terzo posto. Un leggero cambio lo vediamo tra Python e C# che occupavano nei primi mesi del 2017, rispettivamente la quinta e la quarta posizione e che ora si sono scambiati le posizioni.

Cala, inoltre, l’interesse per Visual Basic .NET e PHP, quest’ultimo scende addirittura di due posizioni, mentre Javascript ne guadagna altrettante; Delphi e Swift escono dalla Top Ten, al loro posto si vedono comparire R e MATLAB.

Prima di passare ad esporre i linguaggi che occupano i primi dieci posti, vorrei spendere una nota particolare per Objective-C che dal 16° posto è salito fino ad arrivare all’11°, segno questo che il vecchio linguaggio di casa Apple sta riscuotendo maggior interesse rispetto a Swift. Lo vedremo approdare in Top Ten? Vedremo cosa ci diranno i primi mesi del 2018.

E adesso, senza dilungarci ulteriormente, andiamo ad analizzare i Top Languages:

Java:

Cos’è: Java è un linguaggio di programmazione il cui sviluppo comincia agli inizi degli anni ‘90. Nonostante il linguaggio sia open source, per cui chiunque può utilizzarlo liberamente, è attualmente di proprietà e gestito da Oracle Corporation. Java è stato progettato per essere un linguaggio che possa funzionare su qualsiasi dispositivo, e di conseguenza si presta allo sviluppo non solo di software per PC, ma anche di App per Smartphone, Tablet e persino TV intelligenti.

Buone ragioni per impararlo e usarlo: Java è uno dei linguaggi maggiormente in-demand. Aziende di qualsiasi dimensione utilizzano applicazioni scritte in Java. Se avete un’idea per un software innovativo per il business o per App innovative per Android, Java è probabilmente la scelta migliore per svilupparlo. Molte delle applicazioni più popolari Android come Angry Birds, Temple Run e Candy Crush Saga sono state scritte in Java. Lo stesso vale per la maggior parte dei software proprietari che compagnie aeree, agenzie governative e aziende Fortune 500 utilizzano ogni giorno.

 

C:

Cos’è: Molte persone nella comunità dei programmatori considerano C il nonno di tutti i moderni linguaggi di programmazione. Questo fondamentalmente per due motivi:

1) Il linguaggio C è stato sviluppato nel 1970, quando ancora alcuni computer erano le dimensioni intere stanze.

2) Molti linguaggi moderni come Java, C++ e Python sono stati direttamente influenzati da C.

Nonostante la sua età C resta però ancora molto utilizzato, e probabilmente rimarrà tale per molti anni a venire, anche perché C implementa una procedura che mira ad utilizzare meno memoria possibile.

Buone ragioni per impararlo e usarlo: la maggior parte dei buoni programmatori conoscono più di un linguaggio. Se avete intenzione di impararne più di uno C potrebbe essere una buona scelta. Alcuni corsi di sviluppo C hanno un metodo di insegnamento che può apparire ostico per alcuni, tuttavia, questo non dovrebbe essere preso come deterrente perché, dopo che avrete appreso C, imparare linguaggi più moderni come Objective-C, C++, PHP e molti altri vi risulterà molto più facile.

Come probabilmente avrete capito, C è un linguaggio piuttosto potente e, proprio grazie alla sua potenza, risulta essere il linguaggio perfetto quando è necessario avere un controllo assoluto sul software. Questo è il motivo per cui è la spina dorsale di molti dei sistemi operativi più diffusi oggi, quali Windows, OSX e Linux. Quasi tutti i dispositivi informatici sono scritti interamente o in parte in C. Microonde, calcolatori elettronici, banche dati, controlli di navette spaziali, hanno probabilmente una componete C.

 

C++:

Cos’è: A tutti gli effetti C++ è C con più funzioni. Mentre entrambe queste tecnologie sono considerate lingue di uso generale, C è di solito utilizzato per il software ” close to the machine” come i sistemi operativi, mentre C++ è di solito utilizzato per le applicazioni di alto livello come software di contabilità o come motore per videogiochi.

Buone ragioni per impararlo e usarlo: C++ è spesso la prima scelta per sviluppare grandi progetti software come browser web, driver grafici per computer e algoritmi di negoziazione finanziaria. Questo linguaggio sfrutta la metodologia della Programmazione Orientata a Oggetti (OOP) che C non supporta facilmente. Per questo motivo C++ risulta essere più appropriato per svolgere quelle attività dove C risulterebbe eccessivamente difficile o troppo dispendioso da utilizzare in termini di tempistica.

I motori di molti degli più popolari videogames, come Call of Duty, Halo, e Fifa sono stati scritti in C++. Anche i grandi studi di animazione come Pixar, Disney e DreamWorks usano C++ per lo sviluppo di funzioni particolari dei loro software di animazione. Grazie alla sua robustezza e alla sua velocità, C++ è usato anche per scrivere algoritmi di negoziazione ad alta frequenza che consentono alle imprese di Wall Street di scambiare migliaia di azioni in frazioni di secondo.

 

Python:

Cos’è: Python è un linguaggio general purpose che vede la sua origine nel 1991. Questo linguaggio è stato progettato per essere altamente leggibile, il che lo rende molto facile per i principianti. E’ un linguaggio dall’alto potenziale attraverso il quale si può spaziare dalla creazione di software scientifico, allo sviluppo web fino al rendering 3D.

Buone ragioni per impararlo e usarlo: A differenza dei linguaggi di livello più basso come C o Java, Python può essere appreso ad un ritmo relativamente veloce. Questo rende Python un linguaggio estremamente friendly per i neofiti alla programmazione.

Applicazioni come Instagram, Dropbox, YouTube e Reddit sono tutti esempi di ciò che si potrebbe essere in grado di realizzare con una buona conoscenza di Python.

 

C#:

Cos’è: C# è un linguaggio di programmazione sviluppato fin dai primi anni del 2000. Facente parte della famiglia .NET, agli inizi fu destinato ad essere unicamente utilizzato per lo sviluppo di prodotti Microsoft. Oggi C# viene utilizzato per sviluppare non solo applicazioni Windows standard, ma anche web applications lato server o come motore nello sviluppo di videogiochi.

Buone ragioni per impararlo e usarlo: Se siete interessati a sviluppare applicazioni specifiche per Windows o allo sviluppo di web applications che verranno eseguite su server Windows, C# è una buona scelta. Anche se attualmente non è così popolare come PHP o Java, la sua popolarità è in continuo aumento.

C# è stato progettato da Microsoft per venire eseguito senza problemi sui loro server, web applications come Bing e MSN sono costruiti con codice C# così come lo sono la maggior parte delle applicazioni sviluppate per Windows Phone.

Javascript:

Cos’è: Coloro che si avvicinano per la prima volta alla programmazione spesso non sanno che c’è una differenza tra Java e JavaScript. Questo linguaggio era originariamente chiamato ECMAScript, tuttavia a causa della popolarità di Java, i creatori cambiarono il nome per attirare più persone. A parte il nome, questi linguaggi hanno ben poco in comune.

Buone ragioni per impararlo e usarlo: Se siete interessati a diventare front-end web design dovreste imparare JavaScript, perché viene utilizzato per aggiungere interattività alle pagine web. Prive del suo utilizzo, le pagine possono risultare piuttosto blande, mentre l’utilizzo di JavaScript sui siti consente la creazione di animazioni e un migliore controllo dell’interfaccia web. Anche se viene utilizzato principalmente per lo sviluppo front-end, framework come Node.js permettono ai programmatori di scrivere anche software di back-end. JavaScript è utilizzato dall’88% di tutti i siti web. Se consideriamo la vastità del web, vi potete renderete conto che 88% è un’altissima percentuale. Effetti speciali al passaggio del mouse, menu a discesa, e altre animazioni nella pagina sono alcuni esempi dell’utilizzo di JavaScript.

 

Visual Basic.Net:

Cos’è: Visual Basic .NET (VB.NET) è un linguaggio di programmazione orientato agli oggetti multi-paradigma,implementato su Framework .NET. Microsoft ha lanciato VB.NET nel 2002 come successore del noto Visual Basic. Insieme con C#, è uno dei due principali linguaggi rivolti al framework .NET.

Buone ragioni per impararlo e usarlo: Visual Basic presenta un’alta facilità d’uso, non utilizza la formalità di punteggiatura tipica di quasi tutti gli altri linguaggi e il suo ambiente di lavoro RAD permette di realizzare in breve tempo interfacce GUI anche complesse; inoltre è pratico nella creazione di accessi alle basi dati e nella creazione di controlli ActiveX.

Oltre tre milioni di programmatori utilizzano Visual Basic, e molti di loro lo hanno imparato come primo linguaggio.

 

R:

R è, oltre ad un linguaggio di programmazione, anche un ambiente di sviluppo specifico per l’analisi statistica dei dati. È un software libero, distribuito con la licenza GNU GPL, disponibile per diversi sistemi operativi come Unix, Linux, Mac, Windows.

È un linguaggio object oriented e deve la sua popolarità ad un’ampia disponibilità di moduli distribuiti con licenza GPL (General Public License, software libero) che possiamo reperire con facilità (data anche la loro organizzazione) sul sito CRAN – The Comprehensive R Archive Network (https://cran.r-project.org).

Questi moduli servono sostanzialmente per espandere le capacità del programma, oltre alle molte funzioni statistiche aggiuntive, esistono moduli che permettono la comunicazione con database (sia con driver specifici che tramite connessioni ODBC) o con sistemi GIS (Geographic Information System – Sistema informativo territoriale).

R viene fornito principalmente con un’interfaccia a riga di comando, ma per chi lo volesse sono disponibili diverse interfacce grafiche tra cui RStudio, (https://www.rstudio.com), l’ide grafico più comunemente usato oppure R Tools per Visual Studio.

 

PHP:

Cos’è: PHP è un altro discendente di C poiché è stato sviluppato utilizzando il linguaggio C e come conseguenza ne ha ereditato alcune potenzialità. PHP è stato progettato per rendere possibile la creazione di web applications come Facebook.

Buone ragioni per impararlo e usarlo: Se avete un’idea per un nuovo sito web, un linguaggio come PHP risulta molto pratico. PHP è il linguaggio ideale per le persone che vogliono andare da nessuna esperienza allo sviluppo di applicazioni web in un breve lasso di tempo. PHP è utilizzato su oltre duecento milioni di siti web il che dimostra come sia veramente popolare questo linguaggio. Viene anche utilizzato su alcuni dei siti più visitati al mondo come Yahoo o da CMS come WordPress e Magento.

 

MATLAB:

Abbreviazione di “MATrix LABoratory“, MATLAB fu creato alla fine degli anni settanta da Cleve Moler, il presidente del dipartimento di scienze informatiche dell’Università del Nuovo Messico; è un ambiente per il calcolo numerico e l’analisi statistica scritto in C. Grazie a MATLAB è possibile manipolare matrici, visualizzare funzioni e dati, implementare algoritmi, creare interfacce utente, e interfacciarsi con altri programmi.

MATLAB può chiamare funzioni e subroutine scritte nei linguaggi di programmazione C o Fortran. Dal 2014 è stato aggiunto l’aumento dell’interfaccia bidirezionale con Python. Inoltre librerie scritte in linguaggi come Perl, Java, ActiveX o .NET possono essere chiamate direttamente da MATLAB, e molte librerie MATLAB (ad esempio supporto XML o SQL) sono implementate come wrapper attorno alle librerie Java o ActiveX.

MATLAB è usato da milioni di persone nell’industria e nelle università per via dei suoi numerosi strumenti a supporto dei più disparati campi di studio applicati e funziona su diversi sistemi operativi, tra cui Windows, MacOS, Linux e Unix.

 

E con questo la nostra esposizione si chiude, ci aggiorniamo nel 2018 con le novità sull’indice Tiobe.

Davide Spalletti

Cominciando come sviluppatore C/C++, nel corso della sua carriera ha ampliato la sua conoscenza acquisendo competenze con linguaggi noti e meno noti come Visual Basic, Java, C#, Objective-C, Swift e Kotlin, Ada, Eiffel e Julia, linguaggi legati allo sviluppo web; nonché competenze in merito alla gestione di database relazionali SQL-based o piattaforme come Filemaker. Negli ultimi anni oltre alla normale occupazione di sviluppatore, che svolge con soddisfazione sia in Italia che all'estero, insegna corsi di programmazione trasmettendo ai suoi allievi il proprio know-how e la passione per la materia.
Share This