Programação funcional envolve escrever funções puras sem efeitos colaterais, removendo inputs e outputs ocultos. Isso inclui usar higher-order functions, recursão, functors, composição e currying. Linguagens funcionais como Erlang, Haskell e F# encorajam essa abordagem ao suportar funções puras. Grandes empresas usam programação funcional em suas aplicações.