Responda conforme a questão:
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 ( f\circ g) 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

Exercícios relacionados