Bilindik bir konu fakat eksik anlatımlar olduğunu düşündüğümden bende yazmak istedim.Bir çok internet kaynağında ve forumlarda hepsi aynı denmiş fakat nedenleri çok detaylı değil işte size biraz daha detay...
.Net sınıflarının atası System Object sınıfıdır.Bir sınıf olarak belirtilsin yada belirtilmesin tüm sınıflar System Object sınıfını otomatik olarak miras alırlar.Bu ortak ata sınıf gibi .Net içerisinde ayrıca birde Ortak Dil Sistemi bulunmaktadır -ki bu yapının bir diğer parçası olan CTS Ortak Tip Sistemi bulunur.CTS .Net uygulamalarında kullanılan tiplerin uyumlu olmaları sağlayan bir sistemdir.Ortak Tip Sistemi kısaca CTS aşağıda yazacağım tipler için ortak tanımlamaları içerir.
Class types (Sınıf pipleri)
Interface types (Arabirim tipleri)
Type members (Tip üyeleri)
Enumeration types (Sayılabilir tipler)
Delegates types (Delege tipler)
Intrinsic types,Primitive types (Temel tipler)
Bu ortak tiplere ayrıca temel tiplerede bakıldığında örneğin
System.Byte
System.Int32
System.String
System.Object
System.Char
ve diğerleride Ortak Tip Sistemi CTS içerisinde aynı tipi ifade etmektedir.Buna göre aşağıdaki şu farklı şekildeki tip tanımı doğru kabul edilebilir.
Örneğin:
int x = 12
System.Int32 x = 12
Temel tiplerin farklı programlama alternatiflerinin bir kaçına bakarsak
Görüldüğü gibi CTS Ortak temel tiplerin dil bağımsızlığı sağladığını buradan anlayabiliriz. .Net gerçekten dil bağımsızlığını büyük ölçüde kolaylaştırmış ve hatta programlama dilinin öneminide bir hayli azaltmıştır.Farklı derleyiciler ile üretilen kodun standartı .NET için tamamen aynıdır.Bu konuda bir önemli nokta daha verecek olursam , farklı dillerde yazılmış bir .Net Projesi MSIL yani (Microsoft Intermediate Language ) Ara kod yazıldıkları dilden bağımsız olarak IL kod optimizasyonu ile çalıştırılır.Böylece Asp.Net farklı platformlardaki ve farklı programlama dillerinin bağımsızlığı yukarda anlatmaya çalıştığım Ortak Temel Tipler ve IL ile birbirlerine üstünlük sağlayamazlar.
Csharp 'ın Visual Basic.Net'ten daha geçerli olduğunu düşünen ancak kulaktan dolma bir kaç şey duymuş ve bilişimi Facebook, teknolojiyide Twiteer sanan İnsan Kaynakları Uzmanlarından başkası olamaz :)
.Net sınıflarının atası System Object sınıfıdır.Bir sınıf olarak belirtilsin yada belirtilmesin tüm sınıflar System Object sınıfını otomatik olarak miras alırlar.Bu ortak ata sınıf gibi .Net içerisinde ayrıca birde Ortak Dil Sistemi bulunmaktadır -ki bu yapının bir diğer parçası olan CTS Ortak Tip Sistemi bulunur.CTS .Net uygulamalarında kullanılan tiplerin uyumlu olmaları sağlayan bir sistemdir.Ortak Tip Sistemi kısaca CTS aşağıda yazacağım tipler için ortak tanımlamaları içerir.
Class types (Sınıf pipleri)
Interface types (Arabirim tipleri)
Type members (Tip üyeleri)
Enumeration types (Sayılabilir tipler)
Delegates types (Delege tipler)
Intrinsic types,Primitive types (Temel tipler)
Bu ortak tiplere ayrıca temel tiplerede bakıldığında örneğin
System.Byte
System.Int32
System.String
System.Object
System.Char
ve diğerleride Ortak Tip Sistemi CTS içerisinde aynı tipi ifade etmektedir.Buna göre aşağıdaki şu farklı şekildeki tip tanımı doğru kabul edilebilir.
Örneğin:
int x = 12
System.Int32 x = 12
Temel tiplerin farklı programlama alternatiflerinin bir kaçına bakarsak
Csharp | VB.NET | Delphi.Net | |
System.Byte | byte | Byte | Byte |
SytemChar | char | Char | Char |
System.String | string | String | String |
System.Boolean | bool | Boolean | Boolean |
Görüldüğü gibi CTS Ortak temel tiplerin dil bağımsızlığı sağladığını buradan anlayabiliriz. .Net gerçekten dil bağımsızlığını büyük ölçüde kolaylaştırmış ve hatta programlama dilinin öneminide bir hayli azaltmıştır.Farklı derleyiciler ile üretilen kodun standartı .NET için tamamen aynıdır.Bu konuda bir önemli nokta daha verecek olursam , farklı dillerde yazılmış bir .Net Projesi MSIL yani (Microsoft Intermediate Language ) Ara kod yazıldıkları dilden bağımsız olarak IL kod optimizasyonu ile çalıştırılır.Böylece Asp.Net farklı platformlardaki ve farklı programlama dillerinin bağımsızlığı yukarda anlatmaya çalıştığım Ortak Temel Tipler ve IL ile birbirlerine üstünlük sağlayamazlar.
Csharp 'ın Visual Basic.Net'ten daha geçerli olduğunu düşünen ancak kulaktan dolma bir kaç şey duymuş ve bilişimi Facebook, teknolojiyide Twiteer sanan İnsan Kaynakları Uzmanlarından başkası olamaz :)
Sponsorlu Bağlantılar:
Yorumlar
Yorum Gönder