Когда будет выпущен C++0x и когда он станет стандартом де-факто?

Я читал, что C++0x, скорее всего, будет официально выпущен в марте 2010 года и станет стандартом ISO к концу 2011 года.
Действительно ли это наиболее вероятный сценарий или есть риск, что его снова отложат? и опять?

Мне также интересно, когда он станет стандартом де-факто: когда кто-нибудь (включая самые популярные программы, такие как Qt, библиотеки Windows и т. д.) будет использовать его вместо использования C++03?
Думаю, что да. популярным библиотекам не так просто перейти на C++0x, поскольку я не думаю, что они заставят всех своих пользователей обновлять компиляторы.

Я надеюсь, что этот вопрос не считается субъективным; Я так не думаю, поскольку ответы могут (и должны) основываться на опыте перехода на C++03


person peoro    schedule 27.12.2010    source источник
comment
Как только я изобрету свою машину времени, я дам вам знать.   -  person Ed S.    schedule 27.12.2010
comment
Как я указал в последнем абзаце, я думаю, что можно оценить даты, основываясь на том, что произошло с C++03. Я мог бы переформулировать вопрос, спрашивая, сколько времени потребовалось C++03 после его выпуска, чтобы стать стандартом де-факто, если это менее субъективно.   -  person peoro    schedule 27.12.2010
comment
@Ed Swangren: Если бы вы когда-нибудь изобрели машину времени, разве вы не вернулись бы к тому времени, когда публиковали этот комментарий, и не опубликовали бы результат напрямую? Просто говорю'   -  person houbysoft    schedule 27.12.2010
comment
Ваш вопрос звучит так, как будто C++0x заставляет язык работать как perl. Им не нужно переключаться на C++0x. В 99% случаев они уже используют C++0x, когда используют C++03.   -  person Johannes Schaub - litb    schedule 27.12.2010
comment
@Johannes Schaub: ну, да, но они строго ограничены в использовании функций, совместимых с C ++ 03. Мне интересно, когда кто-нибудь начнет свободно использовать функции C++0x.   -  person peoro    schedule 27.12.2010
comment


Ответы (1)


Хорошо это или плохо, но все, что касается «стандарта де-факто», субъективно по крайней мере по двум направлениям. Во-первых, компилятор включает в себя достаточно функций C++0x, чтобы квалифицироваться как реализующий C++0x, а во-вторых, когда их использование стало «принятым». Большинство компиляторов C++ уже включают в себя по крайней мере несколько важных функций C++0x, и значительное количество кода (например, части последних выпусков Boost) могут использовать их, если они есть. Другие функции гораздо менее доступны и/или мало (практического) кода, который их использует.

Стандарт немного похож на часть программного обеспечения, которое в настоящее время находится в стадии бета-тестирования (ну, официальный период «бета-тестирования» закончился). В основном исправляются известные ошибки, но новые функции не добавляются. В какой-то степени теперь это управляется графиком — то есть, если не будет обнаружена серьезная проблема, они исправят как можно больше ошибок до даты выпуска, а когда время истечет, он будет выпущен. Как и в случае с (большими) программными пакетами, существует задержка между моментом его окончательной доработки и временем публичного выпуска. Это дольше, чем обычно для программного обеспечения, но также и менее актуально — как только оно будет завершено, поставщики компилятора будут иметь копии для работы, а окончательная печать выпуска не так уж много значит.

person Jerry Coffin    schedule 27.12.2010