Qual é a característica principal da programação em uma linguagem funcional, como a Curry?
Questão
Qual é a característica principal da programação em uma linguagem funcional, como a Curry?
Alternativas
A) Utilização exclusiva de funções e métodos para manipulação de dados.
B) Abstração de dados e operações em objetos interconectados.
C) Utilização de funções como cidadãos de primeira classe e imutabilidade de dados.
D) Foco na declaração dos resultados desejados sem especificar o fluxo de controle.
E) Ênfase na definição de algoritmos por meio de instruções sequenciais.
Explicação
Em linguagens funcionais (como Curry), a ideia central é que funções são o principal mecanismo de construção do programa: elas podem ser passadas como argumento, retornadas por outras funções e atribuídas a variáveis (ou seja, são cidadãos de primeira classe). Além disso, é comum o uso de imutabilidade, em que os dados não são “alterados” no lugar; em vez disso, cria-se novos valores a partir dos anteriores.
Analisando as alternativas:
- A: fala em “funções e métodos” e “utilização exclusiva” — não é a definição típica de paradigma funcional, e “métodos” remete mais a OO.
- B: descreve claramente orientação a objetos.
- C: descreve exatamente duas marcas fortes do paradigma funcional: funções de primeira classe e imutabilidade.
- D: descreve programação declarativa em geral (pode incluir funcional), mas é mais amplo e menos característico do que C.
- E: descreve programação imperativa/procedural.
Alternativa correta: (C).