C++ 

Keyingi yillarda amaliy dasturchilarga juda ko‘p integratsion dastur tuzish muhitlari taklif etilmoqda. Bu muhitlar u yoki bu imkoniyatlari bilan bir–biridan farq qiladi. Ci (inglizcha S) dasturlash tili 1970- yilning boshlarida Bi tili asosida Bell Labs Ken Tompson va Denis Ritchilar tomonidan yaratildi. Si dasturlash  tili UNIX operatsion tizimida foydalanish uchun mo’ljallangan edi. Ushbu til amaliy dasturlar tuzishda xam qo‘llanilar edi.  Aksariyat dasturlashtirish muhitlarining fundamental asosi S++ tiliga borib taqaladi. Ushbu Si ++ jumlani (nomni) Rik Masitti o‘ylab topdi. Bu 1983 yil o‘ylab ko‘rilmagan xam edi.

S/S++ tili tarixiBirinchi elektron hisoblash mashinalari paydo bo‘lishi bilan dasturlash tillari evolyusiyasi boshlanadi. Dastlabki kompyuterlar ikkinchi jahon urushi vaqtida artilleriya snaryadlarining harakat traektoriyasini hisob-kitob qilish maqsadida qurilgan edi. Oldin dasturchilar eng sodda mashina tilini o‘zida ifodalovchi kompyuter komandalari bilan ishlaganlar. Bu komandalar nol va birlardan tashkil topgan uzun qatorlardan iborat bo‘lar edi. Keyinchalik, insonlar uchun tushunarli bo‘lgan mashina komandalarini o‘zida saqlovchi (masalan, ADD va MOV komandalari) assembler tili yaratildi. Shu vaqtlarda BASIC va COBOL singari yuqori sathli tillar ham paydo bo‘ldiki, bu tillar tufayli so‘z va gaplarning mantiqiy konstruksiyasidan foydalanib dasturlash imkoniyati yaratildi. Bu komandalarni mashina tiliga interpretatorlar va kompilyatorlar ko‘chirar edi. Interpretator dasturni o‘qish jarayonida uning buyruqlarini ketma-ket mashina tiliga o‘tkazadi. Kompilyator esa yaxlit dasturkodini biror bir oraliq forma – ob’ekt fayliga o‘tkazadi. Bu bosqich kompilyatsiya bosqichi deyiladi. Bundan so‘ng kompilyator ob’ektli faylni bajariluvchi faylga aylantiradigan kompanovka dasturini chaqiradi.

Interpretatorlar bilan ishlash osonroq, chunki dastur komandalari qanday ketma-ketlikda yozilgan bo‘lsa shu tarzda bajariladi. Bu esa dastur bajarilishini nazorat qilishni osonlashtiradi. Kompilyator esa kompilyatsiya va kompanovka kabi qo‘shimcha bosqichlardan iborat bo‘lganligi uchun,ulardan  hosil bo‘ladigan bajariluvchi faylni tahlil qilish va o‘zgartirish imkoniyati mavjud emas. Faqatgina kompilyatsiya qilingan fayl tezroq bajariladi, chunki bundagi komandalar kompilyatsiya jarayonida mashina tiliga o‘tkazilgan bo‘ladi.

S/S++ kabi kompilyatsiya qiluvchi dasturlash tillarini yana bir afzalligi hosil bo‘lgan dastur kompyuterda kompilyatorsiz ham bajarilaveradi. Interpretatsiya qiluvchi tillarda esa tayyor dasturni ishlatish uchun albatta mos interpretator dasturi talab qilinadi.

Ayrim tillarda (masalan, VISUAL BASIC)  interpretator rolini dinamik bibliotekalar bajaradi. Java tilining interpretatori esa virtual mashinadir (Virtual Machine, yoki VM). Virtual mashinalar sifatida odatda brouzer (Internet Explorer yoki Netscape)  lar qo‘llaniladi.

Ko‘p yillar davomida dasturlarning asosiy imkoniyati uning qisqaligi va tez bajarilishi bilan belgilanib kelinar edi. Dasturni ixchamlashtirishgaintilish kompyuter xotirasini juda qimmatligi bilan bog‘liq bo‘lsa, uning tez bajarilishiga qiziqish protsessor vaqtining qimmatbaholigiga bog‘liq edi. Lekin kompyuterlarning narxi tushishi bilan dastur imkoniyatini baholash mezoni o‘zgardi. Hozirgi kunda dasturchining ish vaqti biznesda ishlatiladigan ko‘pgina kompyuterlarning narxidan yuqori. Hozirda professional tarzda yozilgan va oson ekspluatatsiya qilinadigan dasturlarga talab oshib bormokda.  Ekspluatatsiyaning oddiyligi, aniqmasalani yechish bilan bog‘liq  bo‘lgan talabni ozroq o‘zgarishiga, dasturni ortiqcha chiqimlarsiz oson moslashtirish bilan izohlanadi.

ANSI standartiAmerika milliy standartlar instituti (American National Standards Institute – ANSI) rahbarligi ostidagi Ctandartlarni akkreditivlash qo‘mitasi (Accredited Standards Committee) S++ tilining xalqaro standartini tuzdi.

S++ standarti ayni vaqtda ISO – International Standards Organization (Ctandartlash bo‘yicha halqaro tashkilot) standarti, deb ham nomlanadi.

Dastur matnini kompilyatsiya qilishDastur kodini bajariluvchi faylga o‘tkazish uchun kompilyatorlar qo‘llaniladi. Kompilyator qanday chaqiriladi va unga dastur kodi joylashgan joyi haqida qanday xabar qilinadi, bu konkret kompilyatorga bog‘liqdir. Bu ma’lumotlar kompilyatorning dokumentatsiyasida berilgan bo‘ladi.

Dastur kodi kompilyatsiya qilinishi natijasida ob’ektli fayl hosil qilinadi. Bu fayl odatda .obj kengaytmali bo‘ladi. Lekin bu hali bajariluvchi fayl degani emas. Ob’ektli faylni bajariluvchi faylga o‘girish uchun yig‘uvchi dastur qo‘llaniladi. Yig‘uvchi dastur yordamida bajariluvchi faylni hosil qilish. S++ tilida dasturlar odatda bir yoki bir nechta ob’ektli fayllar, yoki bibliotekalarni komponovka qilish yordamida hosil qilinadi. Bibliotekadeb bir yoki bir nechta komponovka qilinuvchi fayllar to‘plamiga aytiladi.  S++ ning barcha kompilyatorlari dasturga qo‘shish mumkin bo‘lgan funksiyalar (yoki protseduralar) va sinflardan iborat biblioteka hosil qila oladi.

Funksiya-bu ayrim xizmatchi amallarni, masalan ikki sonni qo‘shib, natijasini ekranga chiqarishni bajaruvchi dastur blokidir. Sinf sifatida ma’lumotlar to‘plami va ularga bog‘langan funksiyalarni qarash mumkin. Funksiyalar va sinflar haqidagi ma’lumotlar keyingi mavzularda batafsil berilgan. Demak, bajariluvchi faylni hosil qilish uchun quyida keltirilgan amallarni bajarish lozim:

.src kengaytmali dastur kodi hosil qilinadi;

Dastur kodini kompilyatsiya qilish orqali .obj kengaytmali ob’ektli fayl tuziladi. Bajariluvchi faylni hosil qilish maqsadida  .obj kengaytmali fayli zaruriy bibliotekalar orqali komponovka qilinadi.

Manba: dasturim.uz

News Reporter

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *