Это так, к слову, когда задал гуглу вопрос в чем разница между функциональным и процедурным программированием:
Функциональное программирование ИДЕНТИЧНО процедурному программированию, в котором глобальные переменные не используются. Процедурные языки, как правило, отслеживают состояние (используя переменные) и, как правило, выполняются в виде последовательности шагов.