2.5 KiB
title | localeTitle |
---|---|
Functional Programming | Programação Funcional |
Programação Funcional
A programação funcional é o processo de construção de software, compondo funções puras , evitando estado compartilhado , dados mutáveis e efeitos colaterais . A programação funcional é declarativa (dizendo ao computador o que você quer fazer) em vez de imperativa (informando ao computador exatamente como fazer isso), e o estado do aplicativo flui através de funções puras. Compare-o com a programação orientada a objetos, em que o estado do aplicativo é geralmente compartilhado e co-localizado com métodos em objetos.
Por que programação funcional?
- Geralmente é mais conciso
- Geralmente é mais previsível
- É mais fácil testar do que código orientado a objetos
Adoção por programação de idiomas
Muitas linguagens de programação suportam programação funcional como Haskell, F #, Common Lisp, Clojure, Erlang, OCaml. O JavaScript também possui as propriedades de uma linguagem funcional não tipificada.
Usos
A programação funcional tem sido popular na academia, mas com poucas aplicações industriais. No entanto, recentemente várias linguagens de programação funcionais proeminentes foram usadas em sistemas comerciais ou industriais. Por exemplo, a linguagem de programação Erlang, que foi desenvolvida pela empresa sueca Ericsson no final dos anos 80, é usada para criar uma variedade de aplicativos em empresas como a T-Mobile, a Nortel, o Facebook, a Eletricité de France e o WhatsApp.
Funções de ordem superior
Funções de ordem superior são uma grande parte da programação funcional. Uma função de ordem superior é uma função que recebe uma função como parâmetro ou retorna uma função.
Mapa
map
é uma função de ordem superior que chama uma função para cada elemento de uma lista e retorna os resultados como uma nova lista.
Aqui está um exemplo de map
:
const myList = [6, 3, 5, 29];
let squares = myList.map(num => num * num); // [36, 9, 25, 841]