C ++ 11: новый язык? - PullRequest
31 голосов
/ 07 мая 2009

Недавно я начал читать (чуть чуть) текущий черновик для будущего стандарта C ++ 11.

Существует множество новых функций, некоторые из которых уже доступны в Boost Libs. Конечно, я очень доволен этим новым стандартом, и я хотел бы поиграть со всеми новыми функциями как можно скорее.

Во всяком случае, говоря об этом проекте с некоторыми друзьями, давними разработчиками C ++, возникли некоторые проблемы. Итак, я прошу вас (ответить на них):

1) Сам язык

Это обновление огромно, возможно, слишком велико для отдельного стандартного обновления. Огромный для поставщиков компиляторов (даже если большинство из них уже начали реализовывать некоторые функции), но также и для конечных пользователей.

В частности, мой друг сказал мне: « это своего рода новый язык ».

  • Можем ли мы считать это новым языком после этого обновления?
  • Планируете ли вы перейти на новый стандарт или идти в ногу со "старыми" стандартами?

2) Знание языка

  • Как новый стандарт повлияет на кривую обучения?
  • Преподавать язык будет сложнее?
  • Некоторые функции, хотя и довольно удивительные, кажутся мне слишком «академичными» (как я имею в виду, определение). Я не прав?
  • Освоение всех этих новых дополнений может быть кошмаром, не так ли?

Ответы [ 11 ]

3 голосов
/ 07 мая 2009

Можем ли мы считать это "новым языком", я думаю, что это семантика. Это не имеет значения. Он обратно совместим с нашим текущим кодом C ++, и это лучший язык. Неважно, считаем ли мы это «одним и тем же языком».

Об изучении языка помните, что существует множество новых функций, облегчающих изучение и использование языка . Большинство функций, которые добавляют сложность, предназначены только для разработчиков библиотек. Они могут использовать эти новые функции, чтобы создавать лучшие, более эффективные и простые в использовании библиотеки, которые вы можете использовать, не зная о функциях. Некоторые изменения на самом деле упрощают и обобщают существующие функции, делая их более легкими для освоения новичками.

Это большое обновление, да, но оно опирается на десятилетний опыт работы с текущим стандартом C ++. Каждое изменение есть, потому что опыт показал, что оно необходимо. На самом деле, комитет крайне осторожен и консервативен, и отказался от огромного количества других языковых улучшений. Здесь добавлены только основные принципы, с которыми 1) все могли бы согласиться, и 2) можно было указать их вовремя, не задерживая новый стандарт.

Это не просто несколько языковых дизайнеров, которые сидят и обсуждают новые функции, которые они хотели бы попробовать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...