Integrallashgan muhitlar tarixi. Integrallashgan muhitlar g‘oyasi 1980-yillarning o‘rtalariga kelib, integrallashgan muhitlarning ikki guruhi paydo bo‘ldi:
-Turbo muhitlar (Turbo Pascal, Turbo C, C++, Delphi, Turbo va hokazo.) bu tillarda dasturlashni qo‘llab-quvvatlash uchun Borland tomonidan, MS DOS operatsion tizimi uchun, keyin Windows uchun foydalanishlang;
-GNU Emacs - MS DOS uchun, keyin Windows, OpenVMS va Linux uchun amalga oshiriladigan ko‘p tilli va ko‘p platformali integrallashgan muhitlar. 1990 yilda Sun Microsystems bilan ishlagan rivojlantirish jamoasi orasida, Solaris platformasi uchun uning amalga oshirish ko‘p foydalanuvchilar va GNU Emacs tashabbuskorlari bor edi.
Ob’ektga yo‘naltirilgan til Smalltalk kompaniyasi Xeror PARC dasturlarni ishlab chiqish uchun o‘sha yillarda integrallashgan muhitini amalga joriy qilingan. Unda OYD birinchi integrallashgan muhiti yaratilgan va u dasturlash texnologiyaisi bytecode ikkilik va Postfix oraliq vakillik tushunchasini joriy qilgan va shuningdek just-in-time (JIT, dinamik) kompilyatsiyasini birinchi ilg‘or usuli bo‘yicha ijro kompilyatsiya kompyuterda maqsadli yaratgan.
Borland ning turbo muhitlari dasturiy ta’minot ishlab chiquvchilari va dasturiy ta’minot ishlab chiqish vositalari yaratuvchilariga katta ta’sir ko‘rsatdi. Ularning xarakterli xususiyati doimiy rivojlanish siklini qo‘llab-quvvatlash edi: manba matnini yozish va tahrirlash - kompilyatsiya - tahlil qilish va xatolarni tuzatish - kompilyatsiya qilishni yakunlash-ijro etish va xatolarni qayta tuzatish. Integral muhitdan chiqmasdan va bu bosqichlar oddiy funksiya tugmachalari bilan nazorat qilindi va har qanday alohida vositalarni aniq chaqirishni talab qilmaydi. Yuqori kompilyatsiya tezligi ham Turbo muhitlar jozibador sifati aylandi. Turbo Paskalning birinchi versiyalarida kompilyatsiya birinchi xatodan oldin amalga oshirilgan bo‘lsa-da, barcha xatolarni topish va tashxislash uchun avvalgisini o‘rnatganingizdan so‘ng kompilyatsiyani qayta ishga tushirishingiz kerak edi, ammo bu funksiya tugmalaridan foydalanib darhol amalga oshirildi.
Turbo muhitlar to‘liq ikkilik kodi, loyiha kodi kompilyatsiyasi uchun ajralmas build mexanizmi bor edi, shuningdek, make (F9) rejimi, klassik UNIX make foyda faoliyatiga o‘xshash, faqat tahrirlangan kod modullar recompiling uchun amalga oshirilgan.
Turbo Paskal muhitidagi eng muhim yangilik - kirish tilining ob’ektga yo‘naltirilgan tushunchalar (sinf, ob’ekt) bilan kengaytmasi va mustaqil kompilyatsiya birligi g‘oyasini o‘zida mujassamlashtirgan birlik konstruksiyasi (moduli) bo‘lgan. OYD uchun qo‘llab - quvvatlash versiyada paydo bo‘lgan. Keyinchalik bu g‘oyalar Windows platformasida, Borland integrallashgan muhitlarning yangi versiyalarida - Borland Pascal va Delphi (Paskal g‘oyalarini OYD bilan birgalikda rivojlantiruvchi Borland dasturlash tili) ishlab chiqildi.
Zamonaviy integrallashgan muhitlarning asosiy xususiyatlari. Endi integrallashgan dasturiy ta’minot ishlab chiqish muhitlarining asosiy xususiyatlarini umumlashtiraylik. Ularning har biri quyidagi qismlarga ega:
- Funksiya tugmalaridan keng foydalangan holda muhitdan chiqmasdan boshqa barcha komponentlarni chaqirishga imkon beruvchi yagona interaktiv qobiq;
- Dastur fragmentlarini yozish va tahrirlash uchun matn muharriri;
- Qo‘llab-quvvatlash tizimini qurish, ya’ni amalga oshirilayotgan manba tilidan kompilyator va bitta bajariladigan kod (yuklash moduli) da ob’ekt ikkilik kodlarining linkerini o‘z ichiga olgan manba kodidan loyihalarni tuzish; linker operatsion tizimning standart komponenti sifatida yoki ushbu muhit uchun maxsus ishlatiladi;
- Buyruqlar majmui yordamida muhitda debugging dasturlari uchun Debugger: bir joyda o‘rnatish; berilgan tartibda to‘xtatish; o‘zgaruvchilar qiymatlarini tasavvur (yoki, past darajada, registrlari va xotira hududlari) qilish;
- Integrallashgan muhitda zamonaviy matn muharrirlari kodi avtomatik bajarilishini ta’minlash (kodi tugatish), muharriri muhitda joriy yozilgan kodi sintaktik to‘g‘ri va uning davomi bo‘lishi mumkinligi talab qilinadi, misol uchun, yopilish qavs yo‘qligi, nuqta-vergul va usul nomlari, tafovutlar usul ma’lum bir sinf ob’ektdan bo‘lsa va boshqalar.
- Integrallashgan muhitlarning zamonaviy versiyalarida quyidagi xususiyatlar ham qo‘shilgan (komponentlar):
- Profiler - integrallashgan muhit nazorati ostida dasturni bajarish natijasida olingan statistik ma’lumotlarni jamlash va tahlil qilish vositasi: protseduralarga (usullarga) chaqiriqlar soni, dasturni bajarish vaqtida ishlatiladigan xotira miqdori va boshqalar.
- Refactoring - kodni takomillashtirish maqsadida muhitdagi dasturlarning tizimli guruhli modifikatsiyalarini, ularning funksiyalariga tub o‘zgarishlarsiz amalga oshirish vositalari. Odatda, bunday harakatlar o‘z ichiga oladi, misol uchun, uning ta’rifi va barcha foydalanish usuli nomini o‘zgartirish, uning argumentiga qo‘shib, a sinash try/catch blok oldindan e’tiborsiz istisno bilan band qilish va hokazo.
- Unit test generator-test modul uchun umumiy test yaratish uchun vosita (birliklari)-usullari yoki protseduralar – argument xususiyatlar turli mumkin birikmalar bilan; odatda misollar integral Java muhitda JUnit vositasi va Visual Studio o‘xshash Nunit vositasi bor;
- Manba kodini boshqarish tizimi (source code control system) yoki mavjud versiya tizimlaridan biri (CVS, RCS, Mercurial, Visual Sourcesafe va boshqalar) bilan muhitni integrallashgan qilish vositasi.)- dasturlarni qo‘llab-quvvatlashda loyiha kodi fayllarining versiyasini nazorat qilishni qo‘llab-quvvatlash;
- Dasturlarning jamoaviy rivojlanishini qo‘llab-quvvatlash vositalari (jamoaviy ish) - dastur hayot sikli bosqichlari (talab va xususiyatlar, dizayn, amalga oshirish, sinov), dasturchilar jamoasi a’zolari o‘rtasida rivojlanish vazifalarini taqsimlash, loyiha menejeri tomonidan vazifani bajarishni nazorat qilish. Visual Studio muhitida bu komponent birinchi bo‘lib Team Foundation Server (TFS) deb nomlangan va Visual Studio 2013 versiyasidan boshlab, u bulutli interfeys sifatida amalga oshiriladi va Visual Studio Online deb ataladi.
- Kod tahlil vositalari - uning semantik to‘g‘riligi: odatda ijro paytida aniqlanadigan xatolarning ayrim turlarining yo‘qligi, masalan, erishib bo‘lmaydigan sharoitlar; zarur tekshirishlar va xavfsizlik ruxsatlarining yo‘qligi va boshqalar. Professional qiziqishlar tufayli juda muhim bo‘lgan ushbu xususiyatlar haqida qo‘shimcha ma’lumot olish uchun "Visual Studio 2013 va uning ishonchli va xavfsiz hisoblash (ishonchli hisoblash) uchun imkoniyatlari" ga qarang . Ushbu imkoniyatlar 2002 da shakllantirilgan ishonchli va xavfsiz hisoblash (trustworthy computing) sharoiti va tamoyillariga mos keladi. Microsoft korporatsiyasi va u tomonidan hayotga izchil tatbiq etilmoqda. Zamonaviy muhitlarga dasturdagi nazorat oqimi grafigining siklomatik soni, sinflarning ilashish darajasi (o‘zaro bog‘liqligi) va shu kabi murakkabligini tavsiflovchi metrikalar bo‘yicha kodni tahlil qilish vositalari ham kiradi;
- Hosil bo‘lgan binar kodni vizuallashtirish vositalari-usullar, o‘zgaruvchilar, ularning nomlari va boshqalar. Misol uchun, Visual Studio muhitida, platforma .NET Common Intermediate til yagona oraliq (ikkilik) kodni tasavvur qilish imkonini beradi;
- Kod elementlari, nomlarini almashtiruvchi obfuskatsion vositalar -sinflar, usullar, maydonlar va boshqalar. Noma’lumlar bilan, "tasodifiy", "chalkash