Kaj je deklarativno programiranje?

Deklarativno programiranje je način določanja, kaj naj program naredi, namesto da bi določili, kako to storiti. Večina računalniških jezikov temelji na korakih, potrebnih za rešitev težave, vendar nekateri jeziki navajajo le bistvene značilnosti problema in prepuščajo računalniku, da določi najboljši način za rešitev težave. Prvi jeziki naj bi podpirali imperativno programiranje, medtem ko drugi podpirajo deklarativno programiranje.

Razmislite lahko o naslednjem primeru iz SQL, da iz podatkov o prodaji dobite vse prodajne regije, kjer dobiček presega določeno število, na primer 700 USD (USD).

Izberite Regija, dobiček od prodaje, kjer je dobiček > 700

Ta stavek ne označuje, kaj mora sistem SQL narediti, da pridobi podatke. Sistem SQL lahko pregleda vsak prodajni zapis in ugotovi, ali je pogoj izpolnjen, ali pa lahko hitro pridobi prvih nekaj zapisov iz predhodno razvrščenih podatkov. Izjava le nakazuje naravo želenih podatkov.

Prolog je deklarativni programski jezik, ki označuje logične odnose med entitetami.

prednik (M, C) :- mati (M, C)
prednik (X, Z) :- mati (X, Y), prednik (Y, Z)
Zgornji program nakazuje resnice. Če je M mati C, potem je M prednica C. Če je X mati neke osebe Y, ki je prednica Z, potem je X prednik Z. Glede na to in nekaj dejstev mati-otrok je program lahko odgovori na vprašanja o celotnem materinem družinskem drevesu.
Med izvajanjem programa sistem Prolog zgradi številne resnične izjave in tako ustvari bazo znanja. Ta zbirka znanja se učinkovito išče sama. Ustvarjalec zgornjega programa ne določa načina iskanja.
HTML in CSS sta deklarativni programski jeziki. Na primer, primer HTML