C# Nedir ? C# Temelleri

50’li yıllardan başlayı günümüze kadar gelen yazılım sektöründe her geçen gün yeni şeyler bulmak mümkün. Bunun sebebi insanlık tarih boyunca işlerini kolaylaştıracak ürünler çıkarmaya meğillenmiştir. Programlama ise 20. ila 21. yüzyılda insanların yaşamını basitleştirecek ürünler üretmek için kullanılan bir vasıta olmuştur.

C# Nedir ? C# Temelleri C# Programlama Yazılım

Günümüze kadar pek çok programlama dilleri geliştirilmiştir. Bunlar kullanılacak platformlara bakılırsa yada dil yapısına nazaran farklı alanlarda kullanılır. Tüm dillerden içinde özellikle nesnel programlama alanında iki programlama dili insanlık için oldukça önemlidir. Bu dillerin ilki ortak platform olarak çalıştırılabilen Java ikincisi ise .Net kütüphanesi ile entegre edilerek tüm dillerle ortak platformda programlanabilir ve rahat kodlama yapısı ile C# (CSharp) programlama dilidir.

Bu yazı C# programlama dili hakkında tüm teknik detaylar yer alacak şekilde hazırlandı. C# diline giriş yapacak olan kişiler yada C# dilinin tam olarak ne olduğunu anlamaya çalışanlamış olur için oldukça ideal bir kaynak olacaktır. Bu yazıda C# diline kısa bir giriş yaptıktan sonrasında C# nedir? Ne işe yarar?, sorusunun cevabını vereceğim. Ondan sonra ise C# ile neler yapılabilir? Sorusu içinde C# dili ile ne tür uygulamalar geliştirilebileceğini söyleyeceğim. Bu yazıdaki tek hedefim ise C#’a yeni süregelen bireylere birer rehber kaynak oluşturmaktır.

C# Programlama Diline Giriş
C# Nedir?
C#, yazılım sektörü içinde en sık kullanılan iki yazılım dili olan C ve C++  etkileşimi ile türetilmiştir. Ayrıca C#, birleşik alanlarda taşınabilir bir (portable language) programlama dili olan Java ile bir çok açıdan aynı özelliği barındırmaktadır. En iri özelliği ise .Net Framework platformu için hazırlanmış tamamen nesne yönelimli bir yazılım dilidir. Yani nesneler önceden sınıflar halinde yazılıdır. Programcıya yalnız o nesneyi sürüklemek ve ondan sonra nesneyi amaca uygun çalıştıracak kod satırlarını yazmak kalır.

Microsoft tarafınca geliştirilen C#, C++ ve Visual Basic dillerinde yer edinen tutarsızlıkları kaldırmak için geliştirilmiş bir dil olmasına karşın kısa süre içinde nesne yönelimli dillerin içinde en gelişmiş programlama dillerinden biri olmayı başarmıştır.

Ayrıca gelişmiş derleyicisi (debugger) ile hata mümkünlığını ortadan kaldırmaktadır. Yazılan program çalıştırıldıktan sonrasında derleyici tarafınca idraklanan sınıf (Class) ve söz dizimi (syntax) hataları yazılımcıya ayrı bir ekranda detaysı ile gösterilir ve yazılımcı bu hata penceresinden hataları tespit ederek kolayca düzeltebilir.

Ek olarak pek çok programcı tarafından kullanılan bir dil olmasından ötürü takıldığımız noktalarda uzman programcılardan yardım almak oldukça kolaydır.

.NET Framework Nedir?
C# ve .Net Framework bazı kişiler tarafınca tek bir kavram olarak idraklanmaktadır. Fakat bu iki kavram birbirlerinden tamamen farklı amaçlar için geliştirilmiştir. C#, nesne yönelimli bir programlama diliyken .Net Framework ise C# için geliştirilmiş bir çalıştırma ortamıdır. Aslında C# dili, Microsoft tarafınca .Net platformu için kod geliştirmek amaçlı tasarlanmış ve C# içindeki tüm kütüphaneler .Net platformu içinde tanımlanmış kütüphanelerdir.

Java’dan önce, geliştirilen yazılımlar makine koduna çevrilerek çalıştırılırdı. Java ise program kodlarını önce byte sayı sistemine çevirir. Hemen sonra Java Sanal Makinesi (JVMJava Virtual Machine) bu kodları işletim sisteminin istediği koda çevirerek programın çalışmasına sağlar.

.Net Platformu da Java diline benzer bir çalışma mantığı izleyerek kodları çalışabilir hale getirmektedir.

.Net platformunda, kod öncelikle Microsoft Intermediate Language (Microsoft Ara Dili) olarak isimlendirilmiş dosya haline dönüştürülür bu dosya içerisinde derlenen kodların Microsoft’un standart haline getirdiği bir assembly dili haline dönüştürür. Bu ara dil de saklanan dosyalar çalıştırılmak istendiğinde ise CLR isminde olan sistem MSIL kodlarını çalıştırır.

İlginizi çekebilir :  Jquery Lazy Load Javascript (Facebook Örnekli)

C# Dilinin Tarihçesi

C# Nedir ? C# Temelleri C# Programlama Yazılım

C# programlama dili, Microsoft tarafınca ECMA ve ISO standartlarında uygun olarak geliştirilmiş ara seviye bir programlama dilidir. ECMA ve ISO yazılım dünyasında diller konusunda standartları belirleyen en yetkin iki kuruluştur. Microsoft, her ne kadar ilk başlangıçta bu standartlar çerçevesinde geliştirmeye yeltense de C# 3.0 ile birlikte kendi standardını oluşturmuş ve dili tamamen .NET için geliştirmeye çalışmıştır. Tam anlamıyla herhangi bir firma ya da kuruma bağlı kalmaksızın, uygulama geliştiricilerin gereksinimlarını karşılamak için çok kullanışlı, güçlü ve strong typing (strongly typed) programlama dili üretmiştir.

Adının temeli C ve C++ dilinden gelir. C dilinde bir tamsayı değişkenin değerini artırmak için “++” operatörü kullanılır. Bu nedenle C dilinden sonra geliştirilen ve Nesne Yönelimli (Object Oriented) özellikleri taşıyan yeni dil için, C’nin bir fazlası anlamında C++ adı kullanılmıştır. C++’tan sonrasında geliştirilen C# dili ise adını; ((C++)++) ifadesinde artı işaretlerinin bir araya gelmesinden alır.

Bu dili tasarlayan ekibin başlangıcında Anders Hejlsberg bulunur ve C# dilinin geliştirilmesi ona atfedilir. Daha önce Pascal ve Delphi derleyicileri de tasarlamış olan Anders Hejlsberg; yeni geliştirdiği dilde, o devrin en yaygın ve en beğenilen Nesne Yönelimli dili olan Java’nın söz dizimini temel almıştır.

Bir programlama dili için ara seviye ifadesinin kullanılması, o dilin gücünden gelmez. Yazılım evreninde diller, makine diline ya da günlük konuşma diline yakın olmalarına bağlı olarak düşük, orta ve yüksek seviye diller olarak ifade edilir. Yüksek seviye diller günlük mevzuşma kalıplarına benzer söz dizimlerine sahiptir. C# hem makine diline, aynı zamanda gmeşhurk konuşma diline eşit seviyede yer verir ve bundan ötürü orta seviye bir dil olarak nitelenir. C# ile sadece .NET Framework üzerinde değil, DotGNU Portable.Net ve MONO benzer biçimde çatılar ile de yazılım üretilebilir.

C# dilinin tasarımındaki başlıca hedefler şunlardır:

  • Sıradan, çağıl, her tür kullanım amacına uygun ve nesne yönelimli bir dil olması,
  • Güçlü tipleme kontrolü, dizin sınırları kontrolü ve tanımlanmış değişkenlerin kullanım tespiti gibi özellikler barındırması,
  • Programcı uyumluluğuna haiz olması,
  • Sunucu ve gömülü sistemler için geliştirlmiş olması,
  • C, C++ ve Java dilini kullananların kolaylıkla alışabilecekleri şekilde geliştirmiş olması.

Devamlı geliştirilmekte olan C# dilinin her yeni sürümüyle beraber, o günün ihtiyaçlarının karşılanması ve geliştiriciler için daha gerah bir çalışma alanının sağlanması amaçlanmaktadır.

C# dilinin versiyonları ile .NET Framework sürümleri yakın olsa da aralarında önemli değişiklıklar vardır ve bunların birbirleriyle kıyaslanmaması lazımdır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir