Несмотря на множество улучшений C++11
, C++
это все еще нелегкий язык. Java, хотя и не так проста, как некоторые думают, все же является более простым языком с очень хорошей производительностью (часто почти такой же быстрой, как C++
) и предлагает лучшие IDE (может быть Visual C++
, так же хорошо, как нынешние Java IDE, но не повезло здесь, в Linux), что значительно более полная стандартная библиотека (JDK), больше библиотек (например, Hibernate , Spring , JEE , Lucene и т. д.) и отсутствие утечек памяти (ну, почти, ни одной - вы все равно можете создать утечку памяти в Java, но сделать это труднее чем в C++
). Если честно, с современными C++11
гораздо легче избежать памяти лука-порея.
В C ++ 11 есть много интересных функций, таких как лямбда-выражения, ключевое слово auto, семантика перемещения и многое другое. Это определенно намного лучший язык, чем C++98
был. Посмотрите этот обзор Херба Саттера о новых функциях в C++11
: Элементы современного C++
стиля.
Подводя итог, я думаю, что каждый должен выучить хоть немного C++
. Если вы программировали в Java
, Scala
, Ruby
или Python
за последнее десятилетие и не прикоснулся C
или C++
, теперь C++11
я думаю , что настало время , чтобы узнать C++11
и улучшить свои навыки программирования при этом.
Я, вероятно, не буду C++
много использовать на работе в ближайшие годы, и когда мне понадобится более мощный язык, чем Java
, я, вероятно, пойду на Scala, но я буду внимательнее смотреть C++11
и пытаться изучить и понять новые функции, особенно о многопоточности и параллелизме.
Помните: всегда полезно выучить новый язык программирования, даже если вы не планируете использовать его в производстве.