Deklarativ programmering

Deklarativ programmering  er et programmeringsparadigme , hvor specifikationen af ​​en løsning på et problem er specificeret, det vil sige det forventede resultat beskrives, og ikke måden at opnå det på. Det modsatte af deklarativ er imperativ programmering , hvor der på et eller andet detaljeniveau kræves en beskrivelse af rækkefølgen af ​​trin til at løse et problem. HTML og SQL nævnes almindeligvis som eksempler på deklarative sprog .

Deklarative programmer bruger ikke begrebet stat, især indeholder de ikke variabler og tildelingsoperatører , referentiel gennemsigtighed er tilvejebragt . Det tætteste på "rent deklarativ" programmering er at skrive eksekverbare specifikationer . I dette tilfælde er programmet en formel teori , og dets udførelse er samtidig et automatisk bevis på denne teori.[ afklare ] ( Curry-Howard korrespondance ), og komponenterne i udviklingsprocessen, der er karakteristiske for imperativ programmering ( design , refactoring , debugging og andre) er udelukket i dette tilfælde: programmet designer og beviser sig selv[ afklare ] .

Deklarativ programmering omfatter også ofte funktionel og logisk programmering . På trods af det faktum, at programmer på sådanne sprog ofte indeholder algoritmiske komponenter, er arkitektur i imperativ forstand (som noget adskilt fra kodning) også fraværende i dem: programskemaet er direkte en del af den eksekverbare kode [1] .

Sprogorienteret programmering har til formål at øge niveauet af deklarativitet .

"Rent deklarative" computersprog er ofte Turing  -ufuldstændige, da det teoretisk set ikke altid er muligt at generere eksekverbar kode fra en deklarativ beskrivelse. Dette fører nogle gange til uenighed om rigtigheden af ​​udtrykket "erklærende programmering" (mindre kontroversielt er "erklærende beskrivelse af løsningen" eller tilsvarende "deklarativ beskrivelse af problemet").

Noter

  1. Interview med Simon Peyton Jones . Hentet 9. januar 2016. Arkiveret fra originalen 12. januar 2016.

Litteratur

Links