История изменений
Исправление den73, (текущая версия) :
Я имею в виду «программирование чего-то абстрактного», где стороны вольны выбирать между голыми юнионами и размеченными (хотя бы). Ведь в той же sdl почему юнионы? Потому что одна из сторон пишет на Си, а не по какой-то другой причине. Т.е. да, сэкономили несколько операций, убрав тег. Зато дыры появились. Процессоры всё быстрее, несколько операций всё дешевле, а дыры в коде - всё дороже, потому что больше задач этим процессорам доверяют. Из этого очевидно, что везде, где можно хоть насколько-то, нужно пренебречь небольшим замедлением и перейти от чистых юнионов к размеченным.
Исходная версия den73, :
Я имею в виду «программирование чего-то абстрактного», где стороны вольны выбирать между голыми юнионами и размеченными (хотя бы). Ведь в той же sdl почему юнионы? Потому что одна из сторон пишет на Си, а не по какой-то другой причине. Т.е. да, сэкономили несколько операций, убрав тег. Зато дыры появились. Процессоры всё быстрее, несколько операций всё дешевле, а дыры в коде - всё дороже, потому что больше задач этими процессорами доверяют. Из этого очевидно, что везде, где можно хоть насколько-то, нужно пренебречь небольшим замедлением и перейти от чистых юнионов к размеченным.