Ne arayalım?

ARAMIZA KATILIN

BİZE ULAŞIN

Adres:

E-posta:

host/bin/bilisimlife.dll

iletisim@bilisimlife.net

.NET Ortamının Temel Özellikleri 26712671 okunma

02.12.2017

Programlama

Rserit

Yazılım uzmanlarının ağızlarından düşürmedikleri .NET ortamının bazı özellikleri var ki insana cazip gelen çözümleri sunuyor. .NET kütüphanesi geliştikçe daha fazla özellikler ekleniyor. Haliyle gelişmiş özelliklerine değil, şu anlık bu ortamın temel özelliklerine değineceğim.

Ara Kod Sistemi

C#’ta derlenen programın kodları hiçbir işlemci üzerinde görülmez. C#, .Net Framework kullanan makinelerde kodunu ona göre yorumluyor. Yani bazı uygulamaları yüklediğinizde sizlerden ek olarak framework istemesi bundandır.

Not: C#’ta yazılan kod uzantısı .cs’dir.

Ara kod ne demektir? Normal şartlar altında C++, C, Pascal gibi diller doğal kod olarak makine tarafından doğrudan çalıştırılır. Yani derleyici kod yapısı, makine işlemcisine uygun kod derler. Gel gelelim .NET ortamında yazılan bir uygulamada makine işlemcisine bakılmadan ara kod sistemi uygulanır. Çalıştırılabilir uygulama yazdığınızda (uzantısı .exe olarak derlenilen), içerisinde makine kodları değil; standardize edilmiş ara kodlar bulunur. Bunlara Intermadiate Language denilir.

Içerisinde ara kod bulunan uygulama çalıştırıldığında .NET ortamı işin içine girer, kodları işlemci diline göre yorumlar. Bunları kafasına göre yapmıyor. Microsoft bizler için .NET Framework’u her yeni sürümde her işlemciye göre ara kodları yazıyor.

.NET içerisinde arakodu yorumlarak çalıştıran mantıksal bölüm vardır. Bu bölüme CLR (Common Language Runtime). Java’da da bulunuyor, orada ise JVM yani Java Virtual Machine olarak adlandırılıyor).

Başında söylediğim gibi, uygulama çalıştırığında ara kodun yorumlanması için .NET devreye giriyordu, işlemciye göre yorumlama yapıyordu. Bu aslında bir performans düşüklüğüdür. Bunun dezavantajı da budur. Direk çalışan bir uygulama ile yorumlanarak çalışan uygulama tabi ki aynı tutulamaz. Microsoft bu açıdan %18’lik performans eksikliği görmüş.

Ara kodun bir süreci vardır. Bu süreç şöyle anlatılır, .cs’li dosyayı ara kod JIT derleyici olarak çalıştırılabilir kılar. JIT derleyicisinin görevi gereği program parçalarının her birinin ihtiyacını MSIL (ara kod) ya da IL’i yerel dile çevirir.

Kısacası ara kodun doğal koda çevrilme işlemine JIT işlemi denilir.

Language Interoperability (Diller arası Entegrasyon)

Bir uygulama geliştirdiğinizi düşünün. Sizler kafanızdaki projeyi istediğiniz dille yazabilirsiniz. Kafanız karışabilir, yani siz projenizi bir araya getirmek isteseniz de bu zor olabilir. COM (Component Object Model) dediğiniz bir model geliştirilmişti.  Ama bu modele bile ihtiyacınız olmadan .NET ortamında problem kalkıyor. .NET’te bu dillerin ara kod karşılıkları yazıldığı için COM’a bile gerek kalmıyor. COM sistemine göre COM spesifikasyonu kullanılması zorunlu kılınıyordu, halbuki .NET ortamında birden fazla programlama diliyle yazılmış programlar bir arada çalışabilir.

COM sistemi sıkıcı geliyordu. Eski programcılar bilirler, programı COM kurallarına göre düzenlerlerdi. .NET ortamında kural yok ki, diller arası kordinasyon var.

.NET için yazılan tam 4 derleyici vardır. Bunlar: C#, VB.NET, C++ ve Java #.  C++ için iki farklı versiyon yazılmış. C++.NET ya da ISO C++.

Ortak Kütüphane

.NET’te her dile ait ortam bir sınıf kütüphanesi vardır. Ortak diyorum, her dilin ayrı kütüphanesi yok. Kütüphane kullanımı uygulama geliştirilmesinde etkilidir. Eğer ki bu sınıflardaki kütüphaneler etkili kullanılırsa bir problemle karşılaşılmaz.

Baş kısma using System dediğinizde kütüphaneleri kullanmaya başlıyorsunuz.

Örneğin veritabanı işlemlerini olacaktır, bu sınıfa biz ADO.NET diyoruz. Bu sınıfa bağlanmak için using.System.Data kütüphanesini kullanıyoruz, böylelikle veritabanı yönetimini yapıyoruz.

Aşağıdaki resimde Web Application geliştirirken kullanmış olduğum kütüphaneler görülmekte.

VS IDE

Visual Studio IDE’si bizlere derleyici haricindeki her şeyi sunar. Birçok programlama dilini görsele dökülmüş halidir. Bilindiği gibi IDE bir derleyici değildir. Ancak derleyiciyi çağırabilir.C# derleyicisi csc’dir. IDE üzerinde derleyici çağırıldığında csc çağrılır. Çağrılma seçeneği compiler olarak geçer.

IDE’yi bir örnek vererek daha iyi anlayacağız. Visual Studio aslında IDE’lerin görülmesi için sağlanan bir görsel yazılım. Örneğin .NET Framework 4.5 ortamı için Visual Studio 2012 IDE’si geliştirilmiştir. Kısacası bu ortamdan yararlanmak için geliştirilen görsel bir yazılım.

Aşağıdaki resimde Visual Studio 2008 IDE’sini görmektesiniz.

Bkz: IDE

.Net Framework kütüphanesi için: http://msndn.microsoft.com/tr-tr/library/default.aspx

.NET mimarisinin temel özellikleri böyledir. Bu gibi bilgiler tercih yaparken bizlere sunulan avantajları gösterir ve .NET bizlere anlattıklarımdan daha fazlasını sunuyor.

Recep ŞERIT



BİR YORUM YAZIN