Nп/п : 32 из 100
 От   : Telegram Channels Robot             2:5055/182        22 авг 23 05:02:05
 К    : All                                                   22 авг 23 08:03:02
 Тема : **Против лома нет приёма**
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 2:5055/182 d70c9ed6
@PID: jNode ver. 1.5
@TID: jNode ver. 1.5
@CHRS: CP866 2
**Против лома нет приёма**

 [К сожалению, более, чем актуальная
статья.](https://habr.com/ru/articles/756000/)

 А за оптимизации через UB надо компиляторщиков лупить ломом по
шаловливым ручонкам, которые растут из жопы.

И вот почему.

Вы кроссплатформенный ужас пробовали писать?

 То, что в нем поведение стандартной библиотеки шланга (libc++) и GCC
(libstdc++) может в одном и том же месте отличаться - это половина беды.

 То, что проприетарные компиляторы имеют собственные стандартные
библиотеки, отличные в поведении и реализации от сладкой парочки выше - это
тоже полбеды.

Как, скажите на милость, тестировать UB?

Вы сталкивались с таким UB, которое не приводит к немедленному краху?

А, наоборот, 40 раз дает один результат, а 41й - другой?

 Вы пишете юнит-тесты таким образом, чтобы по 40 раз повторять одно
да потому? И сравниваете результаты? Ведь сравниваете?

 У меня для вас феровые новости - ваши программы, которые вы
считаете безупречно вылизанными - в них может скрываться UB.

 Вариантов, тащемта, немного. Не включать оптимизации. И юзеры Cmake
этим в большинстве успешно пользуются. Вы заметаете UB под ковер. До поры
до времени.

 А вы видели, как код, работающий на одной платформе без сучка и
задоринки, немедленно ловит дэдлок на другой? А при попытке приаттачить к
висюку дебаггер, дабы посмотреть - "Чтоооооэтотаааааамвисииииит?!" -
незамедлительно обваливается, не давая, собственно, посмотреть - ачо висело-то?
Угадывай с одной ноты, чувак!

 Это другая сторона медали - реализация системного API. И я скорбно
промолчу про расфрагментированные в хламину __разные__ платформы, которым API
libC - уже не указ.

 До вас начинает доходить, почему я матом крою комитеты и тех, кто
потом следует указивкам и решениям этого совета джедаев?

 Из вышесказанного следует, что корректных программ на планете - почти
не существует. Что это может означать в рамках всеобщей говнохренации
говнохренаторов - догадайтесь сами.

Используйте воображение.

 PS. __Угадайте с трёх раз, почему компиляторщики вынуждены делать
оптимизации на грани фола, а? Ну? Ну? Ну? Потому, что вы их не делаете. Вы -
лично вы - считаете оптимизацию матерью всех зол. И оптимизацией вы
считаете положиться на закон Мура и завалить всё железками пошибчее. Капасити
рассчитать, ага. Алгоритмы? Это для собесов. В лучшем случае вы считаете
оптимизацией подправить пару-тройку ядерных параметров ОС. Это в лучшем случае. А
алгоритмы? Оптимизации в смысле Брендана? Это для дятлов вроде меня. Которым
заняться больше нехером. Самые продвинутые делают профилирование и оптимизируют
лишь торчащие больные пальцы, верно? Спасибо и на этом, как говорится.
Остальным - капасити рулит!!!!!111111 Такие делишки, ангелы мои. Такие делишки.
А компиляторщики - они знают, что пара лишних ассемблерных команд
оттяпывает 10% от производительности. Может оттяпать. Но вам-то что до этого,
вам не за это бапки плотят.__
http://fido.ortoped.org.ru/photo_2023-08-22_05-00-02.jpg

--- hssergey station
 * Origin: jNode ver. 1.5 (2:5055/182)
SEEN-BY: 301/1 460/58 4500/1 5001/100 5005/49
5015/255 5019/40 5020/715 848
SEEN-BY: 5020/1042 4441 12000 5030/49 1081 5055/182
5058/104 5061/133
SEEN-BY: 5083/444
@PATH: 5055/182 5020/1042 4441



   GoldED+ VK   │                                                 │   09:55:30    
                                                                                
В этой области больше нет сообщений.

Остаться здесь
Перейти к списку сообщений
Перейти к списку эх