Nøgleforskel – Deklarativ vs imperativ programmering
Deklarativ og imperativ programmering er to almindelige programmeringsparadigmer. Den vigtigste forskel mellem deklarativ og imperativ programmering er, at deklarativ programmering fokuserer på, hvad programmet skal udrette, mens imperativ programmering fokuserer på, hvordan programmet skal opnå resultatet.
Et programmeringsparadigme bruges til at klassificere et programmeringssprog afhængigt af funktionen. Det gør det også muligt at følge et bestemt mønster eller stil for at løse et bestemt problem.
Hvad er deklarativ programmering?
Deklarativ programmering kan forklares ved hjælp af et scenarie i den virkelige verden. Antag, at brugeren skal tjekke for nye e-mails. En metode er ved at aktivere indbakkens notifikationer. Brugeren skal kun aktivere meddelelserne én gang, og hver gang der kommer en ny e-mail, får han automatisk en meddelelse. Deklarativ programmering ligner det. Det giver enkelhed. Deklarativ programmering udtrykker, hvad det krævede resultat er. Det forklarer logikken i en beregning uden at beskrive kontrolflowet.
Figur 01: Programmeringsparadigmer
Et eksempel på deklarativ programmering er som følger. Det er at gange tallene i en matrix med en konstant og gemme dem i en ny matrix.
var-tal=[1, 2, 3];
var newnumbers=numbers.map(function(number){
returnumre5;
});
Console.log(nye numre);
I ovenstående eksempel giver 'map' instruktioner til at iterere hvert element i arrayet og aktivere tilbagekaldsfunktionen for hvert element og gemme returværdien til det nye array. Dette vil give outputtet 5, 10, 15. I dette program er hovedformålet med at gange tallene med 5 opnået ved hjælp af kortfunktionen. Den vil gennemgå hvert element og bruge tilbagekaldsfunktionen til at beregne og gemme værdierne i det nye array. Det er ikke nødvendigt at angive alle trinene. Hovedfokus er givet på, hvad der skal opnås.
Hvad er imperativ programmering?
Imperativ programmering kan forklares ved hjælp af et scenarie i den virkelige verden som før. For at tjekke de nye e-mails kan brugeren logge ind på gmail og blive ved med at opdatere siden for at kontrollere, om han har fået nye e-mails eller ej. Dette svarer til imperativ programmering. Den forklarer hvert eneste trin, der er involveret for at opnå resultatet. Den bruger udsagn til at udtrykke ændringerne i programtilstanden.
Multiplikation af array-elementerne med en konstant og lagring af værdierne til en ny array i imperativ programmering er som følger.
var-tal=[1, 2, 3];
var newnumbers=;
for(int i=0; i< tal.længde; i++) {
newnumbers.push(numbers5);
}
Console.log(nye numre);
I ovenstående eksempel er tal en matrix. Når du går gennem løkken, ganges hvert tal med 5 og lægges til det nye tal. Efter afslutningen af løkken udskrives indholdet af de nye numre, som er 5, 10, 15.
Det kan ses, at den imperative stil giver alle trinene til at nå opgaven. Det udtrykker, hvordan man itererer gennem arrayet ved hjælp af 'i' tællervariabel, hvor mange gange, der skal itereres, før man kommer ud af løkken, og hvordan man indsætter de beregnede værdier i de nye arrays osv.
Det samme problem blev løst ved hjælp af deklarativ og imperativ programmering.
Hvad er forskellen mellem deklarativ og imperativ programmering?
Deklarativ vs imperativ programmering |
|
Deklarativ programmering er et programmeringsparadigme, der udtrykker logikken i en beregning uden at beskrive dens kontrolflow. | Imperativ programmering er et programmeringsparadigme, der bruger udsagn, der ændrer programmets tilstand. |
Hovedfokus | |
Deklarativ programmering fokuserer på, hvad programmet skal udrette. | Imperativ programmering fokuserer på, hvordan programmet skal opnå resultatet. |
Fleksibilitet | |
Deklarativ programmering giver mindre fleksibilitet. | Imperativ programmering giver mere fleksibilitet. |
kompleksitet | |
Deklarativ programmering forenkler programmet. | Imperativ programmering kan øge programmets kompleksitet. |
Kategorisering | |
Functional, Logic, Query-programmering falder ind under deklarativ programmering. | Procedurel og objektorienteret programmering falder ind under imperativ programmering. |
Opsummering – Deklarativ vs imperativ programmering
Denne artikel diskuterede forskellen mellem to store programmeringsparadigmer, som er deklarativ og imperativ programmering. Forskellen mellem deklarativ og imperativ programmering er, at deklarativ programmering fokuserer på, hvad programmet skal udrette, mens imperativ programmering fokuserer på, hvordan programmet skal opnå resultatet.