Programarea declarativă este o modalitate de a specifica ce ar trebui să facă un program, mai degrabă decât de a specifica cum să o facă. Majoritatea limbajelor de calculator se bazează pe pașii necesari pentru a rezolva o problemă, dar unele limbi indică doar caracteristicile esențiale ale problemei și lasă computerului să determine cea mai bună modalitate de a rezolva problema. Se spune că primele limbi suportă programarea imperativă, în timp ce cele din urmă suportă programarea declarativă.
Se poate lua în considerare următorul exemplu din SQL pentru a obține toate regiunile de vânzări în care profitul depășește un anumit număr, de exemplu, 700 USD de dolari SUA (USD), din datele de vânzări.
Selectați Regiunea, Profit din vânzări unde Profit > 700
Această declarație nu indică ce trebuie să facă sistemul SQL pentru a obține datele. Sistemul SQL poate parcurge fiecare înregistrare de vânzări și poate determina dacă condiția este îndeplinită sau poate obține rapid primele câteva înregistrări din date presortate. Declarația indică doar natura datelor dorite.
Prolog este un limbaj de programare declarativ care indică relațiile logice dintre entități.
strămoș (M, C) :- mama (M, C)
strămoș (X, Z) :- mama (X, Y), strămoș (Y, Z)
Programul de mai sus indică adevăruri. Dacă M este mama lui C, atunci M este un strămoș al lui C. Dacă X este mama unei persoane Y care este un strămoș al lui Z, atunci X este un strămoș al lui Z. Având în vedere acest lucru și unele fapte mamă-copil, programul poate răspunde la întrebări despre întregul arbore genealogic matern.
În timpul execuției programului, sistemul Prolog construiește un număr de afirmații adevărate, creând astfel o bază de cunoștințe. Această bază de cunoștințe este căutată eficient pe cont propriu. Creatorul programului de mai sus nu specifică modul de căutare.
HTML și CSS sunt limbaje de programare declarative. De exemplu, exemplul HTML