Декларативно и императивно програмирање су две уобичајене парадигме програмирања. Тхе кључна разлика између декларативног и императивног програмирања је то Декларативно програмирање фокусира се на оно што програм треба да постигне, док се Императивно програмирање фокусира на то како програм треба да постигне резултат.
Програмска парадигма користи се за класификацију програмског језика у зависности од функције. Такође омогућава праћење одређеног узорка или стила како бисте решили одређени проблем.
1. Преглед и кључне разлике
2. Шта је декларативно програмирање
3. Шта је императивно програмирање
4. Упоредна упоредба - Декларативно и императивно програмирање у табеларном облику
5. Резиме
Декларативно програмирање може се објаснити кориштењем сценарија из стварног свијета. Претпоставимо да корисник мора да провери да ли има нове поруке е-поште. Један од начина је омогућавање обавештења у примљеној пошти. Корисник мора да омогући обавештења само једном, а сваки пут када стигне нова е-пошта, аутоматски добија обавештење. Декларативно програмирање је слично ономе. Омогућава једноставност. Декларативно програмирање изражава шта је потребан резултат. Објашњава логику рачунања без описивања контролног тока.
Слика 01: Програмирање парадигми
Пример декларативног програмирања је следећи. То је множење бројева матице константом и њихово смештање у нови низ.
вар бројеви = [1,2,3];
вар невнумберс = бројеви.мап (функција (број)
повратни бројеви * 5;
);
Цонсоле.лог (невнумберс);
У горњем примјеру, 'мап' даје упуте за понављање сваке ставке у низу и за позивање функције повратног позива за сваку ставку и спремање повратне вриједности у нови низ. Ово ће дати излаз 5,10,15. У овом програму, главни циљ множења бројева са 5 остварује се помоћу функције пресликавања. Проћи ће сваки елемент и помоћу функције повратног позива израчунати и похранити вредности у нови низ. Није потребно пружити све кораке. Главни фокус се даје ономе што треба постићи.
Императивно програмирање може се објаснити кориштењем сценарија из стварног свијета као и прије. Да бисте проверили нове поруке е-поште, корисник може да се пријави на Гмаил и настави да освежава страницу како би проверио да ли је добио нове е-поруке или не. То је слично императивном програмирању. Објашњава сваки корак који је укључен у постизање резултата. Користи изјаве за изражавање промјена у програмском стању.
Умножавање елемената с константом и спремање вриједности у нови низ у императивном програмирању је како слиједи.
вар бројеви = [1,2,3];
вар невнумберс = [];
за (инт и = 0; и< numbers.length ; i++)
невнумберс.пусх (бројеви [и] * 5);
Цонсоле.лог (невнумберс);
У горњем примјеру, бројеви су низ. Када пролазите кроз петљу, сваки се број множи са 5 и додаје у низ нове бројеве. Након завршетка петље биће штампан садржај небројних бројева који су 5,10,15.
Може се приметити да императивни стил пружа све кораке за постизање задатка. Изражава како итерирати низ помоћу променљиве бројача 'и', колико пута поновити пре изласка из петље и како убацити израчунате вредности у нове низове итд..
Исти проблем је решен коришћењем декларативног и императивног програмирања.
Декларативно вс императивно програмирање | |
Декларативно програмирање је програмска парадигма која изражава логику израчунавања без описивања његовог контролног тока. | Императивно програмирање је парадигма програмирања која користи изјаве које мењају стање програма. |
Главни фокус | |
Декларативно програмирање фокусира се на оно што програм треба да постигне. | Императивно програмирање усредоточено је на то како програм треба да постигне резултат. |
Флексибилност | |
Декларативно програмирање пружа мању флексибилност. | Императивно програмирање пружа већу флексибилност. |
Сложеност | |
Декларативно програмирање поједностављује програм. | Императивно програмирање може повећати сложеност програма. |
Категоризација | |
Функционално, логичко, упита програмирање спада у декларативно програмирање. | Процедурално и објектно оријентисано програмирање спада у императивни програм. |
Овај чланак говори о разлици између две главне програмске парадигме, које су декларативно и императивно програмирање. Разлика између декларативног и императивног програмирања је у томе што се Декларативно програмирање фокусира на оно што програм треба да постигне, док се Императивно програмирање фокусира на то како програм треба да постигне резултат.
1. „Декларативно програмирање.“ Википедиа, Фондација Викимедиа, 3. априла 2018. Доступно овде
2. "Императивно програмирање." Википедиа, Фондација Викимедиа, 3. априла 2018. Доступно овде
3. Предавање 17 - Императивно вс декларативно програмирање, Сам Нкстацк, 11. апр. 2017. Доступно овде