Skip to main content

Wat is declaratieve programmering?

Declaratieve programmering is een manier om te specificeren wat een programma zou moeten doen, in plaats van te specificeren hoe dit te doen.De meeste computertalen zijn gebaseerd op de stappen die nodig zijn om een probleem op te lossen, maar sommige talen geven alleen de essentiële kenmerken van het probleem aan en laten het aan de computer over om de beste manier te bepalen om het probleem op te lossen.Van de voormalige talen wordt gezegd dat ze imperatieve programmering ondersteunen, terwijl de laatste declaratieve programmering ondersteunt.

Men kan het volgende voorbeeld van SQL overwegen om alle verkoopregio's te krijgen waar winst een bepaald aantal overschrijdt, bijvoorbeeld $ 700 US Dollars (USD), van deVerkoopgegevens.

Selecteer regio, winst uit verkoop waar winst gt;700

Deze verklaring geeft niet aan wat het SQL -systeem te doen heeft om de gegevens te krijgen.Het SQL -systeem kan elk verkooprecord doorlopen en bepalen of de voorwaarde is voldaan, of het kan snel de top enkele records uit voorgerecht gegevens verkrijgen.De verklaring geeft alleen de aard van de gewenste gegevens aan.

Proloog is een declaratieve programmeertaal die de logische relaties tussen entiteiten aangeeft.

Voorouder (M, C):- Moeder (M, C)
voorouder (X, Z):- Moeder (x, y), voorouder (y, z)

Het bovenstaande programma duidt op truismen.Als M de moeder van C is, is M een voorouder van C. Als X de moeder is van een persoon die een voorouder van Z is, dan is X een voorouder van Z. Gezien dit en sommige moeder-kindfeiten, het programmakan vragen beantwoorden over de hele stamboom van de moeder.

Tijdens de uitvoering van het programma bouwt het Prolog System een aantal echte uitspraken op, waardoor een kennisbasis wordt gecreëerd.Deze kennisbasis wordt op zichzelf efficiënt gezocht.De maker van het bovenstaande programma geeft niet aan hoe te zoeken.

HTML en CSS zijn declaratieve programmeertalen.Bijvoorbeeld, het HTML -voorbeeld lt; tabelrand ' 1 gt; , geeft een dunne rand aan.Een CSS -voorbeeld is kleur: blauw .Dit specificeert de tekstkleur.Zoals te zien is in deze voorbeelden, specificeren HTML en CSS wat er op een webpagina zou moeten verschijnen, maar niet hoe dit te doen.

Het voordeel van declaratieve programmeertalen is voornamelijk tweevoudig.De programma's zijn beknopt;Dit maakt het zelfs voor niet-programmeurs gemakkelijk om oplossingen te verkrijgen.In het bovenstaande SQL -voorbeeld kan een analist- of zakelijke ondersteuningspersoon de gewenste informatie krijgen.Evenzo kunnen leken acceptabele webpagina's schrijven met eenvoudige HTML- en CSS -opdrachten.

Het tweede voordeel van het declaratieve programmeermodel is die repetitieve imperatieve code die aangeeft hoe dingen op te lossen wordt gegeven in het computersysteem achter de scènes.Dergelijke code kan zeer efficiënt worden gemaakt en kan de beste ideeën van computing opnemen.Het kan profiteren van parallellisme.