A programação funcional trata a computação como avaliação de funções matemáticas, evitando estados mutáveis. Ela define algoritmos por chamadas de função em vez de loops, e variáveis sempre locais. Isso torna os programas funcionais mais simples para paralelismo e análise, com testes unitários mais fáceis. Linguagens como JavaScript e Ruby usam esse paradigma.