Голосование национальных комитетов ISO (NB, National Bodies) завершилось отказом утверждения международного стандарта C++26, финальный вариант спецификации для которого был принят в марте. Это первый подобный случай в истории развития основного стандарта C++. Из возможных путей развития событий отмечается выставление переработанного черновика стандарта на новое голосование национальных комитетов, возвращение черновика на стадию рассмотрения комитетом по стандартизации языка C++, публикация в виде технической спецификации, а не стандарта, или отмена проекта C++26 (возврат к C++23 и перенос всех утверждённых нововведений в C++29 c повторным согласованием всех предложений).
Основной причиной отклонения стандарта стало включение в язык элементов контрактного программирования (Contracts), позволяющих определять формальные спецификации интерфейсов при помощи трёх новых операторов: pre (предусловие), post (постусловие) и contract_assert (проверка утверждения). Представители нескольких национальных комитетов посчитали данную функциональность недостаточно зрелой, несмотря на то, что при утверждении рабочей группой WG21 за неё проголосовали более 2/3 участников. Изначально, поддержку контрактного программирования намеревались включить в стандарт C++20, но отправили на доработку.
Ситуация усугубляется нарушением устоявшейся практики голосования, в соответствии с которой представители национальных комитетов ISO соглашались с компромиссами, ранее согласованными в рабочих группах, и голосовали против стандарта только при обнаружении до этого не замеченных недостатков или при выявлении процедурных ошибок. На этот раз, по мнению члена комитета по стандартизации C++ из Германии, при голосовании против использовались аргументы, которые уже были рассмотрены и отвергнуты рабочей группой WG21 на предыдущих этапах подготовки спецификации.
Следующее заседание рабочей группы намечено на 16 ноября и пока не ясно смогут ли участники договориться в ситуации пошатнувшегося доверия. Для дальнейшего продвижения спецификации C++26 или её отмены требуется достижение консенсуса, но противники контрактного программирования не намерены менять свою позицию, а сторонники не хотят обесценивать многолетнюю работу.
Источник: https://www.opennet.ru/opennews/art.shtml?num=66614
(opennet.ru, основная лента)
[ON] Национальные комитеты ISO отклонили принятие стандарта C++26
Модератор: Модераторы разделов
-
rssbot
- Бот
- Сообщения: 6000
- ОС: gnu/linux
[ON] Национальные комитеты ISO отклонили принятие стандарта C++26
Последний раз редактировалось rssbot 04.11.2026 17:43, всего редактировалось 1 раз.
Причина: Updated upstream
Причина: Updated upstream