Co je deklarativní programování?
Deklarativní programování je způsob, jak specifikovat, co by měl program dělat, spíše než specifikovat, jak to udělat. Většina počítačových jazyků je založena na krocích potřebných k vyřešení problému, ale některé jazyky označují pouze základní vlastnosti problému a nechávají jej na počítači, aby se určila nejlepší způsob, jak problém vyřešit. Říká se, že bývalé jazyky podporují imperativní programování, zatímco posledně uvedená podpora deklarativního programování. za účelem získání dat. Systém SQL může projít každým prodejním záznamem a určit, zda je stav splněn, nebo může rychle získat několik nejvyšších záznamů z předem předem. Prohlášení označuje pouze povahu DESIred data.
Prolog je deklarativní programovací jazyk, který označuje logické vztahy mezi entitami.
předchůdce (m, c):- matka (m, c)
Předchůdce (x, z):- Matka (x, y), předchůdce (y, z)
Výše uvedený program označuje truismy. Pokud M je matkou C, pak je m předchůdcem C. Pokud x je matkou nějaké osoby, která je předchůdcem Z, pak X je předchůdcem Z. Vzhledem k tomuto a některým faktům matky dítěte může program odpovědět na otázky o celém mateřském rodokmenu.
Během provádění programu vytváří systém Prolog řadu skutečných příkazů, čímž vytváří znalostní základnu. Tato znalostní základna se prohledává efektivně sama o sobě. Tvůrce výše uvedeného programu nespecifikuje, jak hledat.
HTML a CSS jsou deklarativní programovací jazyky. Například příklad HTML
Výhoda deklarativních programovacích jazyků je hlavně dvojnásobná. Programy jsou stručné; To usnadňuje i pro neprogramery získat řešení. Ve výše uvedeném příkladu SQL může analytik nebo podniková podpora získat požadované informace. Podobně mohou Laypersons psát přijatelné webové stránky pomocí jednoduchých příkazů HTML a CSS.
Druhou výhodou deklarativního programovacího modelu je, že opakující se kód imperativ, který ukazuje, jak řešit věci, je poskytován v počítačovém systému v zákulisí. Takový kód může být vysoce efektivní a může zahrnovat nejlepší nápady z výpočetní techniky. Může využít výhody paralelismu.