Цитата: adolfus от 20.03.2024 00:24:34Просто программируйте на Си всегда, когда это оправдано с точки зрения, не учитывающей навыки и опыт, и все через два-три года у вас начнет получаться. А через пять-семь вы не сможете вспомнить, когда в последний раз вы налетели на malloc()/free() и сюрпризы
Упал.
Кагбэ Цэ у меня - основной язык последние лет 25.
Это вы не поняли что такое UB и к чему он приводит с современными компиляторами. Это не про "умные люди решили, что так правильно", это про "мы когда-то накосячили, а вы теперь любитесь как хотите". До определённого момента компиляторы следовали здравому смыслу (некоторые и сейчас следуют), не считали себя умнее программиста и не ломали код целенаправленно.
Но потом в чьи-то головы пришла идея, что можно запилить "крутые оптимизации", стандарт жеж позволяет. В результате любой большой проект на Си - обложен костылями в три слоя. Посмотрите хотя-бы на линуксовое ядро, где вечно идёт боротьба "каких бы ещё ключей GCC напихать, чтобы он перестал чудить".
Вдобавок, вы имеете какое-то идеализированное представление о работе комитета ISO. Вам выше дали ссылку на заметки человека, в этом самом комитете заседающего. Где он в красках рассказывает, как комитетчики с 2016 года чинили enum.
Но информация из первых рук - для вас КГ/АМ
Ещё раз: в комитете, в основном, сидят люди, которые на C не пишут. Им важна ачивка "наш компилятор соответствует стандарту и в одном тесте на 0.05% быстрее конкурентов", желательно при этом не перенапрячься. Как этим компилятором потом пользоваться - их не гребет, совсем.