Үндсэн ялгаа – Тунхаглал ба Захиргааны програмчлал
Мэдэгдэл болон императив программчлал нь програмчлалын нийтлэг хоёр парадигм юм. Тунхаглалын болон Захиргааны програмчлалын гол ялгаа нь тунхаглалын програмчлал нь тухайн хөтөлбөр юу хийх ёстойг голлон анхаардаг бол Imperative програмчлал нь тухайн хөтөлбөр үр дүндээ хэрхэн хүрэхэд чиглэдэгт оршино.
Програмчлалын хэлийг онцлогоос нь хамааруулан ангилахад програмчлалын парадигмыг ашигладаг. Энэ нь мөн тодорхой асуудлыг шийдэхийн тулд тодорхой загвар эсвэл хэв маягийг дагахыг зөвшөөрдөг.
Мэдэгдэлийн програмчлал гэж юу вэ?
Мэдэгдэлийн програмчлалыг бодит хувилбараар тайлбарлаж болно. Хэрэглэгч шинэ имэйл байгаа эсэхийг шалгах хэрэгтэй гэж бодъё. Нэг арга бол ирсэн имэйлийн мэдэгдлийг идэвхжүүлэх явдал юм. Хэрэглэгч зөвхөн нэг удаа мэдэгдлийг идэвхжүүлэх ёстой бөгөөд шинэ имэйл ирэх бүрт автоматаар мэдэгдэл хүлээн авдаг. Декларатив програмчлал нь үүнтэй төстэй юм. Энэ нь энгийн байдлыг хангадаг. Тунхаглалын програмчлал нь ямар үр дүн шаардагдахыг илэрхийлдэг. Энэ нь хяналтын урсгалыг тайлбарлахгүйгээр тооцооллын логикийг тайлбарладаг.
Зураг 01: Програмчлалын парадигмууд
Мэдэгдэлийн програмчлалын жишээ нь дараах байдалтай байна. Энэ нь массивын тоог тогтмол тоогоор үржүүлж, шинэ массив болгон хадгалах явдал юм.
var тоо=[1, 2, 3];
var newnumbers=numbers.map(функц(тоо){
буцах тоо5;
});
Console.log(шинэ тоо);
Дээрх жишээнд ‘map’ нь массив дахь зүйл бүрийг давтах, зүйл тус бүрд буцаан дуудах функцийг ажиллуулах, буцаах утгыг шинэ массив руу хадгалах зааварчилгааг өгнө. Энэ нь 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-аар үржүүлж, шинэ тоон массив дээр нэмнэ. Давталт дууссаны дараа 5, 10, 15 гэсэн шинэ тоонуудын агуулга хэвлэгдэх болно.
Заавал биелүүлэх хэв маяг нь даалгавраа биелүүлэх бүх алхмуудыг хангадаг нь ажиглагдаж байна. Энэ нь 'i' тоологч хувьсагчийг ашиглан массивыг хэрхэн давтах, давтахаас гарахын өмнө хэдэн удаа давтах, тооцоолсон утгыг шинэ массивуудад хэрхэн оруулах гэх мэтийг илэрхийлдэг.
Ижил асуудлыг тунхаглалын болон императив програмчлал ашиглан шийдсэн.
Мэдэгдэл болон императив програмчлалын хооронд ямар ялгаа байдаг вэ?
Мэдэгдэл ба Захиргааны програмчлал |
|
Мэдэгдэлтэй програмчлал нь хяналтын урсгалыг тайлбарлахгүйгээр тооцооллын логикийг илэрхийлдэг програмчлалын парадигм юм. | Императив програмчлал нь програмын төлөвийг өөрчилдөг хэллэгүүдийг ашигладаг програмчлалын парадигм юм. |
Гол анхаарал хандуулах | |
Мэдэгдэлтэй програмчлал нь тухайн хөтөлбөр юу хийх ёстойг анхаардаг. | Зайлшгүй програмчлал нь хөтөлбөр нь үр дүндээ хэрхэн хүрэхэд чиглэдэг. |
Уян хатан байдал | |
Мэдэгдэлтэй програмчлал нь уян хатан чанар багатай. | Зайлшгүй програмчлал нь илүү уян хатан байдлыг хангадаг. |
Нарийн төвөгтэй байдал | |
Мэдэгдэлтэй програмчлал нь програмыг хялбаршуулдаг. | Зайлшгүй програмчлал нь хөтөлбөрийн нарийн төвөгтэй байдлыг нэмэгдүүлэх боломжтой. |
Ангилал | |
Функциональ, Логик, Хүсэлт програмчлал нь тунхаглалын програмчлалд багтдаг. | Процедур ба объект хандалтат програмчлал нь зайлшгүй програмчлалд багтдаг. |
Хураангуй – Тунхаглал ба Зайлшгүй програмчлал
Энэ нийтлэлд тунхаглагч болон императив програмчлал гэсэн хоёр үндсэн програмчлалын парадигмын ялгааг авч үзсэн. Тунхаглагч болон Императив програмчлалын ялгаа нь тунхаглалын програмчлал нь тухайн хөтөлбөр юу хийх ёстойг анхаардаг бол Императив програмчлал нь тухайн хөтөлбөр нь үр дүнд хэрхэн хүрэхэд анхаарлаа төвлөрүүлдэгт оршино.