Declaratieve en imperatieve programmering zijn twee gangbare programmeerparadigma's. De belangrijk verschil tussen declaratieve en imperatieve programmering is dat Declaratieve programmering concentreert zich op wat het programma zou moeten bereiken terwijl Imperative programmering zich richt op hoe het programma het resultaat zou moeten bereiken.
Een programmeerparadigma wordt gebruikt om een programmeertaal te classificeren afhankelijk van de functie. Het laat ook toe een bepaald patroon of stijl te volgen om een bepaald probleem op te lossen.
1. Overzicht en belangrijkste verschil
2. Wat is declaratief programmeren
3. Wat is imperatief programmeren
4. Vergelijking zij aan zij - Declaratieve versus imperatieve programmering in tabelvorm
5. Samenvatting
Declaratief programmeren kan worden uitgelegd met behulp van een real-world scenario. Stel dat de gebruiker moet controleren op nieuwe e-mails. Eén methode is door de Inbox-meldingen in te schakelen. De gebruiker hoeft de meldingen slechts eenmaal in te schakelen en elke keer dat een nieuwe e-mail binnenkomt, krijgt hij automatisch een melding. Declaratief programmeren lijkt op dat. Het biedt eenvoud. Declarative programming geeft aan wat het vereiste resultaat is. Het verklaart de logica van een berekening zonder de regelstroom te beschrijven.
Figuur 01: Paradigma's programmeren
Een voorbeeld van declaratieve programmering is als volgt. Het is om getallen van een array met een constante te vermenigvuldigen en op te slaan in een nieuwe array.
var nummers = [1,2,3];
var newnumbers = numbers.map (function (number)
retournummers * 5;
);
Console.log (newnumbers);
In het bovenstaande voorbeeld geeft 'map' instructies voor het herhalen van elk item in de array en voor het oproepen van de terugbelfunctie voor elk item en voor het opslaan van de geretourneerde waarde in de nieuwe array. Dit levert de output 5,10,15 op. In dit programma wordt het hoofddoel van het vermenigvuldigen van de getallen met 5 bereikt met behulp van de kaartfunctie. Het doorloopt elk element en gebruikt de terugbelfunctie om de waarden naar de nieuwe array te berekenen en op te slaan. Het is niet vereist om alle stappen te bieden. De nadruk ligt vooral op wat moet worden bereikt.
Imperative programmering kan worden uitgelegd met behulp van een real-world scenario als voorheen. Om de nieuwe e-mails te controleren, kan de gebruiker inloggen op gmail en de pagina vernieuwen om te controleren of hij nieuwe e-mails heeft ontvangen of niet. Dit lijkt op imperatief programmeren. Het legt elke afzonderlijke stap uit om het resultaat te bereiken. Het gebruikt uitspraken om de veranderingen in de programmatoestand tot uitdrukking te brengen.
Het vermenigvuldigen van de arrays-elementen met een constante en het opslaan van de waarden in een nieuwe array in imperatief programmeren is als volgt.
var nummers = [1,2,3];
var newnumbers = [];
voor (int i = 0; i< numbers.length ; i++)
newnumbers.push (nummers [i] * 5);
Console.log (newnumbers);
In het bovenstaande voorbeeld zijn getallen een array. Bij het doorlopen van de lus wordt elk getal vermenigvuldigd met 5 en toegevoegd aan de array newnumbers. Na het einde van de lus wordt de inhoud van de nieuwe nummers afgedrukt, die 5,10,15 zijn.
Het kan worden opgemerkt dat de imperatieve stijl alle stappen biedt om de taak te bereiken. Het geeft weer hoe door de array te itereren met behulp van de i-tellervariabele, hoe vaak itereren voordat hij uit de lus komt en hoe de berekende waarden in de nieuwe arrays worden ingevoegd, enz..
Hetzelfde probleem werd opgelost met behulp van declaratieve en imperatieve programmering.
Declarative versus Imperative Programming | |
Declaratief programmeren is een programmeerparadigma dat de logica van een berekening uitdrukt zonder de stuurstroom ervan te beschrijven. | Imperative programming is een programmeerparadigma dat uitspraken gebruikt die de status van het programma wijzigen. |
Belangrijkste focus | |
Declarative programming richt zich op wat het programma moet bereiken. | Imperative programming richt zich op hoe het programma het resultaat zou moeten bereiken. |
Flexibiliteit | |
Declaratieve programmering biedt minder flexibiliteit. | Imperatieve programmering biedt meer flexibiliteit. |
ingewikkeldheid | |
Declaratief programmeren vereenvoudigt het programma. | Imperatieve programmering kan de complexiteit van het programma vergroten. |
categorisatie | |
Functioneel, logisch, query-programmering valt in declaratieve programmering. | Procedureel en objectgericht programmeren valt onder imperatief programmeren. |
Dit artikel besprak het verschil tussen twee belangrijke programmeerparadigma's, die declaratieve en imperatieve programmering zijn. Het verschil tussen declaratieve en Imperative programmering is dat Declarative Programming focust op wat het programma zou moeten bereiken, terwijl Imperative Programming zich richt op hoe het programma het resultaat zou moeten bereiken.
1. "Declarative Programming." Wikipedia, Wikimedia Foundation, 3 april 2018. Beschikbaar Hier
2. "Imperative Programming." Wikipedia, Wikimedia Foundation, 3 april 2018. Beschikbaar Hier
3. Lecture 17 - Imperative vs Declarative Programming, Sam Nxstack, 11 april 2017. Beschikbaar Hier