Я могу привести ещё такую аналогию. Как-то я увидел, что облако закрыло гору. И я решил пойти на гору, чтобы увидеть, как выглядит облако изнутри. По мере подъёма вокруг становилось влажно и прохладно. На каком-то этапе я решил зафиксировать результат, понять, когда начнётся облако. Но был туман, и на расстоянии 100 метров уже ничего не было видно.
И тут до меня дошло, что я уже был в облаке.
Так и язык программирования и прочие концепции. Со стороны кажется, что существует чёткая граница. Но по мере приближения к ней, граница расплывается.