Diferença entre programação declarativa e imperativa

Diferença chave - Declarativo vs Imperativo Programação
 

Programação declarativa e imperativa são dois paradigmas comuns de programação. o diferença chave 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 alcançar 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.

CONTEÚDO

1. Visão geral e principais diferenças
2. O que é programação declarativa
3. O que é programação imperativa
4. Comparação lado a lado - programação declarativa versus imperativa em forma de tabela
5. Resumo

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 novos e-mails. Um método é ativar as notificações da caixa de entrada. O usuário precisa habilitar as notificações apenas uma vez e, sempre que um novo email chega, ele recebe uma notificação automaticamente. A programação declarativa é semelhante a isso. Fornece simplicidade. A programação declarativa expressa qual é o resultado necessário. 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 números de uma matriz por uma constante e armazená-los em uma nova matriz.

números var = [1,2,3];

var newnumbers = numbers.map (function (number)

retornar números * 5;

);

Console.log (novos números);

No exemplo acima, 'map' fornece instruções para iterar cada item da matriz e chamar a função de retorno de chamada para cada item e armazenar o valor de retorno na nova matriz. Isso dará a saída 5,10,15. Neste programa, o principal objetivo de multiplicar os números por 5 é alcançado usando a função de mapa. Ele percorrerá cada elemento e usará a função de retorno de chamada para calcular e armazenar os valores na nova matriz. 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 emails, o usuário pode fazer login no gmail e atualizar a página para verificar se recebeu novos emails ou não. Isso é semelhante à programação imperativa. Explica todos e cada passo envolvido para alcançar o resultado. Ele usa instruções para expressar as alterações no estado do programa.

A multiplicação dos elementos das matrizes por uma constante e o armazenamento dos valores em uma nova matriz na programação imperativa são os seguintes.

números var = [1,2,3];

var newnumbers = [];

para (int i = 0; i< numbers.length ; i++)

newnumbers.push (números [i] * 5);

Console.log (novos números);

No exemplo acima, numbers é uma matriz. Ao passar pelo loop, cada número é multiplicado por 5 e adicionado à matriz newnumbers. Após o término do loop, o conteúdo dos novos números será impresso 5,10,15.

Pode-se observar que o estilo imperativo fornece todas as etapas para a realização da tarefa. Ele expressa como iterar pela matriz usando a variável do contador 'i', quantas vezes iterar antes de sair do loop e como inserir os valores calculados nas novas matrizes, 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 versus 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 declarações que alteram o estado do programa.
 Foco principal
A programação declarativa enfoca o que o programa deve realizar. A programação imperativa se concentra em como o programa deve alcançar o resultado.
Flexibilidade
A programação declarativa fornece menos flexibilidade. A programação imperativa fornece mais flexibilidade.
 Complexidade
A programação declarativa simplifica o programa. Programação imperativa pode aumentar a complexidade do programa.
Categorização
Programação funcional, lógica e de consulta cai para programação declarativa. A programação processual e orientada a objetos se enquadra na programação imperativa.

Resumo - Declarativo vs Imperativo Programação

Este artigo discutiu a diferença entre dois principais paradigmas de programação, que são programação declarativa e 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 alcançar o resultado.

Referência:

1. "Programação Declarativa". Wikipedia, Wikimedia Foundation, 3 de abril de 2018. Disponível aqui  
2. "Programação imperativa". Wikipedia, Wikimedia Foundation, 3 de abril de 2018. Disponível aqui  
3.Lição 17 - Programação Imperativa vs Declarativa, Sam Nxstack, 11 de abril de 2017. Disponível aqui