Негизги айырма – Декларативдик жана императивдик программалоо
Декларативдик жана императивдик программалоо эки жалпы программалоо парадигмасы. Декларативдик жана императивдик программалоонун негизги айырмасы, Декларативдик программалоо программа эмнени аткарышы керек экендигине көңүл бурат, ал эми Императивдик программалоо программанын натыйжага кантип жетиши керектигине көңүл бурат.
Программалоо тилин өзгөчөлүгүнө жараша классификациялоо үчүн программалоо парадигмасы колдонулат. Ал ошондой эле белгилүү бир көйгөйдү чечүү үчүн белгилүү бир үлгү же стилди аткарууга мүмкүндүк берет.
Декларативдик программалоо деген эмне?
Декларативдик программалоону реалдуу сценарийди колдонуу менен түшүндүрүүгө болот. Колдонуучу жаңы каттарды текшериши керек деп ойлойлу. Методдордун бири - кирүүчү куту эскертмелерин иштетүү. Колдонуучу эскертмелерди бир гана жолу иштетиши керек жана жаңы электрондук почта келген сайын ал автоматтык түрдө эскертме алат. Декларативдик программалоо ушуга окшош. Ал жөнөкөйлүктү камсыз кылат. Декларативдик программалоо талап кылынган натыйжаны билдирет. Бул башкаруу агымын сүрөттөбөстөн эсептөө логикасын түшүндүрөт.
01-сүрөт: Программалоо парадигмалары
Декларативдик программалоонун мисалы төмөнкүдөй. Бул массивдин сандарын туруктууга көбөйтүү жана аларды жаңы массивге сактоо.
var сандары=[1, 2, 3];
var newnumbers=numbers.map(функция(сан){
кайтаруучу сандар5;
});
Console.log(жаңы сандар);
Жогорудагы мисалда «карта» массивдеги ар бир элементти кайталоо жана ар бир элемент үчүн кайра чакыруу функциясын чакыруу жана жаңы массивге кайтаруу маанисин сактоо боюнча көрсөтмөлөрдү берет. Бул 5, 10, 15 чыгарууну берет. Бул программада карта функциясын колдонуу менен сандарды 5ке көбөйтүүнүн негизги максаты ишке ашат. Ал ар бир элемент аркылуу өтүп, жаңы массивге маанилерди эсептөө жана сактоо үчүн кайра чакыруу функциясын колдонот. Бул бардык кадамдарды камсыз кылуу талап кылынбайт. Негизги көңүл эмнеге жетишүү керек экенине бурулат.
Императивдик программалоо деген эмне?
Императивдик программалоону мурункудай эле реалдуу сценарий аркылуу түшүндүрүүгө болот. Жаңы электрондук каттарды текшерүү үчүн колдонуучу gmail'ге кирип, жаңы каттарды алган-албагандыгын текшерүү үчүн баракчаны жаңыртып турса болот. Бул императивдик программалоого окшош. Бул натыйжага жетүү үчүн тартылган ар бир кадамды түшүндүрөт. Ал программанын абалын өзгөртүү үчүн билдирүүлөрдү колдонот.
Императивдик программалоодо массивдердин элементтерин туруктуу менен көбөйтүү жана маанилерди жаңы массивге сактоо төмөнкүдөй.
var сандары=[1, 2, 3];
var newnumbers=;
for(int i=0; i< numbers.length; i++) {
newnumbers.push(numbers5);
}
Console.log(жаңы сандар);
Жогорудагы мисалда сандар массив. Циклден өтүп жатканда ар бир сан 5ке көбөйтүлүп, newnumbers массивине кошулат. Цикл аяктагандан кийин, 5, 10, 15 болгон жаңы сандардын мазмуну басып чыгарылат.
Императивдик стиль тапшырмага жетүү үчүн бардык кадамдарды камсыздай турганын байкоого болот. Ал 'i' эсептегич өзгөрмөнүн жардамы менен массивди кантип итерациялоону, циклден чыгуудан мурун канча жолу итерациялоону жана эсептелген маанилерди жаңы массивдерге кантип киргизүүнү билдирет.
Ошол эле маселе декларативдик жана императивдик программалоо аркылуу чечилди.
Декларативдик жана императивдик программалоонун ортосунда кандай айырма бар?
Декларативдик жана императивдик программалоо |
|
Декларативдик программалоо – бул эсептөөнүн логикасын анын башкаруу агымын сүрөттөбөстөн туюндурган программалоо парадигмасы. | Императивдик программалоо - бул программанын абалын өзгөрткөн билдирүүлөрдү колдонгон программалоо парадигмасы. |
Негизги фокус | |
Декларативдик программалоо программа эмнени аткарышы керектигине багытталган. | Императивдик программалоо программанын натыйжага кантип жетиши керектигине багытталган. |
Ийкемдүүлүк | |
Декларативдик программалоо азыраак ийкемдүүлүктү камсыз кылат. | Императивдик программалоо көбүрөөк ийкемдүүлүктү камсыз кылат. |
Татаалдуулук | |
Декларативдик программалоо программаны жөнөкөйлөтөт. | Императивдик программалоо программанын татаалдыгын жогорулатат. |
Категория | |
Функционалдык, Логикалык, Суроолуу программалоо декларативдик программалоого кирет. | Процедуралык жана объектиге багытталган программалоо императивдик программалоого кирет. |
Кыскача – Декларативдик жана Императивдик программалоо
Бул макалада декларативдик жана императивдик программалоо болгон эки негизги программалоо парадигмасынын ортосундагы айырма талкууланган. Декларативдик жана императивдик программалоонун айырмасы, Декларативдик программалоо программанын эмнеге жетиши керектигине көңүл бурат, ал эми Императивдик программалоо программанын натыйжага кантип жетиши керектигине көңүл бурат.