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 een imperatieve programmering ondersteunen, terwijl de laatste ondersteuning declaratieve programmering.
Men kan het volgende voorbeeld van SQL overwegen om alle verkoopregio's te krijgen waar winst een bepaald aantal overschrijdt, zeg dan $ 700 US dollars (USD) van de verkoopgegevens. 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 DES aanIRED-gegevens.
Prolog 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 geeft truismes aan. Als m de moeder van C is, is M een voorouder van C. Als X de moeder is van iemand die een voorouder van Z is, dan is X een voorouder van Z. Gezien dit en sommige moeder-kindfeiten, kan het programma vragen beantwoorden over de hele moederboom voor moeders.
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. Het HTML -voorbeeld
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 dat repetitieve imperatieve code die aangeeft hoe dingen kunnen worden opgelost, wordt voorzien in het computersysteem achter de schermen. Dergelijke code kan zeer efficiënt worden gemaakt en kan de beste ideeën van computing opnemen. Het kan profiteren van parallellisme.