Հիմնական տարբերություն – դեկլարատիվ ընդդեմ իմպերատիվ ծրագրավորման
Դեկլարատիվ և հրամայական ծրագրավորումը երկու ընդհանուր ծրագրավորման պարադիգմներ են: Դեկլարատիվ և Իմպերատիվ ծրագրավորման հիմնական տարբերությունն այն է, որ Դեկլարատիվ ծրագրավորումը կենտրոնանում է այն բանի վրա, թե ինչ պետք է իրականացնի ծրագիրը, մինչդեռ Իմպերատիվ ծրագրավորումը կենտրոնանում է այն բանի վրա, թե ինչպես ծրագիրը պետք է հասնի արդյունքի:
Ծրագրավորման պարադիգմն օգտագործվում է ծրագրավորման լեզուն դասակարգելու համար՝ կախված հատկանիշից: Այն նաև թույլ է տալիս հետևել որոշակի օրինակին կամ ոճին՝ որոշակի խնդիր լուծելու համար:
Ի՞նչ է դեկլարատիվ ծրագրավորումը:
Դեկլարատիվ ծրագրավորումը կարելի է բացատրել իրական աշխարհի սցենարի միջոցով: Ենթադրենք, որ օգտվողը պետք է ստուգի նոր էլ. Մեթոդներից մեկը մուտքի արկղի ծանուցումները միացնելն է: Օգտագործողը պետք է միացնի ծանուցումները միայն մեկ անգամ, և ամեն անգամ, երբ նոր նամակ է գալիս, նա ինքնաբերաբար ծանուցում է ստանում։ Դեկլարատիվ ծրագրավորումը նման է դրան: Այն ապահովում է պարզություն: Դեկլարատիվ ծրագրավորումն արտահայտում է պահանջվող արդյունքը: Այն բացատրում է հաշվարկի տրամաբանությունը՝ չնկարագրելով կառավարման հոսքը:
Նկար 01. Ծրագրավորման պարադիգմներ
Դեկլարատիվ ծրագրավորման օրինակը հետևյալն է. Դա զանգվածի թվերը բազմապատկելն է հաստատունով և դրանք պահել նոր զանգվածում։
var թվեր=[1, 2, 3];
var newnumbers=numbers.map(function(համար){
վերադարձի համարներ5;
});
Console.log(newnumbers);
Վերոհիշյալ օրինակում «քարտեզը» հրահանգներ է տալիս զանգվածի յուրաքանչյուր տարր կրկնելու և յուրաքանչյուր տարրի համար հետ կանչելու ֆունկցիան կանչելու և նոր զանգվածում վերադարձվող արժեքը պահելու հրահանգներ: Սա կտա 5, 10, 15 արդյունք: Այս ծրագրում թվերը 5-ով բազմապատկելու հիմնական նպատակն իրականացվում է քարտեզի ֆունկցիայի միջոցով: Այն կանցնի յուրաքանչյուր տարրի միջով և կօգտագործի հետ կանչելու գործառույթը՝ հաշվարկելու և պահելու արժեքները նոր զանգվածում: Չի պահանջվում ապահովել բոլոր քայլերը։ Հիմնական ուշադրությունը տրված է նրան, թե ինչին պետք է հասնել:
Ի՞նչ է իմպերատիվ ծրագրավորումը:
Իմպերատիվ ծրագրավորումը կարելի է բացատրել՝ օգտագործելով իրական աշխարհի սցենարը, ինչպես նախկինում: Նոր նամակները ստուգելու համար օգտատերը կարող է մուտք գործել gmail և շարունակել թարմացնել էջը՝ ստուգելու, թե արդյոք նա ստացել է նոր նամակներ, թե ոչ:Սա նման է իմպերատիվ ծրագրավորմանը: Այն բացատրում է արդյունքի հասնելու համար ներգրավված յուրաքանչյուր քայլ: Այն օգտագործում է հայտարարություններ՝ ծրագրի վիճակի փոփոխություններն արտահայտելու համար:
Զանգվածների տարրերը հաստատունով բազմապատկելը և նոր զանգվածում արժեքները հրամայական ծրագրավորման մեջ պահելը հետևյալն է։
var թվեր=[1, 2, 3];
var newnumbers=;
for(int i=0; i< numbers.length; i++) {
newnumbers.push(numbers5);
}
Console.log(newnumbers);
Վերոնշյալ օրինակում թվերը զանգված է: Շրջանակով անցնելիս յուրաքանչյուր թիվ բազմապատկվում է 5-ով և ավելացվում նոր թվերի զանգվածին: Շրջանակի ավարտից հետո կտպվի նոր թվերի բովանդակությունը, որոնք 5, 10, 15 են։
Կարելի է նկատել, որ հրամայական ոճն ապահովում է առաջադրանքին հասնելու բոլոր քայլերը։ Այն արտահայտում է, թե ինչպես կարելի է կրկնել զանգվածի միջոցով՝ օգտագործելով «i» հաշվիչ փոփոխականը, քանի անգամ կրկնել մինչև օղակից դուրս գալը և ինչպես մուտքագրել հաշվարկված արժեքները նոր զանգվածներում և այլն:
Նույն խնդիրը լուծվել է դեկլարատիվ և հրամայական ծրագրավորման միջոցով։
Ո՞րն է տարբերությունը դեկլարատիվ և իմպերատիվ ծրագրավորման միջև:
Դեկլարատիվ ընդդեմ իմպերատիվ ծրագրավորման |
|
Դեկլարատիվ ծրագրավորումը ծրագրավորման պարադիգմ է, որն արտահայտում է հաշվարկի տրամաբանությունը՝ առանց դրա կառավարման հոսքը նկարագրելու: | Իմպերատիվ ծրագրավորումը ծրագրավորման պարադիգմ է, որն օգտագործում է հայտարարություններ, որոնք փոխում են ծրագրի վիճակը: |
Հիմնական ուշադրություն | |
Դեկլարատիվ ծրագրավորումը կենտրոնանում է այն բանի վրա, թե ինչ պետք է իրականացնի ծրագիրը: | Իմպերատիվ ծրագրավորումը կենտրոնանում է այն բանի վրա, թե ինչպես պետք է ծրագիրը հասնի արդյունքի: |
Ճկունություն | |
Դեկլարատիվ ծրագրավորումն ապահովում է ավելի քիչ ճկունություն: | Իմպերատիվ ծրագրավորումն ավելի շատ ճկունություն է ապահովում: |
Բարդություն | |
Դեկլարատիվ ծրագրավորումը պարզեցնում է ծրագիրը։ | Իմպերատիվ ծրագրավորումը կարող է մեծացնել ծրագրի բարդությունը: |
Դասակարգում | |
Ֆունկցիոնալ, տրամաբանական, հարցման ծրագրավորումն ընկնում է դեկլարատիվ ծրագրավորման մեջ: | Ընթացակարգային և առարկայական ծրագրավորումն ընկնում է հրամայական ծրագրավորման մեջ: |
Ամփոփում – Դեկլարատիվ ընդդեմ Իմպերատիվ ծրագրավորման
Այս հոդվածը քննարկեց ծրագրավորման երկու հիմնական պարադիգմների միջև եղած տարբերությունը, որոնք են դեկլարատիվ և հրամայական ծրագրավորումը:Դեկլարատիվ և Իմպերատիվ ծրագրավորման միջև տարբերությունն այն է, որ Դեկլարատիվ ծրագրավորումը կենտրոնանում է այն բանի վրա, թե ինչ պետք է իրականացնի ծրագիրը, մինչդեռ Իմպերատիվ ծրագրավորումը կենտրոնանում է այն բանի վրա, թե ինչպես ծրագիրը պետք է հասնի արդյունքի: