Key Difference – Programação Declarativa vs Programação Imperativa
Programação declarativa e imperativa são dois paradigmas de programação comuns. A principal diferença entre programação declarativa e imperativa é que a programação declarativa se concentra no que o programa deve realizar, enquanto a programação imperativa se concentra em como o programa deve atingir o resultado.
Um paradigma de programação é usado para classificar uma linguagem de programação dependendo do recurso. Também permite seguir um determinado padrão ou estilo para resolver um problema específico.
O que é Programação Declarativa?
A programação declarativa pode ser explicada usando um cenário do mundo real. Suponha que o usuário precise verificar se há novos e-mails. Um método é habilitar as notificações da caixa de entrada. O usuário tem que habilitar as notificações apenas uma vez, e cada vez que chega um novo e-mail, ele recebe uma notificação automaticamente. A programação declarativa é semelhante a isso. Proporciona simplicidade. A programação declarativa expressa qual é o resultado requerido. Explica a lógica de uma computação sem descrever o fluxo de controle.
Figura 01: Paradigmas de Programação
Um exemplo de programação declarativa é o seguinte. É multiplicar os números de um array por uma constante e armazená-los em um novo array.
var números=[1, 2, 3];
var newnumbers=numbers.map(function(number){
retorna números5;
});
Console.log(newnumbers);
No exemplo acima, ‘map’ fornece instruções para iterar cada item no array e invocar a função de retorno de chamada para cada item e armazenar o valor de retorno no novo array. Isso dará a saída 5, 10, 15. Neste programa, o objetivo principal de multiplicar os números por 5 é realizado usando a função map. Ele passará por cada elemento e usará a função de retorno de chamada para calcular e armazenar os valores no novo array. Não é necessário fornecer todas as etapas. O foco principal é dado ao que deve ser alcançado.
O que é Programação Imperativa?
A programação imperativa pode ser explicada usando um cenário do mundo real como antes. Para verificar os novos e-mails, o usuário pode fazer login no gmail e continuar atualizando a página para verificar se recebeu novos e-mails ou não. Isso é semelhante à programação imperativa. Ele explica cada passo envolvido para alcançar o resultado. Ele usa instruções para expressar as mudanças no estado do programa.
Multiplicar os elementos arrays com uma constante e armazenar os valores em um novo array na programação imperativa é o seguinte.
var números=[1, 2, 3];
var newnumbers=;
for(int i=0; i< números.comprimento; i++) {
newnumbers.push(numbers5);
}
Console.log(newnumbers);
No exemplo acima, os números são uma matriz. Ao passar pelo loop, cada número é multiplicado por 5 e adicionado ao array newnumbers. Após o final do loop, o conteúdo dos newnumbers será impresso, que são 5, 10, 15.
Pode-se observar que o estilo imperativo fornece todos os passos para a realização da tarefa. Ele expressa como iterar pelo array usando a variável de contador 'i', quantas vezes iterar antes de sair do loop e como inserir os valores calculados nos novos arrays etc.
O mesmo problema foi resolvido usando programação declarativa e imperativa.
Qual é a diferença entre programação declarativa e imperativa?
Programação Declarativa vs Programação Imperativa |
|
Programação declarativa é um paradigma de programação que expressa a lógica de uma computação sem descrever seu fluxo de controle. | Programação imperativa é um paradigma de programação que usa instruções que alteram o estado do programa. |
Foco Principal | |
A programação declarativa foca no que o programa deve realizar. | A programação imperativa foca em como o programa deve alcançar o resultado. |
Flexibilidade | |
A programação declarativa oferece menos flexibilidade. | A programação imperativa oferece mais flexibilidade. |
Complexidade | |
A programação declarativa simplifica o programa. | A programação imperativa pode aumentar a complexidade do programa. |
Categorização | |
Funcional, Lógica, Programação de consulta se enquadra na programação declarativa. | Procedural e programação orientada a objetos se enquadra na programação imperativa. |
Resumo – Programação Declarativa x Imperativa
Este artigo discutiu a diferença entre dois grandes paradigmas de programação, que são a programação declarativa e a programação imperativa. A diferença entre programação declarativa e Imperativa é que a Programação Declarativa se concentra no que o programa deve realizar, enquanto a Programação Imperativa se concentra em como o programa deve atingir o resultado.