Deklarativ och imperativ programmering är två gemensamma programmeringsparadigmer. De nyckelskillnad mellan Declarative och Imperative programmering är det Deklarativ programmering fokuserar på vad programmet ska utföra medan Imperativ programmering fokuserar på hur programmet ska uppnå resultatet.
Ett programmeringsparadigm används för att klassificera ett programmeringsspråk beroende på funktionen. Det tillåter också att följa ett visst mönster eller en stil för att lösa ett visst problem.
1. Översikt och nyckelskillnad
2. Vad är Declarative Programming
3. Vad är Imperative Programming
4. Jämförelse vid sida vid sida - Deklarativ vs Imperativ programmering i tabellform
5. Sammanfattning
Deklarativ programmering kan förklaras med hjälp av ett verkligt scenario. Antag att användaren behöver kontrollera efter nya e-postmeddelanden. En metod är att aktivera inkorgen meddelanden. Användaren måste endast aktivera meddelandena en gång, och varje gång ett nytt e-mail kommer fram får han automatiskt ett meddelande. Deklarativ programmering liknar det. Det ger enkelhet. Deklarativ programmering uttrycker vad krävs resultat är. Det förklarar logiken för en beräkning utan att beskriva kontrollflödet.
Figur 01: Programmeringsparametrar
Ett exempel på deklarativ programmering är följande. Det är att multiplicera antalet en array med en konstant och för att lagra dem i en ny array.
var tal = [1,2,3];
var newnumbers = numbers.map (funktion (nummer)
returnummer * 5;
);
Console.log (newnumbers);
I ovanstående exempel ger "karta" instruktioner för att iterera varje objekt i matrisen och för att ringa tillbaka funktionen för varje objekt och för att lagra returvärdet till den nya matrisen. Detta ger output 5,10,15. I detta program åstadkommes huvudmålen att multiplicera siffrorna med 5 med hjälp av kartfunktionen. Det går igenom varje element och använder funktionen för återuppringning för att beräkna och lagra värdena till den nya matrisen. Det är inte nödvändigt att ge alla steg. Huvudfokus läggs på vad som ska uppnås.
Imperativ programmering kan förklaras med hjälp av ett verkligt scenario som tidigare. För att kontrollera de nya e-postmeddelandena kan användaren logga in till gmail och fortsätta uppdatera sidan för att kontrollera om han fick nya e-postmeddelanden eller ej. Detta liknar nödvändig programmering. Det förklarar varje steg som är inblandat för att uppnå resultatet. Den använder uttalanden för att uttrycka ändringarna i programtillståndet.
Multiplicera arrayselementen med en konstant och lagra värdena till en ny array i nödvändig programmering är som följer.
var tal = [1,2,3];
var newnumbers = [];
för (int i = 0; i< numbers.length ; i++)
newnumbers.push (nummer [i] * 5);
Console.log (newnumbers);
I ovanstående exempel är siffror en grupp. När man går igenom slingan multipliceras varje nummer med 5 och läggs till i newnumbers array. Efter slutet av slingan kommer innehållet i newnumbersna att skrivas ut som är 5,10,15.
Det kan observeras att den imperative stilen ger alla steg för att uppnå uppgiften. Det uttrycker hur man kan iterera genom matrisen med hjälp av "i" -variabelvarianten, hur många gånger det ska iterera innan man går ur slingan och hur man sätter in de beräknade värdena till de nya matriserna etc.
Samma problem löstes med hjälp av deklarativ och imperativ programmering.
Deklarativ vs Imperativ Programmering | |
Deklarativ programmering är ett programmeringsparadigm som uttrycker logiken för en beräkning utan att beskriva dess kontrollflöde. | Imperativ programmering är ett programmeringsparadigm som använder uttalanden som ändrar programmets tillstånd. |
Huvudfokus | |
Deklarativ programmering fokuserar på vad programmet ska utföra. | Imperativ programmering fokuserar på hur programmet ska uppnå resultatet. |
Flexibilitet | |
Deklarativ programmering ger mindre flexibilitet. | Imperativ programmering ger större flexibilitet. |
Komplexitet | |
Deklarativ programmering förenklar programmet. | Imperativ programmering kan öka programmets komplexitet. |
kategorisering | |
Funktionell, Logisk, Query programmering faller i deklarativ programmering. | Procedurell och Objektorienterad programmering faller i imperativ programmering. |
I denna artikel diskuterades skillnaden mellan två stora programmeringsparadigmer, vilka är deklarativa och nödvändiga programmeringar. Skillnaden mellan deklarativ och imperativ programmering är att Declarative Programming fokuserar på vad programmet ska utföra medan Imperative Programming fokuserar på hur programmet ska uppnå resultatet.
1. "Deklarativ programmering." Wikipedia, Wikimedia Foundation, 3 april 2018. Tillgänglig här
2. "Imperative Programming." Wikipedia, Wikimedia Foundation, 3 april 2018. Tillgänglig här
3.Resultat 17 - Imperativ vs Deklarativ programmering, Sam Nxstack, 11 april 2017. Tillgänglig här