nyckelskillnad – deklarativ vs imperativ programmering
Deklarativ och imperativ programmering är två vanliga programmeringsparadigm. Den viktigaste skillnaden mellan deklarativ och imperativ programmering är att deklarativ programmering fokuserar på vad programmet ska åstadkomma medan imperativ programmering fokuserar på hur programmet ska uppnå resultatet.
Ett programmeringsparadigm används för att klassificera ett programmeringsspråk beroende på funktion. Det gör det också möjligt att följa ett visst mönster eller stil för att lösa ett visst problem.
Vad är deklarativ programmering?
Deklarativ programmering kan förklaras med ett verkligt scenario. Antag att användaren behöver leta efter nya e-postmeddelanden. En metod är att aktivera inkorgsmeddelanden. Användaren måste endast aktivera aviseringarna en gång, och varje gång ett nytt e-postmeddelande kommer in får han ett meddelande automatiskt. Deklarativ programmering liknar den. Det ger enkelhet. Deklarativ programmering uttrycker vad som krävs för resultat. Den förklarar logiken i en beräkning utan att beskriva kontrollflödet.
Figur 01: Programmeringsparadigm
Ett exempel på deklarativ programmering är följande. Det är att multiplicera siffror i en array med en konstant och att lagra dem i en ny array.
var nummer=[1, 2, 3];
var newnumbers=numbers.map(function(number){
returnummer5;
});
Console.log(nya nummer);
I exemplet ovan ger 'map' instruktioner för att iterera varje objekt i arrayen och att anropa call back-funktionen för varje objekt och att lagra returvärdet till den nya arrayen. Detta ger resultatet 5, 10, 15. I det här programmet uppnås huvudmålet att multiplicera siffrorna med 5 med hjälp av kartfunktionen. Den går igenom varje element och använder återuppringningsfunktionen för att beräkna och lagra värdena i den nya arrayen. Det är inte nödvändigt att tillhandahålla alla steg. Huvudfokus ligger på vad som ska uppnås.
Vad är imperativ programmering?
Imperativ programmering kan förklaras med ett verkligt scenario som tidigare. För att kontrollera de nya e-postmeddelandena kan användaren logga in på gmail och fortsätta uppdatera sidan för att kontrollera om han har fått nya e-postmeddelanden eller inte. Detta liknar imperativ programmering. Den förklarar varje steg som krävs för att uppnå resultatet. Den använder uttalanden för att uttrycka ändringarna i programtillståndet.
Att multiplicera arrayelementen med en konstant och lagra värdena i en ny array i imperativ programmering är som följer.
var nummer=[1, 2, 3];
var newnumbers=;
for(int i=0; i< numbers.length; i++) {
newnumbers.push(numbers5);
}
Console.log(nya nummer);
I exemplet ovan är siffror en matris. När du går igenom slingan multipliceras varje nummer med 5 och läggs till den nya siffran. Efter slutet av loopen kommer innehållet i de nya siffrorna att skrivas ut som är 5, 10, 15.
Det kan observeras att imperativstilen ger alla steg för att uppnå uppgiften. Det uttrycker hur man itererar genom arrayen med hjälp av "i"-räknevariabeln, hur många gånger man ska iterera innan man går ur slingan och hur man infogar de beräknade värdena i de nya arrayerna etc.
Samma problem löstes med deklarativ och imperativ programmering.
Vad är skillnaden mellan deklarativ och imperativ programmering?
Deklarativ vs imperativ programmering |
|
Deklarativ programmering är ett programmeringsparadigm som uttrycker logiken i en beräkning utan att beskriva dess kontrollflöde. | Imperativ programmering är ett programmeringsparadigm som använder påståenden som ändrar programmets tillstånd. |
Huvudfokus | |
Deklarativ programmering fokuserar på vad programmet ska åstadkomma. | Imperativ programmering fokuserar på hur programmet ska uppnå resultatet. |
Flexibilitet | |
Deklarativ programmering ger mindre flexibilitet. | Imperativ programmering ger mer flexibilitet. |
Komplexitet | |
Deklarativ programmering förenklar programmet. | Imperativ programmering kan öka programmets komplexitet. |
Kategorisering | |
Functional, Logic, Query-programmering faller inom deklarativ programmering. | Procedur- och objektorienterad programmering faller under imperativ programmering. |
Sammanfattning – Deklarativ vs imperativ programmering
Den här artikeln diskuterade skillnaden mellan två stora programmeringsparadigm, som är deklarativ och imperativ programmering. Skillnaden mellan deklarativ och imperativ programmering är att deklarativ programmering fokuserar på vad programmet ska åstadkomma medan imperativ programmering fokuserar på hur programmet ska uppnå resultatet.