Responda conforme a questão:
Quais são os princípios básicos da programação funcional? (8 escores)
Quais são os princípios básicos da programação funcional? (8 escores)
Passo 1
O enunciado pede para listar os oito princípios básicos da programação funcional. O conteúdo envolve entender como a programação funcional difere de paradigmas imperativos, enfatizando funções sem efeitos colaterais, dados imutáveis e estilo declarativo.
Passo 2
Princípio da função pura: uma função pura é aquela cujo valor de retorno depende apenas de seus parâmetros de entrada e não produz efeitos colaterais (como alterar variáveis externas, I/O ou estado global). Isso garante previsibilidade e testabilidade.
Passo 3
Princípio da imutabilidade: em programação funcional, estruturas de dados são tratadas como imutáveis. Em vez de modificar um objeto existente, cria-se sempre uma nova versão com as alterações desejadas, evitando estados compartilhados e bugs difíceis de rastrear.
Passo 4
Princípio de funções de primeira classe e funções de alta ordem: funções são valores de primeira classe (podem ser atribuídas a variáveis, passadas como argumento e retornadas de outras funções). Funções de alta ordem recebem outras funções como parâmetros ou retornam funções, permitindo abstrações poderosas.
Passo 5
Princípio do estilo declarativo: em vez de dizer detalhadamente como executar cada passo (o “como”), você descreve o que deve ser feito (o “o quê”). Isso torna o código mais legível e próximo da especificação de negócio.
Passo 6
Princípio da transparência referencial: qualquer expressão pode ser substituída pelo seu valor sem alterar o comportamento do programa. Isso decorre de funções puras e imutabilidade, facilitando raciocínio matemático sobre o código.
Passo 7
Princípio da composição de funções: constrói-se lógica complexa combinando funções menores, sem criar dependências ocultas. A composição (
) produz novos comportamentos juntando funções simples em cadeias claras.
Passo 8
Princípio da recursão e ausência de loops imperativos: como não há estado mutável, laços imperativos tradicionais (for, while) dão lugar à recursão para repetir operações. Em alguns casos, usa-se recursão de cauda para eficiência.
Passo 9
Princípio da avaliação preguiçosa (lazy evaluation): expressões só são avaliadas quando realmente usadas, o que pode melhorar desempenho e possibilitar estruturas de dados infinitas, desde que consumidas conforme a necessidade.
Resposta
• Funções puras
• Imutabilidade
• Funções de primeira classe e de alta ordem
• Estilo declarativo
• Transparência referencial
• Composição de funções
• Recursão em vez de loops imperativos
• Avaliação preguiçosa
• Imutabilidade
• Funções de primeira classe e de alta ordem
• Estilo declarativo
• Transparência referencial
• Composição de funções
• Recursão em vez de loops imperativos
• Avaliação preguiçosa