Nonostante molti miglioramenti in C++11
, C++
non è ancora un linguaggio facile. Java, sebbene non sia facile come qualcuno potrebbe pensare, è ancora un linguaggio più semplice con ottime prestazioni (spesso quasi veloce come C++
) e offre IDE migliori (forse Visual C++
è buono come attuali IDE Java ma senza fortuna qui su Linux), una libreria standard molto più completa (il JDK), più librerie (es. Iberna , Spring , JEE , Lucene , ecc.) e nessuna perdita di memoria (beh, quasi nessuna: è ancora possibile creare una perdita di memoria in Java, ma è più difficile farlo in C++
). Per essere onesti, con il moderno C++11
, è molto più semplice evitare i porri di memoria.
C ++ 11 ha molte funzioni interessanti come lambdas, auto keyword, move semantics e molto altro. È sicuramente una lingua molto migliore di C++98
.
Vedi questa panoramica di Herb Sutter sulle nuove funzionalità in C++11
:
Elementi di Modern C++
Style.
Per riassumere, penso che tutti dovrebbero imparare almeno un po 'di C++
. Se hai programmato in Java
, Scala
, Ruby
o Python
per l'ultimo decennio e non hai mai toccato C
o C++
, ora con C++11
Penso che sia ora di imparare C++11
e migliora le tue capacità di programmazione mentre lo fai.
Probabilmente non userò C++
molto al lavoro nei prossimi anni e quando avrò bisogno di un linguaggio più potente di Java
, probabilmente andrò su Scala, ma darò un'occhiata più da vicino a C++11
e cerca di imparare e comprendere le nuove funzionalità, in particolare quelle relative al multithreading e alla concorrenza.
Remember: It always helps to learn a new programming language even
when you don’t plan to use it in production.