Nп/п : 45 из 100
 От   : Telegram Channels Robot             2:5055/182        02 сен 23 05:46:28
 К    : All                                                   02 сен 23 08:53:02
 Тема : [](https://telegra.ph/file/90699638457eb4765b1d3.mp4)**Бодался п&дар...
----------------------------------------------------------------------------------
                                                                                 
@MSGID: 2:5055/182 de7f595a
@PID: jNode ver. 1.5
@TID: jNode ver. 1.5
@CHRS: CP866 2
 [](https://telegra.ph/file/90699638457eb4765b1d3.mp4)**Бодался п&дар с
компилятором, как теленок с дубом**

Время воскресных очешуительных историй.

 Моя понимать, что мой вчерашний наезд на компиляторы без пруфов был
неубедительным и даже занозил какого-то возмущенного кодерка. Что ж, желаете пруфов?
Их есть у меня. Да, они уже все поправлены. Но они все __реально
были__.

 Итак, пруф первый. [Нелокальная лямбда с capsure
default](https://github.com/yvoinov/memlogger/blob/main/src/memlogger.h) - впишите в параметр класса в конце файла амперсанд в квадратные
скобочки лямбды. GCC 5.5 компилирует, даже не вякнув. А оно противоречит
стандарту, BTW. GCC 13.1, однако же, орет во всю глотку. Правильно делает,
кстати говоря - capture default в нелокальных лямбдах низя и попала она
туда машинально. Говорите, проверять на годболте? К годболту у меня
отдельная предьява - он показывает __совсем не то же самое, что реальные
компиляторы на реальном железе__, и, более того, часто показывает погоду. Поэтому
доверяй, конечно - но проверяй. А то обсеришься. Жиденько.

 Пруф второй. [Наследование и access
control.](https://github.com/yvoinov/memproxy/blob/main/src/memproxy.h) Protected member виден без наследования. GCC 5.5. Как же так, Карл?
Это не просто стандарту противоречит - это противоречит краеугольной
концепции!!!! Что? Вы полагаете, что такой древний компиль не встретите, да?
Накося выкуси - посейчас в ходу центось 7 и даже 6 с дефолтным GCC 4.8.5
и даже ниже. Что? Не видели в продакшенах банков таких? А я вот
видел и не просто видел.

 Пруф третий. Синглтон Майерса потокобезопасный, да? И гарантированно
создаст ровно один экземпляр а потом будет только референсами плеваться, да?
[На гетеросексуальных осях и GCC 5.5 так и есть, все, как написано в
стандарте, мамой
кылянусь.](https://github.com/yvoinov/memlogger/blob/main/src/memlogger.cc) Но вот на Линуксе, да на GCC 10+ - хрен там плавал, Уася!
__cxa_guard exception. Не работает так, как ты думаешь. Весело крэшит. Ичо, ичо
ты мне сделаешь? А переписывай-ка код, вафел, так, чтобы инстанцирование
было ровно один раз, а все остальные разы пиши референсы, понел, да? Да,
ять, на разных ОС - разное поведение! Причем ни компилятор, ни какой бы
то ни было анализатор - даже не тявкают.

 Пруф четвертый. Широко известная в узких кругах FreeBSD. Вы были в
курсе, что [conditional variable на фре реализованы через мьютексы, да не
абы какие - а аллоцирующие
память?](https://github.com/yvoinov/memlogger/blob/main/src/memlogger.cc) Да, ять, да! - lock_guard на фре аллоцирует память! Вот и я был
не в курсе. И, прикиньте - православная конструкция __работает вообще
везде - кроме FreeBSD__. Ну вот так вот. Шланг 15 - на который некоторые
надрачивают яростно - все дела, тоси-боси. Писечка на торте - ни сам шланг, ни
статические анализаторы - они слова не сказали за то, что тут что-то не так и
может как-то не тово в рантайме быть. А в рантайме был __херакс__ -
крэш-дамп на notify_one. Думай, что хочешь, уася - угадывай!

 Когда я слышу вопли видоплясовых, какие канпеляторы вумные - просто
как вутки - я парабеллум достаю и заряжаю.

 Прошу заметить - это п&зденышные крохотулечные программулинки,
практически хеллоуворлды. Так, х&рня воскресного дня. Упражнения в практической
педерастии.

 Вы представили себе, какая веселуха в гигантских кодовых базах
творится? Это к вопросу о доказательной корректности ваших программ.

 А теперь задумайтесь на закуску вот о чем. Вы - вот лично вы -
такие тесты проводите, а? А ваши тестировщики-вкатывальщики - у них
квалификации-то хватамбо для подобных тестов и вдупления, что надо втереть или
вправить или еще что-нибудь? Нет? Не хватамбо? Вам не кажется странным им
платить - не то, чтобы большую зарплату - а вообще какую бы то ни было
зарплату за тесты, которые вот такие вот кейсы нихрена не покрывают? М?
http://fido.ortoped.org.ru/90699638457eb4765b1d3.mp4

--- 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    
                                                                                
В этой области больше нет сообщений.

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