January 5, 2022

Курьезы неявного преобразования типов

Как-то в интернете попался очень смешной мем по этой теме...

Открыть смешную поучительную картинку

Проверил представленные примеры на 1С. Первые два - результат тот же, а третий когда-то давно на старых платформах был как на картинке, а сейчас по другому, более логично. То есть некоторые ситуации еще и на разных версиях отрабатывают по разному:

"5" - 3 = 2
"5" + 3 = "53"
5 + -"2" = "5-2" //на старых версиях
5 + -"2" = 3 //на новых версиях

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

3 / 2 = 1

←4 | заметка 5 | 6→