Декларативното и императивното програмиране са две общи парадигми за програмиране. Най- ключова разлика между декларативното и императивното програмиране е това Декларативното програмиране се фокусира върху това, което програмата трябва да постигне, докато императивното програмиране се фокусира върху начина, по който програмата трябва да постигне резултата.
За класифициране на език за програмиране в зависимост от функцията се използва парадигма за програмиране. Той също така позволява да се следва определен модел или стил, за да се реши конкретен проблем.
1. Преглед и ключова разлика
2. Какво е декларативно програмиране
3. Какво е императивното програмиране
4. Паралелно сравнение - Декларативно спрямо императивно програмиране в таблична форма
5. Резюме
Декларативното програмиране може да се обясни с помощта на сценарий в реалния свят. Да приемем, че потребителят трябва да провери за нови имейли. Един от методите е чрез активиране на известията за входящи съобщения. Потребителят трябва да активира известията само веднъж и всеки път, когато пристига нов имейл, той получава автоматично уведомление. Декларативното програмиране е подобно на това. Той осигурява простота. Декларативното програмиране изразява какъв е необходимия резултат. Тя обяснява логиката на изчислението, без да описва контролния поток.
Фигура 01: Програмиране на парадигми
Пример за декларативно програмиране е следният. То е да умножавам числата на масив с константа и да ги съхраняваме в нов масив.
var числа = [1,2,3];
var newnumbers = numbers.map (функция (брой)
номера за връщане * 5;
);
Console.log (newnumbers);
В горния пример 'map' дава инструкции за повторение на всеки елемент от масива и за извикване на функцията за обратно извикване за всеки елемент и за съхраняване на връщащата стойност в новия масив. Това ще даде резултат 5,10,15. В тази програма основната цел за умножаване на числата по 5 се осъществява с помощта на функцията за карти. Той ще премине през всеки елемент и ще използва функцията за обратно извикване за изчисляване и съхраняване на стойностите в новия масив. Не е задължително да се предоставят всички стъпки. Основният акцент е поставен върху това, което трябва да се постигне.
Наложителното програмиране може да се обясни с помощта на сценарий в реалния свят, както преди. За да провери новите имейли, потребителят може да влезе в gmail и да продължи да опреснява страницата, за да провери дали е получил нови имейли или не. Това е подобно на императивното програмиране. В него се обяснява всяка една стъпка, за да се постигне резултатът. Той използва изявления, за да изрази промените в програмното състояние.
Умножаването на елементите на масивите с константа и съхраняването на стойностите в нов масив в императивното програмиране е, както следва.
var числа = [1,2,3];
var newnumbers = [];
за (int i = 0; i< numbers.length ; i++)
newnumbers.push (номера [I] * 5);
Console.log (newnumbers);
В горния пример числата са масив. Когато преминавате през цикъла, всяко число се умножава по 5 и се добавя към масива с числа. След края на цикъла ще се отпечата съдържанието на числата, които са 5,10,15.
Може да се отбележи, че императивният стил осигурява всички стъпки за постигане на задачата. Той изразява как да се повтори през масива, използвайки променлива 'i' counter, колко пъти да се повтори, преди да се излезе от цикъла и как да се вмъкнат изчислените стойности в новите масиви и т.н..
Същият проблем беше решен с помощта на декларативно и императивно програмиране.
Декларативно срещу императивно програмиране | |
Декларативното програмиране е парадигма за програмиране, която изразява логиката на изчислението, без да описва контролния му поток. | Императивното програмиране е парадигма за програмиране, която използва оператори, които променят състоянието на програмата. |
Основен фокус | |
Декларативното програмиране се фокусира върху това, което програмата трябва да постигне. | Императивното програмиране се фокусира върху това как програмата трябва да постигне резултата. |
гъвкавост | |
Декларативното програмиране осигурява по-малка гъвкавост. | Наложителното програмиране осигурява по-голяма гъвкавост. |
Сложност | |
Декларативното програмиране опростява програмата. | Наложителното програмиране може да увеличи сложността на програмата. |
Категоризация | |
Функционалното, логическото, запитващото програмиране попада в декларативно програмиране. | Процедурното и обектно ориентираното програмиране попада в наложителното програмиране. |
Тази статия обсъжда разликата между две основни парадигми за програмиране, които са декларативно и императивно програмиране. Разликата между декларативното и императивното програмиране е, че Декларативното програмиране се фокусира върху това, което програмата трябва да постигне, докато императивното програмиране се фокусира върху начина, по който програмата трябва да постигне резултата.
1. „Декларативно програмиране.“ Уикипедия, Фондация Уикимедия, 3 април 2018 г. Достъпно тук
2. "Наложително програмиране." Уикипедия, Фондация Уикимедия, 3 април 2018 г. Достъпно тук
3. Лекция 17 - Imperative vs Declarative Programming, Sam Nxstack, 11 април 2017. Достъпно тук