5-mavzu. .NETga yo’naltirilgan programmalashtirish
.NET (o’qilishi “dot net”) yoki .NET Framework – bu dasturlash platformasi. Umuman olganda, kompyuter platformasi – bu qurilmaviy va/yoki dasturiy kompleks, turlicha hisoblash tizimlari uchun asos bo’lib xizmat qiladi. Misol uchun dasturlash platformasi kompyuterning operatsion tizimiga xizmat ko’rsatishi mumkin. C# (o’qilishi “Ci sharp”) algoritmik tili aynan shunday va u .NET platformasida ishlash uchun yaratilgan.
Dasturiy ta’minot (DT)ni ishlab chiqishda Windows oilasiga qarashli platformalarda maxsus API (bu harf bo’yicha “ey pi ay” deb emas, balki “API” deb o’qiladi) deb ataluvchi maxsus birikmalar C dasturlash tilidan foydalanishni ko’zda tutadi. Bu qisqartma Application Programming Interface – amaliy dasturlash interfeysi deb ataladi. Bu interfeys yirik dasturiy strukturalarni to’plash, C tilida dasturlashda sermashaqqat jarayonlarni aniq bir ilovani avtomatlashtirish sozlamalariga imkoniyat beradi. Ko’pchilik bunday “yurish”ni “mamnuniyat bilan” sinab ko’rdi. Lekin bunda tushunarliki, barchasi mutlaqo yangitdan juda oddiy yaratilmaydi va ekspluatatsiya davomiyligi jarayonlarning ishini oxirigacha yetkazib qo’yadi. API dan dasturlash muhitida foydalanish uchun bir qancha zamonaviy tizimlar ishlab chiqildi, ular qatoriga Borland C++ Builderni qo’shish mumkin. Ammo hayot bir joyda to’xtab qolmaydi, C tilining qadamma-qadam imkoniyatlari kengayib bordi. Unga gorizontal yo’nalishda obyektga yo’naltirilgan dasturlash (OYD) deb ataluvchi konsepsiya paydo bo’ldi. U dasturiy mahsulot yaratilish jarayonini butunlay boshqa tomondan qarab chiqishga imkoniyat beradi. Dasturchiga ishlarini avtomatlashtirish uchun juda keng imkoniyatlar yaratadi. OYD asosida sinflar va obyektlar tushunchalari yotadi. C tilini ishlab chiqaruvchilar C ga “sinf” strukturasini qo’shishdi. Shu tariqa C++ tili paydo bo’ldi. Bu jarayon anchagina murakkab bo’lib qoldi, o’ylashimizcha, o’sha vaqtlarda ishlab chiqaruvchilar zamonaviy talablar bosqichida mahsulotlarni ishlab chiqarish jarayonida aynan ushbu konsepsiya qabul qilishga ko’ngilchanlik qilishgan. Ma’lumotlar qayta ishlanishida ularning ishonchliligini va xavsizliligini ta’minlash maqsadida xotira ikki ko’rinishda tashkillashtirildi: boshqarilmaydigan (C da xotira qo’lda boshqariladi) va boshqariladigan (C++ da boshqaruv kuchasi deb ataluvchi mahsus muhit mavjud, shuning u avtomatik boshqariladi) ko’rinishda maxsus tashkillashtirildi va qurilmalarda yetarli darajada ko’ngilsizlik kuzatildi. Lekin biz bilamizki, o’rmon qancha uzun bo’lsa, o’tin ham shuncha ko’p bo’ladi. Ishlab chiqaruvchilar qurilmaning tuzilishida xotira boshqariluvchanligidan boshqarilmaydigan ko’rinishga va aksincha holatga o’tishda muammolar paydo bo’layotganini payqashdi. Shuning uchun C tiliga nisbatan ancha yaxshi bo’lgan yangi konsepsiya izlashga kirishildi. Lekin ishlab chiqaruvchilar C tilidan osongina voz kechib qo’ya olishmas edi. C tilida yozilgan juda ko’plab dasturiy mahsulotlar allaqachon butun dunyoga tarqalgan edi. Shuning uchun ishlab chiqaruvchilar C tilining imkoniyatlarini saqlab qolgan holda, zamonaviy talablar asosida yangi muhit ishlab chiqishdi. Ya’ni yangi C++ tili C tilining uzviy davomi bo’lib xizmat qildi. Oxir oqibat, aftidan, ishlab chiqaruvchilarning sabr kosalari to’ldi shekilli, C# nomi ostida butunlar yangi tilni yaratishdi. Bu dasturlash tili yangilikdan nishona beruvchi konsepsiya (OYD)ga asoslandi va C++ tilining imkoniyatlarini kengaytirdi. Biroq C++ tili ham qarovsiz qolib ketmadi, u ham o’sishda, rivojlanishda davom etdi (butun dunyoda hali ham ushbu dasturlash tilida bir qancha dasturiy mahsulotlar yaratiladi). Albatta, ko’plab dasturchilar yangi tilni o’zlashtirishga u qadar oshiqishmayapti. Bilamizki, har doim ham yuqori bosqichga o’tish bir qancha vaqtni talab qiladi.
Xususan, .NET Framework – bu muhitni joriy qilishni boshqarishdir, u ilova bilan ishlashda turli ko’rinishida xizmatlarni taqdim etadi. U ikkita asosiy komponentdan iborat: muhitning umumiy tilidan foydalanish (Common Language Runtime, CLR). Ushbu mexanizm ilovani joriy qilinishini boshqaradi va .NET Framework kutubxonalarini taqdim etadi. .NET Framework ilovalar bilan ishlashda quyidagi xizmatlar (aniqrog’i – servislar, yana ham aniqrog’i yordamchilar)ni taqdim etadi: