bugün

dot net

bir platformdur. c# gibi bir dil ile uygulama geliştirmişseniz, uygulamanın bir bilgisayarda çalışabilmesi için .net platformu önceden kurulu olması gereklidir. eski windows sürümlerinde sonradan kurulurken, windows 7'den sonra dahili olarak gelmeye başladı.

bünyesinde binlerce kütüphane barındırır. bu kütüphaneleri kullanmak için c#, f#, vb.net, ironruby, ... gibi bir çok dilden en az birini biliyor olmanız gerek.

aslında amacı şu; her dili ayrı ayrı geliştirmek yerine kütüphaneleri tek dilde geliştiriyorlar ve .net'e ekliyorlar. sonra siz örneğin c# yada vb.net falan kullanarak bu kütüphaneden faydalanıyorsunuz. ayrıca .net bir çok cihazda bulunduğu için tek dille her yerde çalışabilir uygulamalar yazabiliyorsunuz. yani ister laptop, ister tablet, ister windows phone işletim sistemli telefon yada compact versiyon kullanan cihazlara uygulama yazabilirsiniz. yada web sitesi geliştirebilirsiniz.

bünyesindeki bir çok dilden hangisini kullanırsanız kullanın yazdığınız kod önce MSIL (Microsoft intermediate language)'ye çevrilir (yada IL assembly'e çevrilir). bu çevirme işini siz yapmazsınız bunu compiler yaparki zaten bir çok ide'de bu arka tarafta yapılan bir işlemdir sizin uğraşmanız gerekmez. MSIL yani ortak dile çevrilince exe yada dll gibi bir çıktısı olur. şimdi örneğin exe'yi bir bilgisayara taşıdınız ve çift tıkladınız. hemen .net devreye girer bu exe içindeki MSIL kodlarını alır ve run time yani çalışma zamanında bunları makine kodlarına çevirir. Bu çevirme olayınıda aslında .net'e ait uygulama olan CLR (common language runtime) ve JIT (just in time) tarafından yapılır.

yani .net hem kütüphanelerini kullandığınız bir kaynak hemde yazdığınız kodları makine diline çeviren bir uygulamadır.

özet :
1 . c# ile kod yazıldı > derleyici ile derlendi > MSIL veya IL assembly ortak diline çevrildi > exe yada dll çıktı haline getirildi
2 . exe tıklandı > CLR devreye girdi ve JIT derleyicisini çağırdı > ortak dil makine koduna çevrildi ve işler yapılmaya başlandı

saygılar.