Differenza chiave: programmazione dichiarativa e imperativa
La programmazione dichiarativa e quella imperativa sono due paradigmi di programmazione comuni. Il 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 funzione. Consente inoltre di seguire un determinato modello o stile per risolvere un problema particolare.
Cos'è la programmazione dichiarativa?
La programmazione dichiarativa può essere spiegata utilizzando uno scenario reale. Si supponga che l'utente debba controllare la presenza di nuove e-mail. Un metodo consiste nell'abilitare le notifiche di posta in arrivo. L'utente deve abilitare le notifiche solo una volta e ogni volta che arriva una nuova e-mail, 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 variabili=[1, 2, 3];
var newnumbers=numbers.map(funzione(numero){
numeri di ritorno5;
});
Console.log(nuovinumeri);
Nell'esempio sopra, 'map' fornisce istruzioni per scorrere 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'obiettivo principale è quello che dovrebbe essere raggiunto.
Cos'è la programmazione imperativa?
La programmazione imperativa può essere spiegata usando uno scenario 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 passo necessario per ottenere il risultato. Utilizza le istruzioni per esprimere i cambiamenti nello stato del programma.
Moltiplicare gli elementi dell'array con una costante e memorizzare i valori in un nuovo array nella programmazione imperativa è il seguente.
numeri var=[1, 2, 3];
var nuovinumeri=;
for(int i=0; i< numeri.lunghezza; i++) {
newnumbers.push(numbers5);
}
Console.log(nuovinumeri);
Nell'esempio sopra, i numeri sono un array. Durante 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 il compito. Esprime come scorrere l'array usando la variabile contatore 'i', quante volte ripetere 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 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 ottenere 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 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 i 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.