Mavzu: Dasturlash tillari qanday ishlaydi

|
Mavzu: Dasturlash tillari qanday ishlaydi
|
Sana | 19.12.2023 | Hajmi | 8,22 Kb. | | #123462 |
Bog'liq Reja Quyi va yuqori darajadagi dasturlash tillari-fayllar.org
Reja: Quyi va yuqori darajadagi dasturlash tillari
Mavzu: Dasturlash tillari qanday ishlaydi.
Reja:
Quyi va yuqori darajadagi dasturlash tillari.
Kompilyatorli, interpretatorli va p-kod(psevdokod) dasturlash tillari haqida.
Kompyuter ikki qismdan tashkil topgan. 1-qism qattiq (hardware) qurilmalar va 2-qism yumshoq (software). Biz ushbu mavzuda ikkinchi qism haqida gaplashamiz. Kompyuterning miyyasi bu mikroprotsessor hisoblanadi.
Mikroprotsessor mantiqiy va arifmetik amallarni bajaradi. Demak kompyuterni boshqaruvchi qism bu mikroprotsessordir. Dasturlar bu buyruqlar ketma-ketligidir. Dastur uchun yozilgan kodlar bu protsessor uchun tayyor buyruqlar majmuasi hisoblanadi. Protsessor ushbu buyruqlarni bajarsa dastur ishlayotgan hisoblanadi.
Dasturlash bu – kompyuter mikroprotsessori uchun turli buyruqlar berish, qachon, qayerda nimani o'zgartirish va nimalarni kiritish yoki chiqarish haqida buyruqlar berishdir.
Kompyuter bu mashina, u faqatgina nol va birlarni tushuna oladi xolos. Demak kompyuterga dasturlashni hozirgi zamonaviy dasturlash tillarisiz nol va birlar yordamida dastur yozish kerak.
EHM (elektron hisoblash mashinalari) dastlab yaratilganda ularni mashina tiliga yaqin bo’lgan dasturlash tillari bilan dasturlangan. Bunday holatda dasturlash juda ham murakkab hisoblanadi.
Dasturlash tillari mashina tiliga yaqin yoki uzoqligiga qarab quyi va yuqori darajadagi tillarga bo’linadi (bazi manbalarda 3 ga bolingan). Agar til inson tiliga qanchalik yaqin bolsa unda dasturlash tili yuqori darajadagi dasturlash tili boladi. Qanchalik mashina tiliga yaqin bolsa u holda dasturlash tili quyi darajadagi dasturlash tili hisoblanadi.
Past darajadagi tilda kompyuter uchun algoritm yaratadigan dasturchi to'g'ridan-to'g'ri kompyuterning resurslariga murojaat qiladi: protsessor, xotira, tashqi qurilmalar. Bu dasturlarning yuqori tezligini ta'minlaydi, chunki yuqori darajadagi tillardan farqli o'laroq, past darajadagi tillarda dastlabki matnni ikkilik kodga aylantirish paytida kompilyator tomonidan avtomatik ravishda qo'shilgan yashirin(qo’shimcha) kod qismlari mavjud emas. Kompyuter arxitekturasi haqida o'ylamasdan yuqori darajadagi tillarda dasturlar yozish imkonini beradigan abstraktsiyaning yuqori darajasiga qo'shimcha ustama xarajatlar hisobiga erishiladi: chexlar va programmachidan yashiringan "bog'lanishlar" sizga yordam bermaydi masalan, o'zgaruvchilar uchun xotirani ajratish va ishlatilgandan keyin uni bo'sh joyga qaytarishni misol keltirish mumkin.
Boshqa tomondan, past darajadagi tillar dasturchi kompyuterning barcha ichki resurslari (protsessorning yuklanish vaqti, ajratilgan xotira va boshqalar) uchun javobgarlikni o'z zimmasiga oladi deb taxmin qiladi. Shu sababli, past darajadagi tillar "xavfli" deb tasniflanadi: ularning yordami bilan ozmi-ko'pmi keng dasturlarni yozishda, yuqori darajadagi tillarda yozilgandan ko'ra, kodda ko'proq xatolar paydo bo'ladi.
Past darajadagi dasturlash, asosan, ixcham dasturiy ta'minotni yaratish uchun ishlatiladi, masalan, real vaqt tizimlarini (ishning kechikishi qabul qilinishi mumkin bo'lmagan hollarda), o'rnatilgan tizimlarni (mikrokontroller), shuningdek tashqi qurilmalarni boshqaruvchi drayverlarni dasturlash uchun.
Quyi dasturlash tillariga misol qilib C va Assemblerlarni keltirish mumkin. C dasturlash tili odatda yuqori darajadagi dasturlash tili deb yuritiladi, lekin u ham past darajadagi dasturlash uchun imkoniyatlarga ega: unda yozilgan dasturlar to'g'ridan-to'g'ri protsessor ko'rsatmalariga kirishi bilan ajratish va xotirani bo'shatish imkoniyatiga ega.
Bugungi kunda past darajadagi dasturlash tillari yoki ularning imkoniyatlariga ega bo'lgan tillar ham bugungi kunda faol qo'llanilmoqda. Axir, faqat ularning yordami bilan kompyuter uskunalari, ulangan atrof-muhit birliklari uchun drayverlarni yozish, operatsion tizimlar va proshivka yadrolarini yaratish hamda boshqa ko'plab muhim vazifalarni bajarish mumkin. Harbiy sohada muhandislik, tibbiyot, dasturlar ba'zi qurilmalarni va ularning fizik parametrlarini bevosita boshqarishi kerak, shuning uchun ham bu erda tillar juda mashhur. Hozirda qo'llanilayotgan past darajadagi tillarning ro'yxati unchalik katta emas, ammo shunga qaramay, ular hali ham dolzarb bo'lib, muhim muammolarni hal qilishga qodir.
Yuqori darajadagi dasturlash tili - bu oddiy odam tili yoki boshqa tanish belgilar tizimiga (masalan, matematik formulalar) imkon qadar yaqin bo'lgan rasmiylashtirilgan semantik tizim. Yuqori darajadagi til minimal darajada protsessor yoki operatsion tizim bilan bog'langan va dasturchining kompyuter qurilmasining xususiyatlari bilan chalg'imasdan, vazifani hal qilishda kontsentratsiyasini ta'minlashga qaratilgan. Yuqori darajadagi dasturlash tillari - bu katta hajm va murakkabligi sababli past darajadagi tillarda oddiygina mashinaga etkazib bo'lmaydigan turli xil mavhum semantik konstruktsiyalardan foydalanadigan tillar.
Tillarning eng an'anaviy turi kompilyatsiya qilinadigan tillardir. Kompilyatsiya qilinadigan tillarda dasturning manba kodini mashina kodini o'z ichiga olgan bajariladigan ikkilik fayllariga tarjima qilish uchun kompilyator ishlatiladi (bu mantiqiy). Ikkilik hosil bo'lgandan so'ng, uni to'g'ridan-to'g'ri manba kodiga qarashsiz ishlatishingiz mumkin. (Dasturiy ta'minotning aksariyati manba kodidan qurilgan kompilyatsiya qilingan ikkiliklar ko'rinishida bo'ladi, siz ko'rmaysiz).
Tuzilgan tillar bilan yaratilgan dasturlar ishlash tezligining yuqori tezligiga ega va tillarning aksariyati OS funktsiyalarining to'liq doirasiga ega, ammo kompilyatsiya qilingan tillar dasturlash uchun murakkabdir.
Interpretatsiya qilingan til manba kodini o'qiydigan va uni tezda hisoblash va tizim qo'ng'iroqlariga aylantiradigan tarjimon dasturiga bog'liq. Dastur har safar bajarilganda manba kodi qayta sharhlanadi (va tarjimon ishlatiladi).
Interpretatsiya qilingan tillar kompilyatsiya qilingan tillarga qaraganda sekinroq bo'ladi va ko'pincha operatsion tizim funktsiyalari qo'ng'iroqlari va apparatlariga kirish imkoniyati cheklangan. Boshqa tomondan, ularni tuzish osonroq va tuzilgan tillarga qaraganda xatolarga chidamli.
1990 yildan boshlab, ham kompilyatsiya, ham tarjimon yordamida gibrid tillarga ega bo'lish tobora muhim ahamiyat kasb etmoqda. P-kodli tillar, kompilyatsiya qilingan tillar singari, manba kodini keyinchalik bajariladigan ixcham ikkilik formatiga aylantiradi, ammo bu kod mashina kodi emas. Bu pseudocode (pseudocode yoki p-code), odatda juda sodda, ammo haqiqiy mashina kodiga qaraganda kuchliroq. Dasturni ishga tushirishda p-kod talqin qilinadi.
P-kod mashinali binarga tuzilgan tezlikda bajarilishi mumkin (p-kodning tarjimonlari oddiy, kichik va tezkor bo'lishi mumkin). Bunda p-kodli tillar yaxshi tarjimonlarning moslashuvchanligi va kuchini saqlab qolishi mumkin.
P-kodidan foydalanadigan muhim tillarga Python, Perl va Java kiradi.
Interpretatorli dasturlash tillarni kompyuterga o’rnatish kerak. Kompilyatorli dasturlash tillarida esa kompilyatorni ozi yetarli.
Kompilyatsiya qilingan til - bu dastur, kompilyatsiya qilinganida, maqsadli mashinada ko'rsatmalarda ifodalangan til. Masalan, manba kodidagi "+" qo'shimchasini to'g'ridan-to'g'ri mashina kodidagi "ADD" buyrug'iga tarjima qilish mumkin.
Interpretatsiya qilingan til - bu ko'rsatmalar to'g'ridan-to'g'ri mashina tomonidan bajarilmaydigan, aksincha boshqa biron bir dastur tomonidan o'qiladigan va bajariladigan (odatda mahalliy ona tilida yoziladigan) til. Masalan, xuddi shu + operatsiya tarjimon tomonidan ish vaqtida tan olinadi, so'ngra tegishli argumentlar bilan o'zining add (a, b) funktsiyasini chaqiradi, so'ngra ADD mashina kodi buyrug'ini bajaradi.
Interpretatorlarga misollar: basic, php, perl, javascript,
Kompilyatsiya qilinadigan : C, go, pascal, swift, rust, delfi
Psevdokodli dasturlash tiliga java va python.
http://fayllar.org
|
| |