Что: 725aff6b7afa6fb0cea24d13d3733d21a984618b
Когда: 2021-11-10 10:57:07+03:00
Темы: c hate
Си должен умереть http://cmustdie.com/ От Столярова (d026b3c3e20a717c7fd8aad8f5377c4fc4b90d0b) узнал про этот сайт, прочитал. Согласен что со всеми этими undefined behaviour жопа. Но, в конце есть выдержка диалога одного из разработчиков GCC (Andrew Pinski), который своим изменением (якобы) поломал кучу кода. Вот с ходу, честно говоря, я на стороне этого Пински полностью. Уж извините, но тот факт, что масса людей написала security-critical код полагаясь не шибко корректно -- это их проблемы. С какого чёрта компилятор должен думать о fail-ах кучи остальных людей и делать по умолчанию совместимость с их поведением? Есть отдельный флаг -fwrapv, но включать его по умолчанию, с какой стати? Да, с каждой новой версией компилятора и прочего, я считаю нормально проверять что в них изменилось и как теперь надо править параметры сборки для своего не очень корректного кода. Более того, задумываться о возможности переполнения мне тоже приходилось, когда я начинал писать на Си. И у меня почти идентичный код как у Пински получился. Ибо только так у меня была чёткая уверенность что оно будет отрабатывать как я ожидаю без подвохов. Но я согласен что сам факт этих дискуссий и ругани, в первую очередь, говорит плохо о стандарте Си, из-за которого вообще возможны такие эксцессы. Но, блин, аргументы про Ариан-5 -- говорят только об идиотизме людей которые пишут на столь опасных языках такой опасный код. Вообще риторика felix-gcc -- хамская и вообще удивительно как Пински спокойно отвечает и реагирует на это, попутно показывая *как* надо проверять на переполнение.
Сгенерирован: SGBlog 0.34.0