4 Temmuz 2013 Perşembe

C#'a Kısa Bir Giriş İsteyen

Günümüzde kullanılan C# diline göre çok gelişmemiş olan bu dile o kadar ısınmıştık ki artık uygulamalara yetişemez olduk. C çok eskiden çıkan bir dil fakat gelişimi ve insanların ona yetişmesi çok hızlı idi. Sırasıyla C,C++,C# ben buna 3D diyorum yani 3 dev demekle yetiniyorum. C dili bir çok dilin temeli veya üstünde bir dil. Hemen hemen her alanda kullanılmaktadır. Mesela Javascript,ActionScript... En önemli olan uygulama alanı ise Windows ve Linux gibi güçlü bir işletim sistemlerinin C de yazılmasıdır. C dilinin uygulama alanları sadece saydıklarımla sınırlı değildir ama bu alanların hepsini burda listelemem mümkün değildir.
.NET Framework, programcılara aşina olduğu kod dilini kullanma özgürlüğü tanıyarak bir devrim gerçekleştirdi. Ve, belli belirtimlere sadık kalındığı sürece, farklı dillerle yazılmış uygulamaların birbiriyle etkileşebileceğinin de teminatını verdi.

Evet, .NET diller arası etkileşime olanak tanıyan, bir çok dile destek veren bir platform. Üçüncü parti derleyiciler yazılarak .NET için her an yeni bir dil daha yazılabilir. Ama herşeyden önce, .NET'in beraberinde sunduğu dillere bakmak gerekiyor. Bu diller temel olarak 4 tane: C++, Visual Basic .NET, C# ve J#.NET. Dikkat edilirse bu listede, "ben yeniyim" diye göz kırpan bir tanesi var : C#. Yazımızda, bu yeni dili tanımaya çalışacağız.
C# (si şarp) herkesin dile getirmiş olduğu gibi C++ ve Java ‘nın birleşmesiyle oluşmuştur. Henüz nasıl bir birleşme şekli olduğuna dair tam bir fikrim yok ama C# mükemmel bir kütüphaneye sahip. Bu kütüphaneye ufak bir göz aşinalığımız olacak ama ilerideki yazılarımızda diğer dillerden büyük bir farkı olan esnek bir yapıya sahip olmasını inceleyeceğim. Nedir bu esneklik? Yani Program yazarken "of be bu dilin de bu özelliği yokmuş" dediğimiz anlar olmuştur. C ile de şüphesiz nesnel programlama yapabiliriz. Fakat bunu yapabilmek oldukça zordur. C++ ise Nesne yönelimli programlamaya imkan vermekten öte zaten bu paradigmaya göre tasarlanmıştır ve yapısındaki araçlar sayesinde bunu kolaylaştırmıştır. İşte C- C++ arasındaki fark bu peki C#'ın özelliği nedir?
Nesne yönelimli programlamanın günümüzde ne kadar yaygın olduğunu programlama ile ilgilenen herkes bilmektedir. Nesne Yönelimli Programlama (NYP) yaklaşımında temel olan prensiplerden birisi bilgi gizleme (information hiding)'dir. Bu prensibi projelerimizde uygulamak için C#'in sunduğu en önemli araçlardan biri olan sınıf özellikleri (class properties) konusunu inceleyeceğiz.
Bildiğiniz gibi, C# dilinde tasarlanmış bir sınıfta iki temel unsur bulunur. Birincisi sınıfın özellikleri (fields), ikinicisi ise sınıfın metodlari (methods)'dır. Herhangi bir sınıfın özellikeri sınıfta tutulan ilişikili verilerlerdir. Diğer taraftan sınıfın bizim için değişik işleri yapmasını metodları vasıtasıyla sağlarız. Sınıf tasarımı çok önemli bir iş olup; deneyim, konsantrasyon ve dikkat ister. Sınıfımızın özelliklerini tutan veriler, program akışı sırasında sınıf dışında değiştirilebilir veya bu değerlere ulaşmak istenilebilir.


Hiç yorum yok:

Yorum Gönder