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