A programação declarativa especifica o que uma tarefa deve realizar, ao contrário da imperativa que especifica como deve ser realizada. Na declarativa, operações como somar valores de um array ou duplicar valores de um array podem ser expressas de forma concisa usando funções como map e reduce. Embora a imperativa seja mais eficiente e o modelo natural, a declarativa facilita a legibilidade e reutilização de código.
2. Programação Imperativa
● Especificação de como deve ser realizada uma tarefa
Ex. Duplicar os valores de um array:
function double (arr) {
let results = []
for (let i = 0; i < arr.length; i++){
results.push(arr[i] * 2)
}
return results
}
console.log(double([1, 2, 3, 4]))
Resultado: [ 2, 4, 6, 8 ]
3. Programação Declarativa
● Especificação do que uma tarefa deve realizar
Ex. Duplicar os valores de um array:
const add = arr => arr.map(value => value * 2)
console.log(add([1, 2, 3, 4]))
Resultado: [ 2, 4, 6, 8 ]
4. Imperativa vs Declarativa
Ex. Chegar ao terminal da fonte:
● Programação Imperativa:
○ Siga reto pela rua Capitão Frederico Virmond, sentido centro. Vire à
esquerda na rua Marechal Floriano Peixoto e siga reto até o terminal
que fica no número 1641.
● Programação Declarativa
○ O endereço é Rua Marechal Floriano Peixoto, 1641 - Centro.
5. Imperativa vs Declarativa
Ex. Somar os valores de um array:
1. function somaArr(arr){
let soma = 0;
for(let i = 0; i<arr.length; i++){
soma += arr[i];
}
return soma;
}
2. const somaArr = arr => arr.reduce((a, b) => a+b)
console.log(somaArr([1, 2, 3]))
Resultado: 6
6. Programação Imperativa
● Vantagens:
○ Eficiência
○ Modelo natural de resolução
○ Dominância no mercado
● Desvantagens:
○ Difícil legibilidade
○ Facilita indução a erros