Kas yra deklaratyvus programavimas?

Deklaratyvus programavimas yra būdas nurodyti, ką programa turi daryti, o ne nurodyti, kaip tai padaryti. Dauguma kompiuterių kalbų yra pagrįstos veiksmais, reikalingais problemai išspręsti, tačiau kai kurios kalbos tik nurodo esmines problemos ypatybes ir palieka kompiuteriui nustatyti geriausią problemos sprendimo būdą. Teigiama, kad pirmosios kalbos palaiko būtiną programavimą, o antrosios palaiko deklaratyvųjį programavimą.

Galima apsvarstyti tokį SQL pavyzdį, kad iš pardavimo duomenų būtų galima gauti visus pardavimo regionus, kuriuose pelnas viršija tam tikrą skaičių, tarkime, 700 JAV dolerių (USD).

Pasirinkite regioną, pelną iš pardavimo, kur pelnas > 700

Šis teiginys nenurodo, ką SQL sistema turi padaryti, kad gautų duomenis. SQL sistema gali peržiūrėti kiekvieną pardavimo įrašą ir nustatyti, ar sąlyga įvykdyta, arba ji gali greitai gauti kelis geriausius įrašus iš iš anksto surūšiuotų duomenų. Teiginyje tik nurodomas norimų duomenų pobūdis.

Prolog yra deklaratyvi programavimo kalba, nurodanti loginius ryšius tarp objektų.

protėvis (M, C): – motina (M, C)
protėvis (X, Z): – motina (X, Y), protėvis (Y, Z)
Aukščiau pateikta programa nurodo tikrus dalykus. Jei M yra C motina, tada M yra C protėvis. Jei X yra kurio nors asmens Y motina, kuris yra Z protėvis, tai X yra Z protėvis. Atsižvelgiant į tai ir kai kuriuos motinos-vaiko faktus, programa gali atsakyti į klausimus apie visą motinos giminės medį.
Programos vykdymo metu Prolog sistema sukuria daugybę teisingų teiginių, taip sukurdama žinių bazę. Ši žinių bazė efektyviai ieškoma atskirai. Aukščiau pateiktos programos kūrėjas nenurodo, kaip ieškoti.
HTML ir CSS yra deklaratyvios programavimo kalbos. Pavyzdžiui, HTML pavyzdys