C#

C# nədir?, .NET Framework nədir?, C# varsa .NET Framework nə üçün ehtiyacımız var? C# və .Net Framework -in nə əlaqəsi var?. Biz bunların birini istifadə etsək bizə bəs etmir?. Bu suallar bir çox yeni başlayanları düşündürür. Ona görə də bu məqaləni yazmağa qərara gəldim.

C# və .Net Framework bəzi şəxslər tərəfindən tək bir anlayış olaraq qəbul edilir. Amma bu iki anlayış bir birindən tamam fərqli məqsədlər üçün yaradılmışdır. C# bir proqramlaşdırma dilidirsə .NET Framework bir platformadır. C# da yazılmış proqramlar bu platforma üzəridə işəyir kimi anlamaq olar. .NET Framework tək C# ilə limitlənməyib. .NET Framework ilə biz C# dan başqa bir neçə proqramlaşdırma dilindən də istifadə edə bilərəik. Bunlara misal olaraq F#, VB.NET göstərmək olar.

C# nədir?

C# tip-güvənli(type-safe), obyekt yönümlü bir proqramlaşdırma dilidir. Bu dil C dili ailəsinin bir üzvüdür. C# sintaksisi C++-nin bir çox mürəkkəbliyini asanlaşdırır və bizə bir çox güclü xüsusiyyətlər verir. Siz bu dili istifadə edərək Desktop, Veb, Mobil, Oyun və s. proqramlar hazırlaya bilərsiz.

Bütün proqramlaşdırma dillərində olduğu kimi  C# dilində də yazılmış porqramlar kompüterdə işləməsi(icra olunması) üçün mütləq şəkildə həmin dildə yazılmış kodlar maşın dilinə(0,1) çevirilməlidir. C#-da yazılmış kodlar isə bir başa maşın dilinə deyil aralıq bir dilə CIL(Common Intermediate Language)-ə çevrilir. Bu çevrilmə prosesinə compile deyilir. Compile xüsusi compiler adlandırdığımız proqram vasitəsi ilə həyata keçirilir. Compile olunmuş kod assemblies adlandırdığımız fayıllar şəklində saxlanılır. Bu faylların uzantısı .dll və ya .exe olur. Bu proqramın işləməsi üçün isə bu aralıq kodun maşın dilinə çevrilməsi lazımdır. Bu prosesdə bizə .NET Framework kömək edir.

.NET Framework nədir?

.NET Framework Microsoft tərəfindən hazırlanmış müxtəlif tipli proqramlar yaratmaq üçün bir platformadır. İlk versiyasi 2002 ci ildə buraxılmışdır və .NET Framework 1.0 adlanırdı. İndi artıq sonuncu versiyasi 4.8 -dir. Hər bir versiya özündən əvvəlki versiyanı support edir. Yəni əgər sizin .NET Framework -in köhnə versiyasi üzərində hazirlanan proqramınızı varsa həmin proqram həmin versiyadan daha üst versiyalarda da işləyəcəkdir. Deyək ki sizin .NET Framework 2.2 versiyasinda yazımış proqramınız var. Siz həmin proqramı 2.2 dən sonraki istənilən versiyada da işlədə bilərsiniz.

.NET Frameworkinin arxitekturası

.NET Framework iki hissədən ibarətdir

CLR(Common Language Runtime) nədir?

Gəlin CLR öyrənməmişdən qabaq bizə niyə lazım olduğuna baxaq. C# dan əvvəl C dili ailəsinin iki üzvü C və C++ var idi. Proqramistlər bu dillərdə kod yazdıqdan sonra compile etdikdə bu kodlar bir başa kompüterlərin anlayacağı dilə (0 və 1) çevirilirdi. Deyək ki, biz 1111(şərti) arxitekturalı prosessorlu windows kompüterdə C++ dilində proqram hazırladıq. Compiler kodu bu kompüter üçün maşın dilinə çevirəcək.Amma başqa arxitekturalı prosessorlar və başqa əməliyyat sistemləri var. Bu proqram digərlərində işləməyəcək. Bu problemi aradan qaldırmaq üçün Microsoft C# dili və .NET Framework platformasın hazırladı. C# da yazılmış kodu compile edən zaman bu kod bir başa maşın dilinə deyil CIL koda çevrilir. Bundan sonra CLR bu kodu maşın dilinə çevirir. Bu prosesə isə JIT(Just-in-time compilation) deyilir.

JIT-in üç növü var.

  1. Pre-JIT
  2. Econo-JIT
  3. Normal -JIT
Kodun maşın dilinə çevirilmə prosesinin təsviri

Bundan başqa CLR digər xidmətlər də göstərir. 

Thread management – Kodun paralel icarsi Threading adlanır. Thread sayəsində biz bir birindən asılı olmayan bir neçə işi eyni zamanda paralel işə sala bilirik. Bu isə bizə proqramın sürətli işləməsi və prosesin tez bitməsi üçün lazımdır.

Garbage collection – Avtomatik yaddaş idarəetmə xüsusiyyətini təmin etmək üçün istifadə olunur. Proqramda əvvəl yaradılmış amma daha lazım olmayan məlumatları yaddaşdan silir. Bu bizi çox böyük işdən qurtarır. Amma bu o demək deyil ki biz proqramı kodlarşdıran zaman yaddaşın idarə olunmasına diqqət ayırmayaq. Proqram hazırlayan zaman biz özümüz də yaddaşın düzgün şəkildə istifadə olunmasına diqqət etməliyik.

Exception handling – Proqramın icarsı zamanı xətaların idarə edilməsi üçün istifadə olunur. Proqramın icarsı zamanı xəta çıxarsa və catch bloku varsa həmin bloku işə salır və xətanı ora gördərir. Əgər catch bloku yoxdursa proqramı sonlandırır.

Debug manager – Kodumuzu sətir bə sətir icra edib xətaları aşkar etməyə imkan yaradır.

Class Library

Biz C# da proqram hazırlamaq üçün müxtəlif kitabxanalardan istifadə edirik. Bunlar bizə çox böyük funksionallıq yaradır. Bunlar misal olaraq Dəyər tipləri,  class-lar, Interface-lər, enumlar, delegatelər, lamda ifadələr və s. göstərmək olar. Müxtəlif dəyişən tiplərindən istifadə edə bilirik. Fayllardan məlumat oxuyub və fayla məlumat yaza bilirik. Bu imkanları bizə .NET Framework Class Library yaradır.

Bir cavab yazın

Sizin e-poçt ünvanınız dərc edilməyəcəkdir. Gərəkli sahələr * ilə işarələnmişdir