L’introduzione di linguaggi nuovi e moderni ha reso superfluo il C++. Anche il suo scarso utilizzo nella ricerca sull’intelligenza artificiale non ha aiutato.
Il C++, un tempo leader nel panorama tecnologico alla fine del XX secolo, ha giocato un ruolo di spicco nei progressi, soprattutto nell’esplorazione spaziale. Tuttavia, l’avvento di linguaggi di programmazione più nuovi e visivamente accattivanti ha ridotto l’attenzione sul C++.
Al AI + Data Summit 2024, il ricercatore Yejin Choi ha dichiarato che il C++ non viene più utilizzato dai ricercatori per l’intelligenza artificiale. Questo solleva la domanda: sta diventando una reliquia del passato?
Nonostante sia noto per le prestazioni elevate e l’applicabilità in campi come il riconoscimento vocale e la visione artificiale, il C++ non è il linguaggio preferito per lo sviluppo di intelligenza artificiale. La sua complessità e la ripida curva di apprendimento rappresentano sfide significative. Al contrario, Python, con la sua natura user-friendly, ampie librerie e grandi comunità di sviluppatori, ha guadagnato una posizione di leadership nella programmazione AI.
Inoltre, il C++ richiede la gestione manuale della memoria, che può causare perdite di memoria ed errori se non gestita correttamente. Questo è stato evidenziato da Microsoft, che ha dovuto risolvere numerosi bug di sicurezza legati alla gestione della memoria in Windows, scritto principalmente in C e C++.
Anche il team di Google Chrome ha rivelato che la maggior parte dei bug di sicurezza nel loro codice base erano dovuti a problemi di gestione della memoria in C++.
In aggiunta, il C++ non offre supporto integrato per la garbage collection, l’accesso ai database e il threading, rendendo necessario uno sforzo aggiuntivo nello sviluppo.
Per superare queste limitazioni, gli sviluppatori spesso si affidano a librerie di terze parti come OpenMP o Boost per il supporto al threading. Tuttavia, l’uso di queste librerie può aumentare la complessità del codice, rendendole adatte solo per applicazioni specifiche.
Nonostante questi svantaggi, il C++ ha visto miglioramenti con il passare degli anni, come con le aggiunte della versione C++11 come il riferimento rvalue e la semantica di spostamento.
Negli ultimi anni, linguaggi come Rust stanno emergendo come alternative al C++ per i sistemi di basso livello, offrendo maggiore sicurezza e facilità di apprendimento.
Il confronto tra le caratteristiche di linguaggi moderni come C++, Python e Rust mette in evidenza come il C inizi a sembrare antiquato, specialmente considerando che l’ultimo aggiornamento significativo al linguaggio C risale al 2011.
Mark Russinovich di Microsoft ha suggerito che i linguaggi C e C++ dovrebbero essere considerati “deprecati”, incoraggiando gli sviluppatori a utilizzare alternative più moderne.