Переменные в императивных и функциональных языках программирования отличаются тем, что в первых они могут хранить данные и изменяться во время работы программы, а во вторых — объявляются только один раз, и после этого значение переменной измениться не может. 1
В императивных языках программирование предполагает присваивание значений переменным, в то время как в функциональных языках это достигается путём передачи выражений в параметры функций. 2