Integrallashgan programmalash muhitlari tarkibi va komponentalarini tahlil qilish
Mavzu: Integrallashgan programmalash muhitlari tarkibi va komponentalarini tahlil qilish. Reja: 1) Integrallashgan dasturlash muhitlari , tarkibi va ularning imkoniyatlari. 2) Integrallashgan programmalash tizimlari. 3) Translyatorlar.Translyatorlar turi va strukturasi. 1
Integrallashgan programmalash tizimlari. Hozirgi paytda programmalash tizimlari asosan integrallashgan (birlash- gan) shaklda tashkil qilinadi. Bunday tizimlarni Turbo Tizimlar ham deyiladi. Aytib o’tish joyizki SHEHM turbo rejimi va turbo tizim tushun- chalari bir – biridan katta farq qiladi. SHEHM turbo rejimi uning oddiy rejimidan farq qiladi. Bu farq takt chastotasi bilan bog’liq.(takt:prosessorning har bir komandasi bitta yoki bir nechta takt mobaynida bajariladi). Yani Turbo rejimida takt chastotasi (M Hz,G Hz) ancha ko’tariladi. Turbotizim - integrallashgan tizim bo’lib programmani tayyorlash, taxlash va natija olish uchun tahrirlovchi,translyator, aloqalarni tashkil qiluvchi modul cheklovchi va yordamchi qism sistemalar yagona kompleks(majmua) si- fatida tashkil qilingan. Tizim bilan ish menyu-muloqat shaklida olib boriladi. Turbo tizimlar 150-350 kb qo’shimcha xotirani talab qiladi. Turbo tizimlardan Turbo Pascal, Turbo Ci, Turbo assemblerni keltirish mumkin. Turbo tizimlar asosida yangi programmalash muhitlari(visual, obektga mo’ljallangan, case- texnologyalar) ishlab chiqilgan. 2
Translyatorlar turi va strukturasi. Yuqori darajali (C, C++, Java, Phyton, …) yoki quyi darajali (assembly tillar) dasturlash tillarida yozilgan kodlarni mashina tiliga o'tkazish uchun ishlatiladigan programmalar — translyatorlar deb ataladi. Translyatorlarning 3 xil turi mavjud: 1) Assembler 2) Kompilyator 3) Interpretatoryator Assembler bu quyi darajali dasturlash tillarida yozilgan kodni mashina tiliga o'giruvchi translyatorlardir. Bu jarayonlar assmblatsiya (assembling) deb nomlanadi. Kompilyator va interpretatorlar esa yuqori darajli dasturlash tillarida yozilgan kodlarni mashina tiliga o'giruvchi translyatorlardir. Bu jarayonlar kompilatsiya va interpretatsiya deb nomlanadi. IDE (integrallashgan ishlovchi muhit) – Har bir dasturlash tilida o‘z ishchi muhiti bo‘ladi. Bu muhitda kompilyator bilan birga kod yozishimiz uchun mo‘ljallangan joy bo‘ladi. Bu ishchi muhitda bir necha dastur kodlarini ham yozsa bo‘ladi va bu muhit avtomatik xatolarni ham bizga ko‘rsatib beradi. Ishchi muhitda ma’lum kutubxonalar joylashgan bo‘lib, kod yozishda kodni to‘g‘ri tashkil qilish uchun ma’lum bir kodni to'g'ri tashkil qiluvchi yordamlar ekranga chiqadi. Ishchi muhitga oddiy bloknot misol qilib olsak bo‘ladi, lekin bu muhitning kompilyatori yo‘q, shuning uchun alohida kompilyator o'rnatishimiz lozim, 2 ta dastur o‘rnatib bir-biriga moslashtirishimiz kerak bo‘ladi. Bu 2 ishni 3
yengillashtirish uchun, juda ko‘p ishchi muhit dasturlari ishlab chiqilgan va ular kompilyatorlar bilan integrallashgan bo‘ladi. C++ dasturlash muhitida eng keng tarqalgan IDE bu – Visual C++ hisoblanadi . Bu dastur o‘z ichiga quyidagilarni oladi: dastur kodlarini yozishda juda muhim bo‘lgan .NET klasslari, ishchi muhit va albatta kompilyator integrallashtirilgan bo‘ladi. Kompilatsiya bu dasturlash tilida yozilgan kodni mashina tushunadigan tilga to'g'ridan-to'gri o'girish jarayoni. Mashina tiliga o'giruvchi programma esa kompilyator deb nomlanadi. Kompilyator butun kodni bir vaqtda skan qiladi va agar kodda xatoliklar bo'lsa koddagi barcha xatoliklarni ko'rsatadi, agar xatolik bo'lmasa uni ishga tushiradi. Kompilyatorga misollar: javac (Java kompilyatori), c (C kompilyatori), cpp (c++ kompilyatori) Dev-C++ — C/C++ dasturlash tillari uchun ochiq integrallashgan dasturlash muhiti. Bu distributivga MinGW nomli kompilyator kiradi. Bu dastur o‘zi Delphi dasturlash tilida tuzilgan. GPL litsenziyasi orqali tarqatiladi. Bir paytlar Linux versiyasi ham mavjud edi, hozir faqat Windows. Hozir yangi versiyalari ishlab chiqilmayapti, uning o‘rniga wxDev-C++ nomi bilan ishlab chiqilmoqda. C++ Builder – C++ dasturlash tili uchun mo‘ljallangan integrallashgan dasturlash muhiti hisoblanadi. Dastlab Borland Software korxonasi tomonidan ishlab chiqilgan, undan so‘ng uning bir qismi bo‘lgan CodeGear tomonidan. C++ Builder STL, VCL, CLX, MFC ob’yekt kutubxonalarini o‘z ichiga oladi. Delphi dasturlash tili tomonidan ishlab chiqilgan. Bu muhit drag-and-drop harakati bilan vizual shaklni paydo qilishi mumkin, undan tashqari WYSIWYG redaktori ham mavjud. 4
Borland C++ — C/C++ dasturlash tillarida dastur tuzish uchun mo‘ljallangan muhit bo‘lib, Borland firmasi tomonidan ishlab chiqilgan. Muhitning har bir versiyasi ma’lum bir dasturlash tili standarti asosida ishlovchi kompilyator bilan integrallashgan holda chiqarilgan. Dastlab, DOS operatsion tizimi muhitida ishlovchi dasturlarni yaratish uchun, keyinchalik Windows muhitida ishlovchi dasturlarni yaratish uchun mo‘ljallangan versiyada ishlab chiqildi. Microsoft Visual C++ — Albatta Microsoft firmasi ham bekor turmadi. Mana shu muhitni yaratdi. C++ dasturlash tili uchun mo‘ljallangan va Microsoft Visual Studio ni bir qismi sifatida yoki o‘zi yakka Visual C++ Express Edition shaklida namoyon bo‘ldi. Microsoft QuickC muhitini almashtirish vazifasini bajardi. GNU Compiler Collection(GCC) – GNU proyekti asosida yaratilgan, xar hil turdagi dasturlash tillarining kompilyatorlar yig‘indisi hisoblanadi. Bu dastur ochiq hisoblanadi va dastlab faqat S uchun yaratilgan edi. Keyinchalik kuchayib C++, Objective-C, Java, Fortran va Ada dasturlash tillari uchun ham ishlab chiqildi. Kompilyatsiya- juda ko'p qirrali jarayon deb hech qiyinchiliksiz ayta olamiz. Kompilyatsiyaning bir necha turlari mavjud. To'plamlarni yig'ish ishning bir nuqtasida bir nechta manba modullarida amalga oshiriladi. Tizma-bosqich kompilyatsiyasi izohlash bilan bir xil (har bir keyingi bayonni bosqichma-bosqich mustaqil tuzish lozimligi). Hali hamon shartli kompilyatsiya mavjud. Bunday holda, tarjima qilingan matn dastlabki dasturda kompilyator ko'rsatmalarida ko'rsatilgan shartlarga bog'liq bo'ladi. Ma'lum bir doimiy qiymatni o'zgartirishimiz, dastur matni qismining tarjimasini kiritishimiz yoki o'chirishni sozlashimiz mumkin. 5