С ++ 0x рушится под тяжестью новых функций и процесса стандартизации? - PullRequest
1 голос
/ 30 июля 2009

С Др. Доббс

Концепции должны были быть центральными новая функция в C ++ 0x

Даже после вырезания «концепций» Следующий стандарт C ++ может быть отложен. К сожалению, C ++ 0x не будет (если только Вы считаете незначительные исправления в C ++ 03). Надо ждать C ++ 1x, и надеюсь, что «х» будет младшей цифрой. Есть надежда, потому что C ++ 1x сейчас функция завершена (за исключением возможность некоторых национальных стандартов органы эффективно настаивают на некоторых функция присутствует в официальном предложении для стандарта). «Все», что осталось это огромная работа по решению нерешенные технические проблемы и комментарии.

Я был на переднем крае MT- и MP-безопасного программирования C ++ примерно в 1997-2000 годах. Нам пришлось многое делать самим. Немного шокирует, что стандарт не учитывал параллелизм в течение 9 лет, прошедших с тех пор.

Так в чем же дело?

Ответы [ 4 ]

13 голосов
/ 30 июля 2009

Нет.

Я не уверен, что заставляет вас думать, что это так. Статья Dr.Dobbs не подразумевает, что это так.

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

И процесс стандартизации ISO требует времени. Это тоже не ново. В статье, которую вы разместили, говорится только о том, что есть работа, которую нужно сделать, но небо не опускается, это довольно простая работа с низким уровнем риска, которую они будут выполнять с этого момента.

Есть несколько причин, почему это заняло так много времени:

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

Менее очевидный, но не менее важный фактор заключается в том, что они хотели долгое время, прошедшее после C ++ 98. Они хотели дать языку время для стабилизации и зрелости, получить большой опыт использования текущих языковых функций и дать компиляторам время наверстать упущенное. Еще несколько лет назад C ++ просто не был готов к обновлению. Крупные коммерческие компиляторы все еще были в беспорядке, и слишком многим людям все еще не нравился современный дизайн C ++.

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

Я не знаю, на какой год они изначально рассчитывали, но я сомневаюсь, что это было раньше 2007 года или около того. Так что да, новый стандарт немного задерживается, но не потому, что язык «рушится».

10 голосов
/ 30 июля 2009

Страуструп был одним из избирателей, чтобы окончательно удалить Концепции. Я не вижу, как C ++ рушится , вместо этого я вижу, что комитет C ++ делает свою работу. Полуфабрикаты не являются решением для надежного языка, такого как C ++. Взгляд на то, что будет в C ++ 0x, скажет вам противоположное тому, что вы говорите. Наконец, я не против подождать, чтобы получить что-то хорошее навсегда вместо что-то хорошее на некоторое время :)

3 голосов
/ 30 июля 2009

Нет, они просто осознают свою ответственность. Решения стандартного комитета затрагивают множество людей.

1 голос
/ 30 июля 2009

С одной стороны, я благодарен, что они не повторяют фиаско экспорта шаблона.
С другой стороны, такая же «ответственность» могла полностью уничтожить шаблоны до того, как они произошли.

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

...