1.2-rasm. Eng mashhur dasturlash tillari
NET Frameworkni ishlab chiqish jarayonida sinf kutubxonalari dastlab "Simple Managed C" (SMC) deb nomlangan boshqariladigan kod kompilyator tizimidan foydalanib yozilgan. 1999-yil yanvar oyida Anders Xeylsberg Cool deb nomlangan paytda yangi til yaratish uchun guruh tuzdi, bu guruh "C ga o'xshash ob'ektga yo'naltirilgan til" degan ma'noni anglatadi. Microsoft "Cool" nomini tilning oxirgi nomi sifatida saqlashni o'ylab topdi, ammo savdo belgilariga bog'liq ravishda bunday qilmaslikni tanladi. .NET loyihasi 2000 yil iyul oyida Professional Ishlab chiquvchilar konferentsiyasida e'lon qilindi. Til C# nomini oldi va sinf kutubxonalari va ASP.NET ish vaqti C# ga ko'chirildi. Hejlsberg - C# kompaniyasining bosh dizayneri va Microsoft-ning yetakchi arxitektori va ilgari Turbo Paskal, Embarcadero Delphi (ilgari CodeGear Delphi, Inprise Delphi va Borland Delphi) va Visual J++ dizayni bilan shug'ullangan. Intervyularda va texnik ishlarda u ko'plab dasturlash tillarida (masalan, C++, Java, Delphi va Smalltalk) kamchiliklar Common Language Runtime (CLR) asoslarini yaratganini va bu o'z navbatida dizaynning asosini yaratganligini aytdi. C # tilining o'zi edi.
1994-yilda Java dasturlash tilini yaratgan Jeyms Gosling va Sun Microsystems asoschilaridan biri. Java-ning asoschisi Bill Joy C# ni Java-ni "taqlid" deb atadi. Gosling qo'shimcha ravishda " C # bu Java-ning ishonchliligi, mahsuldorligi va xavfsizligi bilan o'chirildi." Klaus Kreft va Anjelika Lanjer (C++ oqimlari kitobi mualliflari) blogida "Java va C# deyarli bir xil dasturlash tillari. Java yoki C# - bu dasturlarni yozish uslubimizni o'zgartirgan inqilobiy dasturlash tillari va C# Java-dan ko'p narsa olgan - va aksincha. 2000 yil iyul oyida Hejlsberg C# Java-klon emas va dizaynida C++ ga juda yaqin ekanligini aytdi. 2005 yil noyabrda C# 2.0 chiqqandan beri C# va Java tillari tobora ko'proq ajralib turadigan traektoriyalarda rivojlanib, ikki xil tilga aylandi. Ikkala tilga ham generiklar qo'shilishi va umuman boshqacha bajarilishi bilan birinchi muhim kelishuvlardan biri bo'ldi. C# klassifikatsiyasidan foydalanib, boshqa sinf singari ishlatilishi mumkin bo'lgan "birinchi darajali" umumiy ob'ektlarni taqdim etadi, bunda sinflarni yuklash vaqtida bajariladi. Bundan tashqari C# va C# 3.0 bilan chiqadigan LINQ kengaytmalari va lambda iboralari, kengaytma usullari va anonim turlarining qo'llab-quvvatlanadigan funksional uslubini dasturlash uchun bir nechta asosiy xususiyatlarni qo'shdi. Ushbu funksiyalar C# dasturchilariga amaliy dasturlash usullarini, masalan, ularni qo'llash uchun qulay bo'lgan hollarda, masalan, yopish imkoniyatini beradi. LINQ kengaytmalari va funktsional importlar ishlab chiquvchilarga ma'lumotlar bazasini so'rash, XML faylini tahlil qilish yoki ma'lumotlarning tuzilishini qidirish, o'qishni yaxshilashga qaratilgan diqqatni haqiqiy dastur mantig'iga o'tkazish kabi umumiy vazifalarga kiritilgan xaqiqiy kod miqdorini kamaytirishga yordam beradi. Dastlab C# 1 ISO / IEC 23270: 2003 bo'yicha ko'rib chiqish uchun ISO JEC 1 / SC 22 qo'mitasiga taqdim qilingan, bekor qilingan va keyinchalik ISO / IEC 23270: 2006 bo'yicha tasdiqlangan.
Microsoft birinchi bo'lib C# nomini 1988 yilda C kompilyatsiyasini tayyorlash uchun mo'ljallangan C tilining varianti uchun ishlatilgan. Ushbu loyiha tugallanmagan, ammo nomi shu nom bilan davom etmoqda. "Csharp " nomi musiqiy notadan olingan, bu yerda sharp yozma notani yarim balandroq balandlikda qilish kerakligini bildiradi. Bu C++ tilining nomi bilan o'xshashdir, bu erda "++" o'zgaruvchini baholangandan keyin 1 ga ko'paytirish kerakligini bildiradi. O'tkir belgi to'rtta "+" belgilaridan iborat liguratsiyaga o'xshaydi (ikkiga bo'lingan panjara ichida), bu til C++ ning o'sishini anglatadi.
C# dasturi1990-yillarning oxirida ishlab chiqilib Microsoft NET ning bir qismiga aylandi. Al`fa versiya sifatida 2000 yildan boshlab ishlatila boshladi. C# bosh arxitektori butun dunyo dasturchilari ichida birinchilar qatorida turgan va butun dunyo tomonidan tan olingan Anders Hejlsberg bo`ldi. Uning 1980 yillarda chiqarilgan Turbo Paskal dasturi orqali ham tanishimiz mumkin.
C# bevosita C, C++ va Java bilan bog`liq. Chunki bu uchta til dasturlash olamida eng mashhur tillardir. Bundan tashqari profisanal dasturchilar C va C++ ni va juda ko`pchilik Java tilida ish yuritadi.
Microsoft korporatsiyasi o’zining oynalar bilan ishlovchi va dunyoda eng ko’p tarqalgan va juda ham ko’p foydalanuvchilar tomonidan ma’qullangan operatsion tizimi Windows uchun ishlab chiqqan Visual Studio (bundan so’ng VS deb
yuritiladi) muhiti ham faqatgina oynalar orqaligina ishlaydi. Unda mavjud barcha dastrulash tillari oynalarga bo’lingan va shu oynalar yordamida bir biriga bog’langan. VS yuklash uchun Start->program->Microsoft Visual Studio->Microsoft Visual Studio ketma-ketligini bajarish kerak.
Birinchi navbatda, VS yuklanganda Start Page muloqot oynasi ochiladi. Bu muloqot oynasida:
1. Recent Projects – avval ishlangan loyihalardan 6 tasi ekranda ko’rsatilgan bo’ladi , ularni ustiga sichqonchaning chap tugmasini ikki marotaba bosish orqali ishga tushirish mumkin , shu bo’limning pastki qismida Open : Projects va Create: Projects bandlari bo’lib , open bandi orqali xotirada mavjud bo’lgan loyihani qayta ochish imkonini beradi , create bandi orqali esa yangi loyiha yaratish mumkin.
2. Getting started – loyiha yaratish va shu muhit haqida ma’lumot olish imkonini beradi.
3. Visual Studio Headlines – sizning shu muhitda ishlayotganingiz uchun uning mualliflari tomonidan bildirilgan minnatdorligi ko’rsatilgan.
4. Visual Studio Developer News – bu asosiy qismda VS ustida qanday o’zgarishlar olib borilayotgani yoki olib borilgani haqida ma’lumot beriladi.
.NET Framework haqida
.NET Framework deb platforma mustaqil izohlarni rivojlantirish va bajarishni qo‘llab-quvvatlovchi muhitni talqin qilsa bo‘ladi. U dasturlashning turli tillari izohlarida birgalikda ishlash imkonini beradi, shuningdek Windows uchun umumiy dasturlash modellari va dasturlar o‘tkazuvchanligini ta’minlaydi. Ta’kidlash kerakki, .NET Framework Windows platformasi tomonidan chegaralanmagan va ushbu platforma uchun yozilgan dasturlar kelajakda boshqa platformaga o‘tkazilishi mumkin.
C# tili .NET Framework ning ikki muhim tashkil etuvchilaridan foydalanadi. Birinchi – bu tilning ijro etish muhitiga bog‘liq bo‘lmagan (Common Language Runtime, CLR), sizning dasturlaringiz ijrosini boshqaruvchi va .NET Framework texnologiyasining bir qismi hisoblanuvchi tizim, qaysiki dasturlarga o‘tuvchan bo‘lish imkonini beradi, bir qancha tillardan foydalanish bilan dasturlashni qo‘llab-quvvatlaydi va ma’lumotlarni uzatish xavfsizligini ta’minlaydi.
Ikkinchi tashkil etuvchi - dasturlarga ijro muhitiga kirish imkonini beruvchi .NET sinflar kutubxonasidir, masalan, ma’lumotlarni kiritish/chiqarish uchun foydalaniladi. Agar siz endigina boshlagan dastur tuzuvchi bo‘lsangiz, unda sizga sinf tushunchasi notanish bo‘lishi mumkin. Sal quyida biz sinflar to‘g‘risida batafsil to‘xtalib o‘tamiz, hozir shunchaki uqtirib o‘tamizki, sinflar dasturlarni tashkillashtirishga yordam beruvchi ob’ektga yo‘naltirilgan konstruksiya hisoblanadi. Hozircha sizning dasturingiz xususiyatlar, .NET sinflarining muayyan kutubxonasi bilan chegaralangan bo‘lsa, u .NET ijro muhiti qo‘llab-quvvatlanadigan barcha joyda ishlatilishi mumkin.
.NET kodi bajarilishi bilan tilga bog‘liq bo‘lmagan bajarilish muhiti (CLR) boshqaradi. U qanday ishlashini bayon qilamiz. C# dasturini kompilyatsiya qilganda, biz bajariladigan kodni emas, Microsoftning oraliq tili deb ataluvchi (Microsoft Intermediate Language, MSIL) maxsus psevdokoddan tashkil topgan faylni olamiz. MSIL tili konkret protsessorga bog‘liq bo‘lmagan tashiladigan ko‘rsatmalar to‘plamini aniqlaydi, ya’ni, mohiyati bo‘yicha, MSIL tashiladigan assembler tilini aniqlaydi. Oraliq Microsoft tili mazmunan Java bayt-kodiga o‘xshashligiga sizning diqqatingizni qaratmoqchimiz, ammo ularning orasida farq bor.
CLR tizimi oraliq kodni bajariladigan kodga dastur ishga tushirilgan vaqtda translyatsiya qiladi. MSILda kompilyatsiya qilingan ixtiyoriy dastur CLR muhiti realizatsiya qilingan ixtiyoriy operatsion tizimda ishga tushirilishi mumkin. Bu .NET Frameworkda dasturlarning tashiluvchanligiga erishilishiga yordam beradigan mexanizmning bir qismidir.
Oraliq Microsoft tili JIT kompilyatoridan foydalanilganda bajariladigan kodga aylanadi (ingl. just in time –kerakli vaziyatda) . Jarayon quyidagicha ishlaydi: .NET dasturi bajarilganda CLR tizimi JIT kompilyatorini faollashtiradi, qaysiki u MSIL ni mazkur protsessorning ichki kodiga aylantiradi, u ham bo‘lsa dastur qismlarining kodlari ehtiyoj bo‘lgandagina imkon darajasida aylantiriladi. Shunday qilib, sizning C# dasturingiz aslida ichki kod sifatida ijro etiladi, garchi u azaldan MSILda kompilyatsiya qilingan bo‘lsada. Bu degani, sizning dasturingizni ishga tushish vaqti amalda xuddi uning birdaniga ichki kodga kompilyatsiya qilinganiday, ammo bunda sizda MSILning ustunligi - dasturning tashiluvchanligi paydo bo‘ladi. Bundan tashqari, C# dasturini kompilyatsiya qilganda MSILga qo‘shimcha siz yana bitta berilganlarni tasvirlaydigan, dasturingiz tomonidan ishlatiladigan va sizning kodingizga boshqa kod bilan o‘zaro ta’sir qiladigan-metama’lumot komponentani olasiz. Metama’lumotlar MSIL joylashgan fayllarda saqlanadi. Aslida bu CLR muhiti, MSIL va metama’lumotlar to‘g‘risidagi bilimlar C# tilida dasturlash masalasining asosiy qismini realizatsiyasi uchun yetarli, qaysiki bu til ishni kerakli tarzda mustaqil ravishda tashkil qiladi.
New – yangi loyiha yaratish
Open – yaratilgan loyihani ochish
Close – joriy loyihani yopish
Close Solution – barcha loyihalarni yopish
Save Selected Items – belgilangan barcha loyiha qismlarini saqlash
Save Selected Items As – belgilangan qismlarni barchasini xohlagan tartibda saqlash
Save All – barcha dasturlarni saqlash
Export Template – dasturni arxivlash
Page Setup – sahifa sozlamasini o’zgartirish
Print – chop etish
Recent files – fayllarni qayta ochish
Recent Projects – loyihalarni qayta ochish
Undo – bajarilgan amallarni bir marotaba bekor qilish
Redo – oxirgi bekor qilingan amalni qaytarish
Undo Last Global Action – barcha qilingan amallarni bekor qilish
Redo Last Global Action – bekor qilingan barcha amallarni qaytarish
Cut – belgilangan qismni yoki komponentni qirqib, xotirada saqlab turish
Copy – belgilangan qism yoki komponentaning nusxasini xotirada saqlab turish
Paste – xotiraga qirqib yoki nusxalab olingan qism yoki komponentani belgilangan yoki ko’rsatilgan joyga qo’yish
Select All – barcha qismlarni yoki komponentlarni belgilab olish
Find and Replace – ma’lum qism yoki komponentani butun muhit bo’ylab qidiradi va o’zgartiradi
GoTo – ko’rsatilgan dastur qismiga o`tish
Code – Joriy dasturning kodini chiqarib beradi;
Open – Joriy dasturni ochib beradi;
OpenWith – Joriy dasturni xohlagan dastur yordamida ishlov berish imkoniyatini yaratadi;
Server Explorer – Server oynasi bo’lib, unda asosiy komponentalar joylashadi;
Solution Explorer – Obyektlar oynasi;
Class View – Loyiha elementlarini ko’rsatib beradi, uning yordamida yangi yoki qo’shimcha obyektlarni qo’shish, olib tashlash, ko’rinishini, tartibini o’zgartirish mumkin;
Code Definition Window – Obyekt kodlarini ko’rsatib beruvchi oyna;
Object Browser – Visual Studiodagi barcha obyektlar xususiyatlarini va ularni qo’llash usullari beriladigan oyna;
Error List – Xatoliklar oynasi bo’lib, dastur kompiliyatsiya qilinishidan oldin va keyin undagi xatoliklarni ko’rsatib beradi va unda namoyon bo’lgan har bir xatolikni ustida ikki marotaba sichqoncha chiqillatilsa xatolik bo’lgan joyga kursorni eltib qo’yadi;
Output –Dastur o’z ishlashi davomida qanday fayllarga murojaat qilishi , qanday fayllarni hosil qilishi, qaysi cs yordamida hosil bo’lishi va qanday qiymat qaytarishini ko’rsatuvchi oyna;
Properties Window – Xususiyatlar oynasi bo’lib, qaysi obyekt faol bo’lsa, shu obyektning xususiyatlarini bildiradi;
Toolbox – Komponentalar joylashgan oyna bo’lib, unda VS da ishlatish mumkin bo’lgan barcha obyektlar joylashtirilgan;
Find Result – Natijani o`qish oynasi bo’lib, uning yordamida dastur ishlatilganda berilgan qiymatlarda qanday natija olinishini ko’rsatib beradi;
Other Windows – boshqa qo’shimcha oynalar majmui bo’lib, bu haqda keyinchalik chuqurroq aytib o’tamiz;
Toolbars – panellar qo’yish yoki olib tashlash bandi bo’lib, unda barcha turdagi panellarni izlash mumkin;
Full Screen – VS butun ekran hajmida kattalashadi;
Property Pages – Sahifalar xususiyatlari oynasi.
Rename – dasturni qayta nomlash;
Extract Method – metodni qayd etish;
Extract Interface – Interfeysni qayd etish;
Remove Parameters–parametrlarni qayta ko’chirish;
Reorder Parameters – parametrlarni qaytarish.
Add Windows Form –Windows formasini qo’shadi;
Add User Control – foydalanuvchi boshqarishining boshqa usullarini qo’shadi;
Add Component – Yangi component qo’shadi (foydalanuvchi tomonidan tayyorlangan bo’lishi ham mumkin);
Add Class – yangi sinf (ma’lumotlar yoki formalar sinfi) ni qo’shadi;
Add New Item – yangi elementini qo’shadi (obyektning);
Add Exiting Item – yangi chiquvchi elementini qo’shadi;
Show All Files – barcha fayllarni namoyish etadi;
Console Properties – Consolning xususiyatlari.
Windows – Breakpoints, Output, Immedite Windows bandlarni o’z ichiga olgan bo’lib, bu oynalar yordamida ishlash imkonini beradi;
Start Debugging – Joriy loyihani komplyatsiya qilib, ishga tushiradi;
Start Without Debugging –Dasturni komplaytsiya qilib, bir necha komponentalarni birgalikda ishga tushiradi;
New Breakpoints – Yangi to’xtash nuqtalarini hosil qiladi. Bunda hosil bo’lgan nuqtalarni Shift+F5 tugmasi orqali bekor qilish mumkin;
Delete All Breakpoints – Barcha qo’yilgan to’xtash nuqtalarini bekor qilish uchun ishlatiladi.
Show Data Sources – Shu loyiha bilan bog’langan barcha ma’lumotlar bazalarini ko’rsatib beradi;
Add New Data Sources – Yangi ma’lumotlar bazasini qo’shish uchun ishlatiladi;
Schema Compare – Shu loyihada mavjud bo’lgan ma’lumotlar bazalari orasidagi barcha bog’liqliklarni ko’rsatib beradi;
Preview Data – Shu loyihadagi barcha ma’lumotlar bazalarini qidirish uchun ishlatiladi;
Refactor – Refaktor bandi bilan bog’liqlik o’rnatadi.
Align – Formaning joylashish koordinatlarini o’rnatish imkonini beradi. Bunda uning chap, o’ng, o’rta, past va yuqoridan chegaralash mumkin;
Do'stlaringiz bilan baham: |