|
.NET Teknolojilerine Giriş |
|
Gönderiliyor lütfen bekleyin... |
|
|
Günümüzde bilgisayar dünyasında
internet olmazsa olmaz derecede önemli bir yer edinmeye başladı. Artık insanlar
ev ve işyerlerinde kullandıkları uygulamalarına da internet üzerinden erişip
kullanmak istiyorlar. Bu internetin getirdiği özgürlüğün kaçınılmaz bir sonucudur.Peki
yazılım dünyası buna hazırmıydı? Geliştirilen her programı kolayca internet
ormanında da çalıştırabilirmiydik? Bu soruların cevapları bir sene öncesine kadar
hayır, olamaz veya şu andaki sistemler bu denli özgürlüğü bize sağlamıyor türündendi.
Microsoft'un ASP'si ile veya PHP ile yapılan uygulamalar
tam olarak insanların isteklerine cevap veremiyordu. Her ne kadar iyi
ve gelişmiş web uygulamalarını bir yere kadar yapabiliyorduksa da belirli
bir noktadan sonra C++,Delphi veya VB ile geliştirdiğimiz modülleri web uygulamamıza
ekleyerek sorunlarımızı halletmeye çalışyorduk. Tabi bu tür yöntemler programın
gelişme süresini uzatıyordu. Zamanın giderek önem kazandığı bir devirde haliyle
programlarımızı da hızlı bir şekilde geliştirmemiz gerekiyor(du). Hızlı uygulama
geliştirme(Rapid Application Development- RAD) geleneksel programlama araçlarıyla
ve prgramcının yetenekleriyle çözüm bulunacak bir mesele değil. Artık programlama
dilleri, dille birlikte gelen kütüphaneler ve bunlar hakkındaki dokümantasyonları
ile birlikte değerlendiriliyor.
.NET ile birlikte programcının hizmetine sunulan
3400'den fazla sınıf, modern anlamda çok güzel bir geliştirme ortamı sunuyor.
Bu sayede programlamları daha hızlı bir şekilde geliştirme imkanına sahip bulunuyoruz.
.NET kullanarak yazdığımız ASP.NET, Windows Forms veya mobil cihazlar için geliştirdiğimiz
bir uygulamayı birinden diğerine dönüştürmek işi çok kolay bir şekilde yapılabiliniyor.
Bu sayede aynı anda hem windows hem de web uygulamaları geliştirmek çok hoşunuza
gidecektir :-).
.NET
framework'unun bize sunduğu diğer güzel bir özellik ise platform bağımsızlığıdır. Artık yazdığınız
Windows uygulamaları sadece Windows yüklü sistemlerde değil, .NET framework'unun kurulu olduğu tüm platformlarda çalışabilecektir. Her
ne kadar şimdilik bu alt yapının sadece Windows versiyonuna sahip olsak da Linux grupları tarafından bu
alt yapının Linux versiyonunu çıkartma yönündeki çabalar uzun bir süredir devam etmektedir.
Peki
bunca hoş özellikleri bize sağlayan .NET alt yapısında
program yazarken hangi dili veya dilleri kullanmak zorundayız? Bu
konuda Microsoft çok radikal bir karar alarak gelecek için hazırlanmış yeni alt
yapıda Common Language Runtime (CLR) ile uyumlu her .NET dilini kullanmamıza
olanak sağlıyor. .NET ile gelen SDK'da C#,VB.NET ve Js.NET kullanarak program
yazabiliyoruz. Diğer taraftan 30'un üzerinde programlama diliyle .NET uygulaması
geliştirebilirsiniz.
CLR denen şey tam olarak nedir? .NET
altyapısında programların çalışmasını kontrol eden ve işletim sistemi ile programımız
arasında yer alan arabirimdir. Normalde yazdığımız programlar derlenirken
makine diline çevrilirdi ve program bu şekilde işletim sistemi ile direkt
bağlantı kurarak çalışırdı. Fakat platform bağımsız bir geliştirme ve yürütme
ortamı istiyorsanız ne olacak? İşte tam bu anda CLR devreye girer ve .NET
programlarını farklı platformlarda makineye ve işletim sistemine göre
programımızı çalıştırır. Normalde bir Windows, Linux veya MACOS kurulu sistemler aynı
programın kodunu çalıştıramazlar. Bu platformlar için programın ayrı ayrı yazılıp,
onlara göre hazırlanmış derleyicilerde derlenmesi gerekir. Dünyada çok sayıda
yaygın platform olduğunu düşünürsek, bunların herbiri için ayrı ayrı derleme işlemini
tek bir işletim sisteminde yapmamız imkansız gibidir. Bu durumda çözüm ,
ortak bir aradil kullanmak ve herbir platform için bu aradile çevrilmiş programın
kodunu çalıştıracak altyapıları hazırlamaktır.
Şimdi şu soruya sıra geldi: "İyi de .NET hangi aradili
kullanıyor?" Sorumuzun cevabı MSIL(Microsoft intermediate Language) .NET
platfomunda hangi dili kullanırsak kullanalım yazdığımız programın
kodu direkt olarak makine diline değil de MSIL'e çevrilir.
Bu sadece programı çalıştırdığımız
sistemde kurulu olan CLR çalışma anında MSIL kodlarını
çevirerek programımızı çalıştırır,
çalışma anında derleme işlemini ise JIT derleyicileri
(Just in Time compilers) üstlenir.
Gelecek makalemizde JIT'ler, MSIL language, CTS (Common Type System) gibi daha
teknik konuları detaylı olarak ele almayı düşünüyorum.
Sizlere kolaylıklar dilerim.
Makale:
.NET Teknolojilerine Giriş C#, Visual C# ve .NET Ahmet Faruk Nacaroğlu
|
|
|
-
-
Eklenen Son 10
-
Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor
|
|