<bgdev />free

Вход Регистрация

за std феновете
0

0 1 2
#31681 (ツ) Дон Реба
Създадено на 14.03.2021, видяно: 664 пъти.
bvbfan

Това е нещо нормално, това, което не може да се дефинира, няма как да се направи.

както винаги, най-големите проповедници не са много наясно. то има как да се дефинира и да се направи, всички тия шитове с недефинираното поведение идват не от някаква трудност за дефиниране, а защото по замисъл езика трябва да е бърз, авторите много са държали точно на тая му част, и не са искали чрез дефиниция да принуждават компилатора да генерира бавен код. например ако дефинираш строго размер за инт да е 32 бита, на 16 битов процесор кода ще е излишно бавен (така недомислено са смятали), или пък ако дефинираш >> да е аритметичен шифт, на 6502 няма такава инструкция и компилатора ще генерира излишно разни хватки с флага за пренос и кода ще е бавен. практиката обаче показва че това са били много лоши сметки без кръчмар, направо учебникарски пример за "каква я мислехме каква стана". не само че УБ е пряка причина за милиони бъгове, но и практически води до точно обратното - за да се избегне УБ кода става по-бавен. нормалните програмисти не знаят стандарта, ако някой знае стандарта значи е тежък социопат и ще ти докара ядове в колектива. нормалните хора просто свикват с конкретна платформа, където нещата са конвергирали някак си, и когато минат на друга бам бам, УБ бъговете почват да валят.

#31685 (ツ) Евлампи
Създадено на 14.03.2021, видяно: 647 пъти.
Дон Реба

нормалните хора просто свикват с конкретна платформа, където нещата са конвергирали някак си, и когато минат на друга бам бам, УБ бъговете почват да валят.

Забавното е че в цъ без плюсовете понеже е грубо ренде зависимия от платформата/средата код от немайкъде се изолира в обособена част на проекта и тия неща са по-очевидни от плюс пляса който с всичките 'умни' фатки които предлага дава лъжливата илюзия че може безплатно да се пише код дето хем е 'високо ниво' хем е производителен

#31687 (ツ) Дон Реба
Създадено на 14.03.2021, видяно: 644 пъти.

УБ частите в стандарта са толкова много, че зависимия от платформата код винаги е повече отколкото подозираш, просто с времето научаваш какво не бива да правиш на конкретната платформа, но нямаш си и и на идея кое от нещата които правиш и работят е дефинирано и кое не е. като цяло ако искаш човешко поведение - компилатор на микрософт и пей сърце, всичко се държи правилно, УБ не ти забранява нещата да са правилни, и микрософт избират винаги прявилната интуитивна имплементация, а не "бързата", дето евентуално добавя 0.01 точки в някой чекиджийски бенчмарк, ако си компилирал на О1000. гцц са точно наопаки избират найгадната имплементация, даже да не им носи бенчмарк точки, подозирам че просто ей така да им е гадно на приложните програмисчета и да не забравят че са низша сган. на гцц за да си сигурен че УБ хуевете ще са по-малко (пак ги има), най-добре компилираш без оптимизации, ето така на практика гцц става по-бавен, нищо че реално не е.

#31690 (ツ) Dr.Who
Създадено на 14.03.2021, видяно: 630 пъти.
Евлампи
Дон Реба

нормалните хора просто свикват с конкретна платформа, където нещата са конвергирали някак си, и когато минат на друга бам бам, УБ бъговете почват да валят.

Забавното е че в цъ без плюсовете понеже е грубо ренде зависимия от платформата/средата код от немайкъде се изолира в обособена част на проекта и тия неща са по-очевидни от плюс пляса който с всичките 'умни' фатки които предлага дава лъжливата илюзия че може безплатно да се пише код дето хем е 'високо ниво' хем е производителен

Всичко е лъжа! Заблуда и лъжа.

Аз като по-млад нещо не им вярвах, но се изредиха всякакви С++ гурута и всички ми твърдят, че С++ компилатора генерира код все едно писан на ръка. И тъкмо им повярвах и бам С++11 - "ние добавихме move семантика и сега е още по-бързо".

Е нали беше максимално бързо? Как така още по-бързо стана?

#31691 (ツ) johnfound
Създадено на 14.03.2021, видяно: 623 пъти.
Dr.Who

Е нали беше максимално бързо? Как така още по-бързо стана?

Е, ти не си ли гледал реклами за прах за пране?!

#31693 (ツ) Dr.Who
Създадено на 14.03.2021, видяно: 616 пъти.
johnfound
Dr.Who

Е нали беше максимално бързо? Как така още по-бързо стана?

Е, ти не си ли гледал реклами за прах за пране?!

Не съм. Рабин е по рекламите.

#31696 (ツ) Евлампи
Създадено на 14.03.2021, видяно: 607 пъти.
johnfound

Е, ти не си ли гледал реклами за прах за пране?!

Значи цъ плюс пляс вече изпира и картинките на тениските, при това с по-малко прах ползвайки код от високо ниво!

Голям майтап, не съм хейтър на цпп ама метам некой друг камък по лъснатите му витрини като падне сгода а бях почти цпп zealot навремето, Реба може и да помни :)

#31727 (ツ) |
Създадено на 14.03.2021, видяно: 587 пъти.
Dr.Who

Това не го разбрах. Явно не съм достатъчно умен за С++-саджия.

Защо "не може да се дефинира" ?

Аз като пиша на асемблер, всичко ми е на 100% дефинирано и знам процесора какво ще направи.

bvbfan просто си бълнува идиотщини, както обикновено. :)

0 1 2

за std феновете
0

AsmBB v3.0 (check-in: a316dab8b98d07d9); SQLite v3.42.0 (check-in: 831d0fb2836b71c9);
©2016..2023 John Found; Licensed under EUPL. Powered by Assembly language Created with Fresh IDE