Компилятор ва интерпретатор ҳақида

Компилятор ва интерпретатор ҳақида

Дастурлардан фойдаланиб, бирор иш бажариш ва шу орқали натижа олиш, унчалик қийин жараён эмас. Бир маротаба кўриб олган инсон, кейинги сафар ўзи бажара олади. Кўпчилик адаштирадиган нарса, бу фойдаланувчи дастурчи дейилмайди, фақатгина дастур фойдаланувчиси бўлади холос. Дастурчи, фойдаланувчилар фойдаланиши учун дастур яратади ва бу жараён жуда мураккаб ҳисобланади.

Дастурчилик билан шуғулланишни энди бошлаган ёшлар кўп қийинчиликларга дуч келишади. Бу қийинчиликлар асосан терминларнинг тушунмаслигидан келиб чиқади. Бу мақоламда дастурлашнинг энг керакли термини ҳисобланган интерпретатор ва компилятор ҳақида ёзиб ўтаман.

Дастурлаш жараёнида дастурчи ўз дастурини яратиш учун хар ҳил турдаги кодлар ёзади. Кодларнининг қандай бўлиши қайси дастурлаш тилидан фойдаланиб, дастур тузишга боғлиқ бўлади. Дастурлаш тилларидан C, C++, Java,… . Ёзилган кодларни компьютер тушунмайди, компьютер тушуниши учун учун бу кодларни компьютер тушунадиган тилга ўзгартириш лозим. Мана шу вазиятда юқоридаги 2 та термин керак бўлади(компилятор ёки интерпретатор).

Компьютер фақатгина рақамли кодларни тушунади, яъни 0 ёки 1. Бу 2 сон орқали дастур тузиш жуда қийин ҳисобланади(манимча бундай сонлар орқали дастур тузувчилар саноқли бўлса керак). Шунинг учун, инсонлар тушунадиган қилиб дастурлаш тиллари яратилган. Кетма-кетликни тушунгандурсиз, дастурчи дастурлаш тиллари орқали кодлар ёзади ва бу кодлар компьютер тушунадиган 0 ва 1 сонларига алмаштирилади ва дастур компьютерда ишлайди, бу жараённи компилятор ёки интерпретатор амалга ошириб беради.

Компилятор — мураккаб дастурдир, дастурлаш тилида ёзилган барча кодларни бирданига объектли кодга ўзгартириб беради. Объектли кодни яна иккилик код ёки машина коди деб ҳам аташади. Кейинчалик бу объектли код компьютерда тўғридан тўғри ишлатилиши мумкин бўлади. Дастурлаш тилларида ёзилган кодлар бу объектли кодга таъсир қилмайди. Объектли кодни ўзгартириш учун эса, қайтадан компиляция қилиниб объектли код ўзгартирилади. Натижа бажариладиган, .ехе кўринишидаги файл бўлади. Бу файлни блокнотда очиб ўзгартириб бўлмайди, яъни бу файл тайёр дастур ҳисобланади. Компиляторнинг камчилиги сифатида, дастурлаш тилидаги маълум бир қаторлани алоҳида текшириш имконияти йўқлигидир, унинг учун объектли код яратиб, уни ишга тушуриш лозим бўлади, ортиқча иш бўлиб қолади. Ундан ташқари баъзи компиляторлар бир дастурлаш тилидан, иккинчисига ҳам ўзгартириб бериши мумкин. Компилятор ишлатадиган дастурлаш тилларига C, C++, Delphi ларни мисол қилиб келтириш мумкин.

Интерпретатор — ҳам дастур ҳам жиҳоз кўринишида бўлиши мумкин. Бу ҳам компьютер тилига ўзгартириб бериш вазифасини бажаради, фақатгина ишлаш технологияси бошқачароқдир. Интерпретатор, дастурлаш тилида ёзилган кодларни кетма — кет ўқиб, машина тилига ўзгартириб боради. Хатолик пайдо бўлса, ўша заҳоти дастурчига маълум қилади. Бу кетма — кетликда ўзгартириш, компиляторга нисбатан секинроқ амалга оширилади(баъзи ҳоллларда компиляторга қараганда 50 баробар секин). Дастур натижасини кўриш учун, ҳар сафар кодларни интерпретатордан ўтказиш керак бўлади(компиляторга ўхшаб бир маротаба объект код яратиб қўйиб, кейин ҳар доим ишлатишнинг иложи йўқ). Бундан кўриниб турибдики, интерпретатор асосан сайтлар, умумий ҳолда веб дастурлашда ишлатилади. Бирор сайтнинг юкланиши жараёни узунлиги, интерпретаторда ўзгартириш амалга оширилиши билан тушунтирилиши мумкин. Интерпретатор ишлатадиган дастурлаш тилларига PHP, JavaScript, JScript, Basic,… мисол бўла олади.

Бу икки термин умумий ҳолда транслятор дейилади, яъни ўзгартиргичлардир. Бирор проектлар қилганда бу 2 ўзгартиргичлар биргаликда ҳам ишлатилиши мумкин.

Бирор дастурлаш тили билан жиддий шуғулланмоқчи бўлсангиз, дастлаб сиз ёзадиган кодлар қай тарзда компьютер тилига ўзгартирилишини ўрганиб олинг. Бу дастурлашнинг асоси ҳисобланади.

Манба: ITportal.uz

Сайт янгиликларидан доимий хабардор бўлиш учун Телеграм каналимизга қўшилинг!