LINUX.ORG.RU

История изменений

Исправление EXL, (текущая версия) :

Мне вот что интересно.

Почему в новых стандартах C++ не сделают компилятор строже вплоть до того, чтобы старый код с небезопасными конструкциями переставал компилироваться с флагом -std=с++24? Не в первый раз ломают компиляцию (вспоминаем -fcommon) и не в последний, давно бы уже надели крестик.

И почему они в стандарте не детерминируют все UB? То есть если раньше было i++ + ++i а хрен знает что там выдаст, то в C++24 это будет детерминировано и так для каждого UB случая.

Все эти UB давно уже исследованы, по оптимизациям с их использованием набрана огромная статистика и т. д. Что мешает детерминировать большинство UB и пофиксить эти косяки стандарта?

Тем более все экзотические архитектуры окроме x86{_64}, arm и riscv по сути вымерли, как и BigEndian. Все эти «а вот на нашей системе байт не 8 бит, а 16 бит» для которых и были оставлены лазейки UB для оптимизации – тоже. Пусть разработчики компиляторов под экзотику страдают с детерминированым стандартом и изощряются делая свои подмножества C++ с UB, но каким хреном весь остальной мир прикладных и системных программистов вот уже 30 с гаком лет шагает по граблям UB потому что в какой-то там мёртвой экзотической архитектуре байтик можно сэкономить?

Исправление EXL, :

Мне вот что интересно.

Почему в новых стандартах C++ не сделают компилятор строже вплоть до того, чтобы старый код с небезопасными конструкциями переставал компилироваться с флагом -std=с++24? Не в первый раз ломают компиляцию (вспоминаем -fcommon) и не в последний, давно бы уже надели крестик.

И почему они в стандарте не детерминируют все UB? То есть если раньше было i++ + ++i а хрен знает что там выдаст, то в C++24 это будет детерминировано и так для каждого UB случая.

Все эти UB давно уже исследованы, по оптимизациям с их использованием набрана огромная статистика и т. д. Что мешает детерминировать большинство UB и пофиксить эти косяки стандарта?

Тем более все экзотические архитектуры окроме x86{_64}, arm и riscv по сути вымерли, как и BigEndian. Все эти «а вот на нашей системе байт не 8 бит, а 16 бит» для которых и были оставлены лазейки UB для оптимизации – тоже. Пусть разработчики компиляторов под экзотику страдают с детерминированым стандартом и изощряются делая своим подмножества C++ с UB, каким хреном весь остальной мир прикладных и системных программистов вот уже 30 с гаком лет шагает по граблям UB потому что в какой-то там мёртвой экзотической архитектуре байтик можно сэкономить?

Исправление EXL, :

Мне вот что интересно.

Почему в новых стандартах C++ не сделают компилятор строже вплоть до того, чтобы старый код с небезопасными конструкциями переставал компилироваться с флагом -std=с++24? Не в первый раз ломают компиляцию (вспоминаем -fcommon) и не в последний, давно бы уже надели крестик.

И почему они в стандарте не детерминируют все UB? То есть если раньше было i++ + ++i а хрен знает что там выдаст, то в C++24 это будет детерминировано и так для каждого UB случая.

Все эти UB давно уже исследованы, по оптимизациям с их использованием набрана огромная статистика и т. д. Что мешает детерминировать большинство UB и пофиксить большинство косяков стандарта?

Исправление EXL, :

Мне вот что интересно.

Почему в новых стандартах C++ не сделают компилятор строже вплоть до того, чтобы старый код с небезопасными конструкциями переставал компилироваться с флагом -std=с++24? Не в первый раз ломают компиляцию (вспоминаем -fcommon) и не в последний, давно бы уже одели крестик.

И почему они в стандарте не детерминируют все UB? То есть если раньше было i++ + ++i а хрен знает что там выдаст, то в C++24 это будет детерминировано и так для каждого UB случая.

Все эти UB давно уже исследованы, по оптимизациям с их использованием набрана огромная статистика и т. д. Что мешает детерминировать большинство UB и пофиксить большинство косяков стандарта?

Исходная версия EXL, :

Мне вот что интересно.

Почему в новых стандартах C++ не сделают компилятор строже вплоть до того, чтобы старый код с небезопасными конструкциями переставал компилироваться с флагом -std=с++24? Не в первый раз ломают компиляцию (вспоминаем -fcommon) и не в последний, давно бы уже одели крестик.

И почему они в стандарте не детерминируют все UB? То есть если раньше было i++ + ++i а хрен знает что там выдаст, то в C++24 это будет детерминировано и так для каждого UB случая.

Все эти UB давно уже исследованы, по оптимизация с их использованием набрана огромная статистика и т. д. Что мешает детерминировать большинство UB и таких вот косяков стандарта?