Конечно, Си такой няшный, такой прям не запутанный, но зачем???
Зачем усложнять то, что есть в Си++? Я привык, что Си — простой и удобный язык для быстрых и лёгких программ (прошивок к роутерам и ядрам систем), но зачем делать клон плюсов?
А в чём тогда смысл? Тогда, на мой взгляд, проще закопать один из этих языков и объединить силы, вместо того, чтобы делать два практически одинаковых языка. Ладно бы коммерческая выгода, как у MS и Oracle…
Смысл в том, что во-первых это отдельный живой язык, во-вторых он является базисом не только для С++. Самый очевидный пример — Objective-C который суть синтаксический сахар для С.
А его почти не усложнили, даже облегчили. К примеру:
>>Статические утверждения(Assertions)
Без этого мне приходилось извращаться с созданием неименованной структуры и отключением варнингов. А сейчас напрямую в языке, что не может не радовать при портабельном программировании
В стандарты Си обычно проходит только то что уже итак много лет используется в виде экстеншенов в различных компиляторах. Пусть лучше это будет хоть как-то застандартизовано.
Ну нижнее подчеркивание + заглавная или два нижних подчеркивания в начале — зарезервировано в стандарте под язык (это точно для плюсов, предположу, что ноги растут из си). Поэтому _Noreturn — вполне законное имя и это ваши проблемы, что у вас была переменная с таким именем. Чего нельзя сказать о «noreturn». Обратная совместимость, 40 лет прошло… Ну или 22, если от C89.
Это демагогия. Вам про уродство подчёркиваний — вы про резервирование. Резервирование таких уродств, как _Noreturn, нельзя назвать хорошим тоном. Дело не в переменных с таким именем, а в читаемости кода с новыми ключевыми словами. Теперь все нововведения будут такими? А если C когда-нибудь появится auto как в D и C++ (давно пора), то его назовут _Auto?
А за что вы человека минусуете? Открываем K&R и читаем приложение A.8.1,
кейворд такой действительно есть.
Безусловно, он означает совсем не то, что auto в C++11, но об это никто вроде и не спорит.
А если введут auto аля С++11 (в чем я сильно сомневаюсь), то вероятнее всего его действительно назовут _Auto или что-то в этом духе. Потому что обратная совместимость для С — это главное.
Вышел стандарт C11 (C1X)