Kompilyator va interpretator haqida

Dasturlardan foydalanib, biror ish bajarish va shu orqali natija olish, unchalik qiyin jarayon emas. Bir marotaba ko'rib olgan inson, keyingi safar o'zi bajara oladi. Ko'pchilik adashtiradigan narsa, bu foydalanuvchi dasturchi deyilmaydi, faqatgina dastur foydalanuvchisi bo'ladi xolos. Dasturchi, foydalanuvchilar foydalanishi uchun dastur yaratadi va bu jarayon juda murakkab hisoblanadi.

Dasturchilik bilan shug'ullanishni endi boshlagan yoshlar ko'p qiyinchiliklarga duch kelishadi. Bu qiyinchiliklar asosan terminlarning tushunmasligidan kelib chiqadi. Bu maqolamda dasturlashning eng kerakli termini hisoblangan interpretator va kompilyator haqida yozib o'taman.

Dasturlash jarayonida dasturchi o'z dasturini yaratish uchun xar hil turdagi kodlar yozadi. Kodlarnining qanday bo'lishi qaysi dasturlash tilidan foydalanib, dastur tuzishga bog'liq bo'ladi. Dasturlash tillaridan C, C++, Java,… .Yozilgan kodlarni kompyuter tushunmaydi, kompyuter tushunishi uchun uchun bu kodlarni kompyuter tushunadigan tilga o'zgartirish lozim. Mana shu vaziyatda yuqoridagi 2 ta termin kerak bo'ladi(kompilyator yoki interpretator).

Kompyuter faqatgina raqamli kodlarni tushunadi, ya'ni 0 yoki 1. Bu 2 son orqali dastur tuzish juda qiyin hisoblanadi(manimcha bunday sonlar orqali dastur tuzuvchilar sanoqli bo'lsa kerak). Shuning uchun, insonlar tushunadigan qilib dasturlash tillari yaratilgan. Ketma-ketlikni tushungandursiz, dasturchi dasturlash tillari orqali kodlar yozadi va bu kodlar kompyuter tushunadigan 0 va 1 sonlariga almashtiriladi va dastur kompyuterda ishlaydi, bu jarayonni kompilyator yoki interpretator amalga oshirib beradi.

Kompilyator — murakkab dasturdir, dasturlash tilida yozilgan barcha kodlarni birdaniga ob'yektli kodga o'zgartirib beradi. Ob'yektli kodni yana ikkilik kod yoki mashina kodi deb ham atashadi. Keyinchalik bu ob'yektli kod kompyuterda to'g'ridan to'g'ri ishlatilishi mumkin bo'ladi. Dasturlash tillarida yozilgan kodlar bu ob'yektli kodga ta'sir qilmaydi. Ob'yektli kodni o'zgartirish uchun esa, qaytadan kompilyatsiya qilinib ob'yektli kod o'zgartiriladi. Natija bajariladigan, .exe ko'rinishidagi fayl bo'ladi. Bu faylni bloknotda ochib o'zgartirib bo'lmaydi, ya'ni bu fayl tayyor dastur hisoblanadi. Kompilyatorning kamchiligi sifatida, dasturlash tilidagi ma'lum bir qatorlani alohida tekshirish imkoniyati yo'qligidir, uning uchun ob'yektli kod yaratib, uni ishga tushurish lozim bo'ladi, ortiqcha ish bo'lib qoladi. Undan tashqari ba'zi kompilyatorlar bir dasturlash tilidan, ikkinchisiga ham o'zgartirib berishi mumkin. Kompilyator ishlatadigan dasturlash tillariga C, C++, Delphi larni misol qilib keltirish mumkin.

Interpretator — ham dastur ham jihoz ko'rinishida bo'lishi mumkin. Bu ham kompyuter tiliga o'zgartirib berish vazifasini bajaradi, faqatgina ishlash texnologiyasi boshqacharoqdir. Interpretator, dasturlash tilida yozilgan kodlarni ketma — ket o'qib, mashina tiliga o'zgartirib boradi. Xatolik paydo bo'lsa, o'sha zahoti dasturchiga ma'lum qiladi. Bu ketma — ketlikda o'zgartirish, kompilyatorga nisbatan sekinroq amalga oshiriladi(ba'zi holllarda kompilyatorga qaraganda 50 barobar sekin). Dastur natijasini ko'rish uchun, har safar kodlarni interpretatordan o'tkazish kerak bo'ladi(kompilyatorga o'xshab bir marotaba ob'yekt kod yaratib qo'yib, keyin har doim ishlatishning iloji yo'q). Bundan ko'rinib turibdiki, interpretator asosan saytlar, umumiy holda veb dasturlashda ishlatiladi. Biror saytning yuklanishi jarayni uzunligi, interpretatorda o'zgartirish amalga oshirilishi bilan tushuntirilishi mumkin. Interpretator ishlatadigan dasturlash tillariga PHP, JavaScript, JScript, Basic,… misol bo'la oladi.

Bu ikki termin umumiy holda translyator deyiladi, ya'ni o'zgartirgichlardir. Biror proyektlar qilganda bu 2 o'zgartirgichlar birgalikda ham ishlatilishi mumkin.

Biror dasturlash tili bilan jiddiy shug'ullanmoqchi bo'lsangiz, dastlab siz yozadigan kodlar qay tarzda kompyuter tiliga o'zgartirilishini o'rganib oling. Bu dasturlashning asosi hisoblanadi.

Manba:


JONNY

Muallif haqida

JONNY Arduino, Java, C#, Android, Windows, Linux, Debian, Javascript.


Blogdagi so‘nggi maqolalar:


Birinchi bo‘ling!

Iltimos, fikr bildirish uchun saytga kiring yoki ro‘yxatdan o‘ting!