Yazılarım    
.NET’in Gelişimi ve Getirdiği Yenilikler
Yazar Mustafa Çelikpençe Eklenme Tarihi 19.06.2007 Okunma Sayısı 1127

Bilgisayarların kullanımının yaygınlaşması, eskiden yüksek fiyatlarla alınabilen, şirketlerde sunucu (server) olarak kullanılan bilgisayarların artık son kullanıcılar tarafından alınabilecek kadar ucuzlaması; günümüzde hızla değişen hayata ayak uydurabilmeleri için daha fazla yatırım yapmalarını gerekli kılmaktadır. Öyle ki değişen zaman şartlarında, bilişime daha fazla yatırım yaparak, iş süreçlerinin hızlandıran ve kendi sistemlerini kurabilen şirketler, gelecekte ayakta kalmayı başarabilecektir.

Donanımın hızla gelişmesine paralel olarak, yazılım dünyası da hızlı gelişmiş, bundan birkaç sene öncesine kadar adını bile duymadığımız teknolojiler, hayatımızın bir parçası haline gelmiştir.

Ülkemizde üniversitelerde yazılıma giriş için derslerde Fortran, Cobol gibi diller kullanılmakta iken, yavaş yavaş bu diller unutulmaya başlamış; Basic, Visual Basic, C ile devam eden süreç günümüzde web teknolojilerine doğru kaymaya başlamıştır. İşte bu web teknolojilerden biri de, web programlamayı nesne tabanlı (Object Oriented) programlama dillerinde olduğu gibi derlenebilir, hata ayıklanabilir hale getirerek, “web programcılığı” mantığını tamamen değiştiren ve kolaylaştıran .NET teknolojisidir.

2000 yılında başlayan Microsoft .NET teknolojisi, geçen yıllar içinde Microsoft’un da bu teknolojiye büyük önem vermesi ve kaynak ayırmasıyla hızla gelişmiş; .NET 1.0, .NET 1.1, NET 2.0 derken 2006 yılında .NET 3.0 a kadar ilerlemiştir. Windows Vista ile birlikte .NET 3.5 geliştirilmekte olup, 2007 sonu itibarıyla çıkması beklenmektedir. Aşağıdaki tabloda yıllara göre .NET versiyonlarının gelişimi görülmektedir.

.NET Web Programcılığı’na yeni bir bakış açısı getirmesinin yanında, Windows tabanlı geliştirilen uygulamalarda da (Windows Application) farklılıklar getirmiştir.

COM, CORBA uygulamalarında, .exe uzantılı derlenen programların yanında, özellikle farklı .exe uygulamaları tarafından ortak kullanılabilecek fonksiyon ve prosedürler, .dll uzantılı (Dynamic Link Library) olarak kaydedilir. Hazırlanan program bir bilgisayara kurulurken, dll kayıt defterine kaydedilir. (Windows Register). Başka bir deyişle, hazırlanan dll dosyasının, örneğin muhasebe işlemleri ile ilgili prosedür ve fonsiyonlar içeren “muhasebe.dll” dosyasının başlık (header) bilgileri, Windows kayıt defterinde saklanır. Farklı yapı veya versiyondaki iki dll dosyası, aynı makineda register edildiğinde, dll çakışması oluşur. İşte bu tip yönetilemeyen kodlara, “Unmanaged Code” denilmektedir.

.NET ile birlikte dll çakışması sorunu giderildi. Artık hazırlanan dll dosyalarının başlık bilgisi, dll dosyasının kendi içinde yer almakta, herhengi bir makinaya kurulumu yapılırken ilgili klasörün kopyalanması yeterli olmaktadır. Windows register dosyasına yazılmasından vazgeçilerek, program kurulumu için özel işlem yapılması engellenmiş, bir makineda bir dll dosyasının aynı isimde birden fazla bulunabilmesine olanak sağlanmıştır.

Böylelikle hazırlanan kodun .NET Framework CLR (Common Language Run-Time : Ortak Dil Çalıştırma Platformu) tarafından yönetilebilmesi sağlanmıştır. Bu tip kodlara da Managed Code denilmektedir. .NET managed kodu ve Unmanaged kodu desteklemektedir.

.NET’te istenilen dilde C#, VB.NET.. yazılan kodlar derlenerek, ortak bir MSIL (Microsoft Intermediate Language) adı verilen yapıya dönüştürülür. Bu yapı ile dil bağımlılığı ortadan kaldırılmaya çalışılmış, herkesin istediği veya en iyi bildiği dilde program geliştirilmesi sağlanmıştır. Dilden bağımsız olarak derlenen projeler, ortak bir MSIL yapısına dönüştürüldüğü için, proje farklı programlama dillerinde yazılmış programlardan oluşabilir.

Hazırlanan uygulamalar ilk çalıştırıldığında, JIT (just-in-time) Derleyici tarafından derlenerek Native koda çevrilir. Bu yüzden programların ilk çalıştırılmaları, daha yavaş olmaktadır.

Yukarıdaki örnekte 32-bit ve 64-bitlik iki farklı makinaya, .NET ortamında geliştirdiğimiz uygulamayı kurduğumuzda, her iki makinada da uygulama ilk çalışırmada, JIT Derleyici tarafından, 32-bit ve 64-bit mimarisine uygun olarak native koda çevrilir.

Bu yazımızda, .NET’in gelişimi, Windows ve Web uygulamalarına getirdiği yenilikler ve .NET’in altyapısı üzerinde durarak,; farklı dillerde yazılabilen kodların .NET ortamında nasıl birleştirildiği ve uygulamaların .NET Framework üzerinde nasıl çalıştığına değindik.

Sonraki makalelerde, .NET 2.0 ile gelen yenilikler üzerinde duracağız.

YORUMLAR
YORUM YAZ
Adı Soyadı *  
E-Mail  
Yorum *  
Copyright 2007 Mustafa Çelikpençe   Designed by Celikpence