Differenza tra programmazione dichiarativa e imperativa

Differenza chiave - Dichiarativo vs Imperativo Programmazione
 

La programmazione dichiarativa e imperativa sono due paradigmi di programmazione comuni. Il differenza fondamentale tra la programmazione dichiarativa e quella imperativa è quella La programmazione dichiarativa si concentra su ciò che il programma dovrebbe realizzare, mentre la programmazione imperativa si concentra su come il programma dovrebbe raggiungere il risultato.

Un paradigma di programmazione viene utilizzato per classificare un linguaggio di programmazione in base alla funzione. Permette inoltre di seguire un determinato modello o stile per risolvere un particolare problema.

CONTENUTO

1. Panoramica e differenza chiave
2. Che cos'è la programmazione dichiarativa
3. Cos'è la programmazione imperativa
4. Confronto affiancato - Programmazione dichiarativa vs imperativa in forma tabulare
5. Sommario

Che cos'è la programmazione dichiarativa?

La programmazione dichiarativa può essere spiegata usando uno scenario del mondo reale. Supponiamo che l'utente debba verificare la presenza di nuove e-mail. Un metodo è abilitando le notifiche di posta in arrivo. L'utente deve abilitare le notifiche solo una volta, e ogni volta che arriva una nuova email, riceve automaticamente una notifica. La programmazione dichiarativa è simile a quella. Fornisce semplicità. La programmazione dichiarativa esprime il risultato richiesto. Spiega la logica di un calcolo senza descrivere il flusso di controllo.

Figura 01: paradigmi di programmazione

Un esempio di programmazione dichiarativa è il seguente. È moltiplicare i numeri di un array per una costante e memorizzarli in un nuovo array.

numeri var = [1,2,3];

var newnumbers = numbers.map (function (number)

numeri di ritorno * 5;

);

Console.log (newnumbers);

Nell'esempio precedente, 'map' fornisce istruzioni per iterare ciascun elemento dell'array e per richiamare la funzione di richiamata per ciascun elemento e per memorizzare il valore di ritorno nel nuovo array. Questo darà l'output 5,10,15. In questo programma, l'obiettivo principale di moltiplicare i numeri per 5 si ottiene usando la funzione mappa. Passerà attraverso ogni elemento e utilizzerà la funzione di richiamata per calcolare e memorizzare i valori sul nuovo array. Non è necessario fornire tutti i passaggi. L'obiettivo principale è dato a ciò che dovrebbe essere raggiunto.

Cos'è la programmazione imperativa?

La programmazione imperativa può essere spiegata usando uno scenario del mondo reale come prima. Per controllare le nuove e-mail, l'utente può accedere a gmail e continuare a rinfrescare la pagina per verificare se ha ricevuto nuove e-mail o meno. Questo è simile alla programmazione imperativa. Spiega ogni singolo passo per raggiungere il risultato. Usa le istruzioni per esprimere le modifiche nello stato del programma.

La moltiplicazione degli elementi delle matrici con una costante e la memorizzazione dei valori in una nuova matrice nella programmazione imperativa è la seguente.

numeri var = [1,2,3];

var newnumbers = [];

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

newnumbers.push (numeri di [i] * 5);

Console.log (newnumbers);

Nell'esempio sopra, i numeri sono una matrice. Quando si passa attraverso il ciclo, ogni numero viene moltiplicato per 5 e aggiunto all'array newnumbers. Dopo la fine del ciclo, verrà stampato il contenuto dei nuovi numeri che sono 5,10,15.

Si può osservare che lo stile imperativo fornisce tutti i passaggi per raggiungere l'obiettivo. Esprime come iterare attraverso l'array usando la variabile contatore 'i', quante volte per iterare prima di uscire dal ciclo e come inserire i valori calcolati nei nuovi array ecc..

Lo stesso problema è stato risolto utilizzando la programmazione dichiarativa e imperativa.

Qual è la differenza tra la programmazione dichiarativa e quella imperativa?

Programmazione dichiarativa vs imperativa

La programmazione dichiarativa è un paradigma di programmazione che esprime la logica di un calcolo senza descrivere il suo flusso di controllo. La programmazione imperativa è un paradigma di programmazione che utilizza istruzioni che modificano lo stato del programma.
 Obiettivo principale
La programmazione dichiarativa si concentra su ciò che il programma dovrebbe realizzare. La programmazione imperativa si concentra su come il programma dovrebbe raggiungere il risultato.
Flessibilità
La programmazione dichiarativa offre meno flessibilità. La programmazione imperativa offre maggiore flessibilità.
 Complessità
La programmazione dichiarativa semplifica il programma. La programmazione imperativa può aumentare la complessità del programma.
categorizzazione
La programmazione funzionale, logica e di query si riduce alla programmazione dichiarativa. La programmazione procedurale e orientata agli oggetti cade nella programmazione imperativa.

Riassunto - Dichiarativo vs Imperativo Programmazione

Questo articolo ha discusso la differenza tra due principali paradigmi di programmazione, che sono la programmazione dichiarativa e imperativa. La differenza tra la programmazione dichiarativa e quella imperativa è che la Programmazione dichiarativa si concentra su ciò che il programma dovrebbe realizzare, mentre la programmazione imperativa si concentra su come il programma dovrebbe raggiungere il risultato.

Riferimento:

1. "Programmazione dichiarativa". Wikipedia, Wikimedia Foundation, 3 aprile 2018. Disponibile qui  
2. "Programmazione imperativa". Wikipedia, Wikimedia Foundation, 3 aprile 2018. Disponibile qui  
3.Lettura 17 - Programmazione imperativa vs dichiarativa, Sam Nxstack, 11 aprile 2017. Disponibile qui