Što je deklarativno programiranje?

Deklarativno programiranje je način specificiranja što program treba učiniti, umjesto da se specificira kako to učiniti. Većina računalnih jezika temelji se na koracima potrebnim za rješavanje problema, ali neki jezici samo ukazuju na bitne karakteristike problema i prepuštaju računalu da odredi najbolji način rješavanja problema. Kaže se da prvi jezici podržavaju imperativno programiranje, dok drugi podržavaju deklarativno programiranje.

Možemo uzeti u obzir sljedeći primjer iz SQL-a kako bismo iz podataka o prodaji dobili sve prodajne regije u kojima profit prelazi određeni broj, recimo, 700 USD (USD).

Odaberite Regija, Dobit od prodaje gdje je Profit > 700

Ova izjava ne označava što SQL sustav mora učiniti da bi dobio podatke. SQL sustav može proći kroz svaki prodajni zapis i odrediti je li uvjet zadovoljen ili može brzo dobiti prvih nekoliko zapisa iz prethodno sortiranih podataka. Izjava samo ukazuje na prirodu željenih podataka.

Prolog je deklarativni programski jezik koji označava logičke odnose između entiteta.

predak (M, C) :- majka (M, C)
predak (X, Z) :- majka (X, Y), predak (Y, Z)
Gornji program ukazuje na istinitost. Ako je M majka C, onda je M predak C. Ako je X majka neke osobe Y koja je predak Z, tada je X predak Z. S obzirom na to i neke činjenice majka-dijete, program može odgovoriti na pitanja o cijelom majčinom obiteljskom stablu.
Tijekom izvođenja programa, Prolog sustav izgrađuje niz istinitih izjava, stvarajući tako bazu znanja. Ova baza znanja se učinkovito pretražuje samostalno. Tvorac gornjeg programa ne navodi kako pretraživati.
HTML i CSS su deklarativni programski jezici. Na primjer, HTML primjer