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.