In tempi moderni, la maggior parte dei programmatori si concentra su Python, Rust e altri nuovi linguaggi di programmazione. Non è più necessario padroneggiare il C++ o qualsiasi altro linguaggio per essere considerati dei bravi programmatori. Allo stesso tempo, quando qualcuno afferma di avere una “conoscenza di C++”, potrebbe essere un po’ esagerato.
La discussione ha preso avvio da un blog di Louis Brandy del 2010 intitolato “Non fidarti mai di un programmatore che afferma di conoscere il C++”. Brandy spiega che i programmatori che sono passati da C a C++ possono avere l’illusione di conoscere il linguaggio perché possono acquisirne una certa familiarità rapidamente.
Su Reddit, c’è stato un thread in cui i programmatori hanno discusso la validità di questa affermazione. Un utente suggerisce di chiedere semplicemente quali sono le competenze specifiche di qualcuno in C++, senza cercare di valutare su una scala da 1 a 10. In questi giorni, comunque, non sono molte le persone che richiedono queste competenze.
Nel campo dell’apprendimento automatico, sembra che le uniche persone che imparino C++ siano quelle interessate alla tradizione o a vendere libri. È vero che molte persone aggiungono C++ al loro curriculum, ma quando vengono fatte domande specifiche, spesso non riescono a rispondere. Questo potrebbe essere dovuto alla vastità del linguaggio stesso. Non è necessario conoscere ogni dettaglio per completare il lavoro. La maggior parte degli sviluppatori lo preferisce a Python o altri linguaggi solo per questioni di velocità.
Anche Bjarne Stroustrup, autore del libro “C++ Programming Language”, non afferma di conoscere completamente C++. Probabilmente ci sono solo quattro persone al mondo che possono vantare tale conoscenza. In passato, ha affermato che la maggior parte delle persone che utilizzano C++ non è in grado di scrivere una semplice classe senza errori o problemi.
Molti sviluppatori ritengono che C++ sia un linguaggio in declino, ma non è del tutto vero. Se un programmatore ha bisogno di creare qualcosa da zero, come un sistema operativo o lo sviluppo di giochi, C++ rimane ancora il linguaggio di riferimento. Tuttavia, può risultare un po’ scomodo utilizzarlo in molti contesti di sviluppo moderni.
Ovviamente, pochissime persone, se non nessuna, conoscono il 100% di qualsiasi linguaggio di programmazione. Con le complessità e i paradigmi in continua evoluzione del linguaggio, C++ rappresenta solo un ulteriore passo avanti.
Ancora più importante, questa discussione evidenzia chiaramente gli standard elevati a cui i programmatori di C++ sono sottoposti. Nessuno metterebbe in dubbio le capacità di un programmatore in qualsiasi altro linguaggio.