Дастурлаш тиллари ва тилларни реализация (кайта ишлашни) килиш бир-биридан фарк килинади.
Дастурлаш тили - бу дастурни тузишда ишлатиладиган ёзувлар системасини аниклайдиган коидалар туплами.
Дастурлаш тилини реализация (кайта ишлаш) килиш- бу система дастури булиб, юкори даражали тилдаги ёзувни машина буйруклари кетма-кетлигига таржима килади.
Дастурлаш тилларини машина буйрукларига таржима килишнинг иккита воситаси кулланилади: комплятор ва интерпретатор.
Компилятор. Бу махсус тузилган дастур булиб, бирор дастурлаш тилида тузилган дастурни тулиђича машина тилига таржима килади ва интерпрататорга нисбатан дастурни бажарилишини тезлаштиради.
Интерпретатор. Бу хам махсус тузилган дастур булиб, дастурлаш тилидаги ёзувни буйрукма-буйрук машина тилига таржима килади, лекин дастур бажарилиш вактини узайтиради. Интерпретаторлар одатда компъютер хотирасида доимий сакланади.
Хар кандай дастурлаш тили комплянувчи хамда интерпретацияланувчи булиши мумкин. Паскаль, Си, Фортран, Кобол тиллари асосан компилянувчи, Лого, Форт, Бейсик тиллари эса купрок интерпретацияланувчи хисобланади.
Компиляциялаш интерпретациялашга нисбатан тайёр дастурларни бажариш тезлиги юкорилиги билан фарк килади.
Интерпретацияланувчи тил эса, шахсий компъютерлари билан мулокат тартибида ишлаш учун кулай имкониятга эга булиб, дастурнинг бажарилишида хосил буладиган хатоликларни шу вактнинг узида туђрилаш имконияти мавжуд булади. Бу учун матнни тахрирлаш дастурига кайтиш ва уни яна компиляциялаш шарт булмайди.
Универсал максадларга мулжалланган компъютер лари учун купрок компилияцияловчи транциятор - дастурлар кулланилади. Шахсий компъютерлари мулокот тартибига ишлашга мулжалланган булганлиги учун уларда асосан интерпретацияланувчи тиллардан фойдаланилади.
Дастурлаш тилини машина тилига якинлик даражасини ифодалаш учун тил даражаси номли тушунчадан фойдаланилади. Даражаларни санаш бошланиши килиб, даражаси 0 булган машина тили олинади. Табиий сузлашув тили энг юкори даражали тил деб каралади.
Хозирги вактда у ёки бу белгиси буйича классификациялари мумкин булган бир неча унлаб дастурлаш тиллари мавжуд.
Турли синфдаги масаларни ечиш алгоритмлари бир-биридан катта фарк килиши мумкин, шунинг учун процедурага мулжалланган тилларнинг аксарияти шундай масалаларнинг алохида синфига мулжаллаб ишлаб чикилган. Хисоблаш, инженер-техник, иктисодий масалаларни ечиш, шунингдек маълумотлар массивини ишлаш, матнли, график маълумотларни анализ килиш ва купгина масалаларни ечиш тиллари мавжуд. Бундай дастурлаш тилларига куйидагилар киради: Алгол, Фортран, Бейсик, Паскаль, ПЛ/1 ва бошкалар- илмий техник ва инженерлик масалаларини ечиш учун, Кобол, АлГЭК, АлГЭМ ва бошкалар-иктисодий масалаларни ечиш учун ишлатилади.
Кандай даражадаги тилнинг танланиши дастур тузиш билан шуђилланадиган мутахасисларнинг малакасига маълум даражада бођлик булади.
Дастурлаш жараёнида айрим сохаларнинг тор доирадаги кичик муаммосига бађишланган масалаларни ечиш учун компъютердан оператив фойдаланишга туђри келади. Бу вазифани шу соха мутахасислари хам, дастурлаш усуллари билан яхши таниш булмаган кишилар хам амалга оширишлари мумкин. Кишиларнинг бу тоифасига хусусан, ишлаб чикариш ва бошкариш маъмурий органлари ходимлари, конструкторлар, технологлар. иктисодчилар ва бошкалар киради. Бунинг учун муаммога мулжалланган тиллар ишлатилади.
Муаммога мулжалланган тилда тузилган дастур ечилаётган муаммога таалукли белгилар, сузлар ва терминлар асосида ёзилади, хамда мос келадиган процедуралар асосида бажарилади. Муаммога мулжалланган тилнинг имконияти шундан иборатки, дастур тузувчи мутахасисининг тажрибасига бођлик равишда бир хил муаммони ечиш дастурини бир неча хил усулларда ифодалаш мумкин булади. Бундай тилларга РПГ, ПРОЛОГ ва бошкалар киради.
Kompilyator – inglizcha so'z bo'lib, (komponovshik, sostavitel) so'zidan olingan, boshlang'ich dasturlar asosida ob'yektning dasturlarini tashkil qiladi, ya'ni boshlang'ich dasturni unga ekvivalent bo'lgan ob'yekt dasturini mashinaviy komanda tiliga tarjima qiladi. Kompilyatorning translyatordan farqi nimada degan savolga shunday javob berish mumkin: kompilyatorda natijaviy dastur doimo mashinaviy kod tilida bo'lishi kerak. Translyatorda esa natijaviy dastur umumiy hollarda turli tillarda yozilgan bo'lishi kerak. Masalan, Paskal tilidagi translyator dasturi S tiliga. Demak har qanday kompilyator translyator bo'lishi mumkin, lekin har qanday translyator kompilyator bo'la olmaydi.Kompilyator –boshlang'ich dasturlar asosida dastur ob'yektlaridan iborat bo'lishi mumkin. Kompilyatorning natijaviy dasturi "dasturiy ob'yekt" yoki "ob'yekt kodi" deyiladi. Natijaviy dastur yozilgan fayl "ob'yekt faylidir." Natijaviy programma mashina komandalari tilida yozilgan bo'lishiga qaramay ob'yekt fayli va bajariluvchi (.exe), (.com) fayl o'rtasida ma'lum farq bor. Kompilyator tuzgan ob'yekt fayli (programmasi) o'z-o'zidan bajarilmaydi, chunki bu programmaning kodi va ma'lumotlari xotiraning aniq bir sohasiga bog'lanmagan bo'ladi.
Interpretator – bu programma bo'lib, kiruvchi programmani kirish tilida qabul qiladi va uni bajaradi. Translyatordan farqli ravishda interpretatorlar natijaviy programmani ishlab chiqmaydi. Translyatorga o'xshab interpretator kiruvchi programmani taxlil qiladi, lekin natijaviy programma hosil qilmasdan kiritish tili semantikasi bilan berilgan kiruvchi programmani bajaradi. Agar kiruvchi programmada xato mavjud bo'lsa, bu haqda axborot chiqaradi. Albatta kiruvchi programmani bajarish uchun interpretator u yoki bu darajada mashina kodlari tiliga o'girishi kerak. Chunki bu siz programmalarni kompyuterda bajarilishi mumkin emas. U xuddi shunday qiladi ham, lekin hosil bo'lgan mashina kodlarini foydalanuvchi ko'rmaydi. Bu mashina kodi interpretator tomonidan hosil qilinadi, bajariladi va yo'q qilib yuboradi. Foydalanuvchi esa bu kodlarni faqat bajarilishini ko'radi. Albatta interpretatorda ham programmani ekvivalentligi talabi bajarilishi kerak.
Do'stlaringiz bilan baham: |