Deklarativní programování: Porovnání verzí

Smazaný obsah Přidaný obsah
m Podívejte se na Související články
Obrys (diskuse | příspěvky)
Bez shrnutí editace
Řádek 1:
[[Deklarativní programování]] je postavenostyl programování postavený na [[paradigma]]tumyšlence, podlekdy něhožse jev [[Počítačovýjazyce program|program]] založen na tom,definuje '''co se počítámá udělat''' a ne '''jak se to počítámá udělat'''. JeOpakem zdetohoto deklarovánprincipu vstupjsou a[[imperativní výstupjazyky|imperativní aprogramování]] celýpopisující programjednotlivé jeúkony chápánpomocí jako funkce vyhodnocující vstupy podávající jediný výstup[[algoritmus|algoritmů]].
 
K deklarativnímu programování lze přistupovat dvojím způsobem. Tím prvním je použití jazyka ze skupin [[programovací jazyk|programovacích jazyků]], které byly navrženy přímo pro deklarativní programování. Jsou to jazyky patřící mezi [[funkcionální programování|funkcionální programovací jazyky]], [[logické programování|logické programovací jazyky]] a [[programovací jazyky s omezujícími podmínkami]]. V těchto jazycích se zpravidla definuje množina funkčních závislostí nebo pravidel. Po spuštění takového programu jsou vyhodnocovány vstupy těmito podmínkami. V programech nebývá důležitá posloupnost jednotlivých pravidel, protože kód nebývá zpracováván lineárně tak, jak tomu bývá u imperativních programovacích jazyků.
Například [[World Wide Web|webovské]] stránky jsou deklarativní protože popisují jak by stránka měla vypadat - titul, [[font]], text a obrázky - ale nepopisují jak konkrétně zobrazit stránky na obrazovce.
 
Druhým přístupem je použití [[imperativní programování|imperativního jazyka]] s knihovnou pro podporu deklarativního programování. Jde vlastně jen o skrytí imperativních částí programového kódu a vlastní použití takovéto knihovny je v duchu deklarativního programování. Příkladem mohou být [[unit testing|unit testy]], např. [[JUnit]], [[NUnit]]...
[[Logické programování]] a [[funkcionální programování]] patří do deklarativního programování.
 
Další skupinu jazyků řazené mezi deklarativní jazyky tvoří [[jazyky pro řešení konkrétních problémů]] (Domain-specific programming language). Tyto jazyky bývají typicky [[turingův stroj|turingovsky]] neúplné. Příkladem může být jazyk [[SQL]] pro manipulaci s daty v databázi, [[regulární výraz|regulární výrazy]], [[HTML]] jazyk pro definici obsahu webové stránky nebo i konfigurační soubory určité aplikace.
 
 
Deklarativní programovací jazyk, jako každý programovací jazyk, musí mít [[syntax]] a [[sémantika|sémantiku]]. Z tohoto důvodu do této skupiny nelze zařadit obecné [[XML]] bez definovaného [[DTD|doctype]] (významu dat).
 
== Související články ==