Dopo più di trent’anni, a seconda che si prendano in considerazione i dati TIOBE oppure questi, C++ rimane uno dei linguaggi di programmazione universalmente più diffusi. Apple Mac OS X, Adobe Illustrator, Facebook, Google Chrome, Microsoft Windows 7, Internet Explorer, Firefox e MySQL – giusto per citare qualche nome – sono alcuni dei prodotti software che sono stati realizzati ricorrendo in parte oppure interamente proprio a C++.
Sebbene siano stati messi a punto nuovi linguaggi di sviluppo, la popolarità di C++ continua a perdurare nel tempo: solamente Java sarebbe riuscito, secondo le statistiche pubblicate da TIOBE, a superarlo. E secondo Herb Sutter, uno dei più strenui sostenitori di C++, il linguaggio sarebbe in procinto di porre un’altra importante pietra miliare. Nel 1998 C++ è stato dichiarato uno standard ISO ufficiale, operazione che di fatto ne ha garantito e ne garantirà una lunga vita. Sutter – che presiede il comitato di C++ in seno all’ISO – spiega che quest’estate dovrebbe essere approvato un nuovo standard, conosciuto per il momento col nome “C++0x“. “E’ la prima grande revisione dello standard con l’aggiunta di nuove funzionalità da 13 anni a questa parte“, ha aggiunto l’esperto che sottolinea come l’accento sia stato posto essenzialmente su due aspetti: produttività ed efficienza.
La complessità intrinseca di C++ è infatti proprio una delle questioni che James Gosling (Sun Microsystems) aveva provato a trattare così da plasmare un linguaggio che risultasse maggiormente “programmer-friendly“. Il risultato dei suoi sforzi fu appunto Java che presentò come un C++ “without the guns, knives, and clubs” (letteralmente, “senza pistole, coltelli e mazze“), a sottolinearne come apparisse notevolmente meno cervellotico.
Sutter assicura che il “nuovo C++” tornerà ad essere una valida alternativa rispetto a Java garantendo un’efficiente gestione della memoria su tutte le piattaforme supportate traendo massimo vantaggio, allo stesso tempo, dalle ormai sempre più diffuse architetture multi-core. C++ resta un linguaggio estremamente performante e proprio l’aspetto prestazionale è uno dei suoi fiori all’occhiello: è capace di colloquiare direttamente col processore, senza bisogno di alcun interprete (come accade nel caso di Java e di Microsoft .Net). Sui sistemi ove le perfomance giocano la parte del leone (i.e. tablet e smartphone), C++ resta quindi la scelta più naturale. Google stessa, in un’indagine risalente allo scorso aprile (ved. questo PDF), aveva decreato C++ come il linguaggio “più veloce” se paragonato a Java, Scala o Go osservando però come richieda un maggior numero di interventi e di esperienza per raggiungere i risultati attesi.