Differenza chiave: programmazione dichiarativa e imperativa
La programmazione dichiarativa e quella imperativa sono due paradigmi di programmazione comuni. La differenza fondamentale 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 ottenere il risultato.
Un paradigma di programmazione viene utilizzato per classificare un linguaggio di programmazione a seconda della funzionalità. Consente inoltre di seguire un determinato schema o stile per risolvere un particolare problema.
CONTENUTI
1. Panoramica e differenza fondamentale
2. Che cos'è la programmazione dichiarativa
3. Che cos'è la programmazione imperativa
4. Confronto affiancato - Programmazione dichiarativa e imperativa in forma tabulare
5. Riepilogo
Cos'è la programmazione dichiarativa?
La programmazione dichiarativa può essere spiegata utilizzando uno scenario del mondo reale. Supponiamo che l'utente debba verificare la presenza di nuove email. Un metodo è abilitare le notifiche della 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. Serve a moltiplicare i numeri di un array per una costante e memorizzarli in un nuovo array.
var numbers = [1,2,3];
var newnumbers = numbers.map (function (number) {
numeri di ritorno * 5;
});
Console.log (nuovi numeri);
Nell'esempio precedente, 'map' fornisce istruzioni per iterare ogni elemento nell'array e per invocare la funzione di richiamata per ogni elemento e per memorizzare il valore restituito nel nuovo array. Questo darà l'output 5,10,15. In questo programma, l'obiettivo principale di moltiplicare i numeri per 5 viene raggiunto utilizzando la funzione mappa. Passerà attraverso ogni elemento e utilizzerà la funzione di richiamata per calcolare e memorizzare i valori nel nuovo array. Non è necessario fornire tutti i passaggi. L'attenzione principale è data a ciò che dovrebbe essere raggiunto.
Cos'è la programmazione imperativa?
La programmazione imperativa può essere spiegata utilizzando uno scenario del mondo reale come prima. Per controllare le nuove e-mail, l'utente può accedere a Gmail e continuare ad aggiornare la pagina per verificare se ha ricevuto nuove e-mail o meno. Questo è simile alla programmazione imperativa. Spiega ogni passaggio necessario per ottenere il risultato. Utilizza istruzioni per esprimere i cambiamenti nello stato del programma.
Moltiplicare gli elementi degli array con una costante e memorizzare i valori in un nuovo array nella programmazione imperativa è il seguente.
var numbers = [1,2,3];
var newnumbers =;
for (int i = 0; i <numbers.length; i ++) {
newnumbers.push (numeri * 5);
}
Console.log (nuovi numeri);
Nell'esempio sopra, i numeri sono un array. Durante il ciclo, ogni numero viene moltiplicato per 5 e aggiunto all'array dei nuovi numeri. 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 il compito. Esprime come iterare attraverso l'array usando la variabile counter 'i', quante volte 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?
Articolo diff. Al centro prima della tabella
Programmazione dichiarativa vs imperativa |
|
La programmazione dichiarativa è un paradigma di programmazione che esprime la logica di un calcolo senza descriverne il 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 query rientra nella programmazione dichiarativa. | La programmazione procedurale e orientata agli oggetti rientra nella programmazione imperativa. |
Riepilogo: programmazione dichiarativa e imperativa
Questo articolo ha discusso la differenza tra due principali paradigmi di programmazione, che sono la programmazione dichiarativa e quella 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 ottenere il risultato.