Переменные в функциональных языках программирования (ФП) и в объектно-ориентированных (ООП) отличаются тем, что в ООП переменные могут меняться, а в ФП — нет. 1
В ООП посредством методов можно присваивать новые значения переменным. 1 Из-за того, что значения переменных могут меняться, машине нужно исполнять инструкции в заданном порядке, чтобы получить желаемый результат. 1
В ФП переменные объявляются один раз и больше не меняются. 1 Это как константы: записали значение и всё, теперь его можно только прочитать. 2 Промежуточные результаты хранятся в функциях: обратившись к нужной, всегда можно получить искомый результат. 2
Таким образом, функциональный подход акцентирует внимание на функциях и отсутствии изменяемых переменных, в то время как объектно-ориентированный подход структурирует код вокруг объектов и использует изменяемые переменные. 3