Junior — Middle
Pode explicar os fundamentos dos princípios e abordagens da programação funcional?
sobes.tech IA
Resposta da IA
A programação funcional (PF) é um paradigma de programação baseado no uso de funções como blocos de construção principais e na evitação de alterar o estado e efeitos colaterais.
Princípios e abordagens principais da PF:
- Funções puras: uma função sempre retorna o mesmo resultado para os mesmos dados de entrada e não altera o estado externo.
- Imutabilidade: os dados não mudam após serem criados, em vez disso, novas cópias são criadas com alterações.
- Funções de ordem superior: funções que aceitam outras funções como argumentos ou as retornam.
- Recursão em vez de loops: a recursão é frequentemente usada para repetir operações.
- Ausência de efeitos colaterais: funções não devem modificar variáveis externas, arquivos, bancos de dados, etc.
Exemplo em C++ (usando funções lambda):
#include <iostream>
#include <vector>
#include <algorithm>
int main() {
std::vector<int> numbers = {1, 2, 3, 4, 5};
// Função de ordem superior: passar uma função lambda para std::for_each
std::for_each(numbers.begin(), numbers.end(), [](int n) {
std::cout << n * 2 << " ";
});
return 0;
}
Aqui, não modificamos o vetor original, apenas aplicamos uma função a cada elemento para exibir, o que corresponde às ideias da abordagem funcional.