Я програміст на C і C ++, хоча не дотримуюся жодної мови і пишу суміш цих двох. Іноді наявність коду в класах, можливо, з перевантаженням оператора, або шаблонами, і так великий STL, очевидно, кращий спосіб. Іноді використання простого покажчика функції С набагато зрозуміліше і зрозуміліше. Тож я знаходжу красу та практичність на обох мовах. Я не хочу вступати в дискусію "Якщо ви їх змішуєте і компілюєте з компілятором C ++, це вже не мікс, це все C ++". Я думаю, що ми всі розуміємо, що я маю на увазі під їх змішуванням. Крім того, я не хочу говорити про C vs C ++, це питання стосується C ++ 11.
C ++ 11 вносить те, що, на мою думку, є суттєвими змінами в роботі C ++, але він вніс багато особливих випадків, винятки та порушення, які змінюють поведінку різних функцій в різних обставинах, встановлюючи обмеження на багаторазове успадкування, ідентифікатори, які виступають як ключові слова, розширення рядкових літералів, зміна фіксованої функції лямбда і т.д.
Я знаю, що в якийсь час у майбутньому, коли ви скажете C ++, всі приймуть C ++ 11. Так само, як і зараз, коли ви говорите C, ви, мабуть, маєте на увазі C99. Це змушує мене розглянути питання вивчення C ++ 11. Зрештою, якщо я хочу продовжувати писати код на C ++, я можу в якийсь момент почати використовувати ці функції просто тому, що у мене є колеги.
Візьмемо для прикладу С. Після стількох років у C. все ще багато людей навчаються та пишуть код. Чому? Бо мова гарна. Хороший засіб полягає в тому, що він дотримується багатьох правил для створення гарної мови програмування. Окрім того, що є потужним (який легкий чи важкий, майже всі мови програмування), C є регулярним і має невеликі винятки, якщо такі є. C ++ 11, однак, я не думаю. Я не впевнений, що зміни, внесені в C ++ 11, покращують мову.
Тож питання: Чому я б вивчив C ++ 11?