Декларативне програмування — парадигма програмування, відповідно до якої, програма описує, який результат необхідно отримати, замість описання послідовності отримання цього результату.
Наприклад, вебсторінки HTML — декларативні, оскільки вони описують, що містить сторінка та що має відображатися — заголовок, шрифт, текст, зображення — але не містить інструкцій як її слід відображати.
Ця парадигма мов програмування відмінна від імперативних мов програмування, таких як, наприклад, Фортран, C і Java, які вимагають від розробника детального описання алгоритму отримання результатів.
Стисло кажучи, для отримання результатів імперативні програми явно конкретизують алгоритм, а декларативні — явно конкретизують мету і залишають реалізацію алгоритму на допоміжному програмному забезпеченню (наприклад, інструкція вибірки SQL конкретизує властивості даних, які слід отримати від бази даних, але не процес отримання цих даних).
Відповідно до іншого визначення, програма «декларативна», якщо її написано винятково функціональною мовою програмування, логічною мовою програмування, або мовою обмежень. Назва «Декларативна мова» іноді використовується, щоб згрупувати всі ці мови програмування та протиставити їх імперативним мовам програмування.
Ці два визначення частково перекриваються. Зокрема, програмування обмеженнями і, меншою мірою, логічне програмування, зосереджуються на описі властивостей бажаного рішення (що), залишаючи невизначеним фактичний алгоритм, який необхідно використати для знаходження рішення (як). Проте, більшою мірою, мови логічного програмування, і, меншою, — мови обмеження, можуть описувати алгоритми й деталі реалізації, бувши таким чином не строго декларативними за першим визначенням.
Декларативні мови програмування
Декларативні мови програмування — це мови програмування високого рівня[], в яких програмістом не задається покроковий алгоритм розв'язання задачі («як» вирішити завдання), а деяким чином описується, «що» потрібно отримати як результат. Механізм обробки зіставлення зі зразком декларативних тверджень вже реалізовано у пристрої мови.[]
Типовим прикладом таких мов є мови логічного програмування (мови, засновані на системі правил). У програмах на мовах логічного програмування відповідні дії виконуються тільки за наявності необхідної дозвільної умови.
Характерною особливістю декларативних мов є їхня декларативна семантика. Основна концепція декларативної семантики полягає в тому, що зміст кожного оператора не залежить від того, як цей оператор використовується в програмі. Декларативна семантика значно простіша за семантику імперативних мов.
Найпоширенішою мовою логічного програмування є мова Пролог.
Див. також
Ця стаття не містить . (червень 2017) |
Це незавершена стаття про програмування. Ви можете проєкту, виправивши або дописавши її. |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Deklarativne programuvannya paradigma programuvannya vidpovidno do yakoyi programa opisuye yakij rezultat neobhidno otrimati zamist opisannya poslidovnosti otrimannya cogo rezultatu Napriklad vebstorinki HTML deklarativni oskilki voni opisuyut sho mistit storinka ta sho maye vidobrazhatisya zagolovok shrift tekst zobrazhennya ale ne mistit instrukcij yak yiyi slid vidobrazhati Cya paradigma mov programuvannya vidminna vid imperativnih mov programuvannya takih yak napriklad Fortran C i Java yaki vimagayut vid rozrobnika detalnogo opisannya algoritmu otrimannya rezultativ Stislo kazhuchi dlya otrimannya rezultativ imperativni programi yavno konkretizuyut algoritm a deklarativni yavno konkretizuyut metu i zalishayut realizaciyu algoritmu na dopomizhnomu programnomu zabezpechennyu napriklad instrukciya vibirki SQL konkretizuye vlastivosti danih yaki slid otrimati vid bazi danih ale ne proces otrimannya cih danih Vidpovidno do inshogo viznachennya programa deklarativna yaksho yiyi napisano vinyatkovo funkcionalnoyu movoyu programuvannya logichnoyu movoyu programuvannya abo movoyu obmezhen Nazva Deklarativna mova inodi vikoristovuyetsya shob zgrupuvati vsi ci movi programuvannya ta protistaviti yih imperativnim movam programuvannya Ci dva viznachennya chastkovo perekrivayutsya Zokrema programuvannya obmezhennyami i menshoyu miroyu logichne programuvannya zoseredzhuyutsya na opisi vlastivostej bazhanogo rishennya sho zalishayuchi neviznachenim faktichnij algoritm yakij neobhidno vikoristati dlya znahodzhennya rishennya yak Prote bilshoyu miroyu movi logichnogo programuvannya i menshoyu movi obmezhennya mozhut opisuvati algoritmi j detali realizaciyi buvshi takim chinom ne strogo deklarativnimi za pershim viznachennyam Deklarativni movi programuvannyaDeklarativni movi programuvannya ce movi programuvannya visokogo rivnya dzherelo v yakih programistom ne zadayetsya pokrokovij algoritm rozv yazannya zadachi yak virishiti zavdannya a deyakim chinom opisuyetsya sho potribno otrimati yak rezultat Mehanizm obrobki zistavlennya zi zrazkom deklarativnih tverdzhen vzhe realizovano u pristroyi movi proyasniti Tipovim prikladom takih mov ye movi logichnogo programuvannya movi zasnovani na sistemi pravil U programah na movah logichnogo programuvannya vidpovidni diyi vikonuyutsya tilki za nayavnosti neobhidnoyi dozvilnoyi umovi Harakternoyu osoblivistyu deklarativnih mov ye yihnya deklarativna semantika Osnovna koncepciya deklarativnoyi semantiki polyagaye v tomu sho zmist kozhnogo operatora ne zalezhit vid togo yak cej operator vikoristovuyetsya v programi Deklarativna semantika znachno prostisha za semantiku imperativnih mov Najposhirenishoyu movoyu logichnogo programuvannya ye mova Prolog Div takozhParadigma programuvannya Imperativne programuvannya Funkcionalne programuvannya Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno cherven 2017 Ce nezavershena stattya pro programuvannya Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi