C# yani diğer adıyla C Sharp nedir? C#, Microsoft tarafından geliştirilen bir programlama dilidir. Programlama dilleri arasında en çok tercih edilen C ve C++ ile etkileşimli şekilde geliştirilen ve modern bir kodlama sahip olan C#, birçok platform destekleyen Java dili ile de oldukça fazla benzerlik gösteriyor. Bu benzerliklerden en önemlisi ise .NET Framework platformunda nesnesel bir dil olması.
C# her ne kadar önceleri C++ ve Visual Basic dillerindeki tutumsuzluk ve oluşan sorunlar yüzünden geliştirilmiş olsa da şu anki stabilitesi sayesinde, bu iki programlama dilinin önüne geçmiş durumda. Yazılımcıların en çok tercih ettiği dillerden birisi haline gelen C#, sunduğu gelişmiş hata giderme (debugger) özelliği sayesinde de yazılımcıların işlerini bir hayli kolaylaştırıyor.
Debugger özelliği için class yani sınıflandırma yöntemi kullanan C#, "syntax" hataları yani dizinlerdeki hataları yazılımcıya ayrı bir ekranda göstererek yazılımcının bu hataları kolayca tespit etmesini sağlıyor. Ayrıca yazılımcılar tarafından oldukça çok tercih edildiği için de internette kaynak yani C# dersleri oldukça fazla.
C# için gereken ".NET Framework" nedir?
C Sharp kodları, C++ ve Visual Basic kodlarından farklı algoritmaya sahip olduğu için yazılımın kodlarını direkt olarak derleyemiyor. C#, kodları yazılım olarak iki aşamada derliyor. MIL derlemesi denilen bu aşamalardan ilkine Assembly deniliyor. İkinci aşamadaki uzantısı ise .EXE oluyor. C# ile geliştirilen bir yazılım bu halde iken sistemler tarafından çalıştırılamadığı için devreye .NET Framework giriyor.
Yine Microsoft tarafından C# için geliştirilen .NET Framework, Microsoft Intermediate Language (MIL) olarak derlenen kodları tekrar derleyerek, uygulamayı sistemlerin yani bilgisayarların çalıştıracağı hale getiriyor. Yani kısaca .NET Framework, bir tür tercümanlık görevi üstleniyor. C# programlama dilini bilgisayarımızın anlayacağı şekilde tercüme ediyor.
Peki neden Java, Visual Basic, C++ gibi programlama dilleri .NET Framework’e ihtiyaç duymuyor? Çünkü bazı diller kodları direkt olarak sistem dillerine çevirebiliyor, bazı dillerin de kendi bünyesinde bu işe yarayacak arayüzleri var. Mesela Java dili kodları önce byte denilen sayılara çeviriyor, bu sayıları da Java Virtual Machine dediğimiz bir sanal makinede derleyip bilgisayarların anlayacağı hale getiriyor.
C Sharp kısa tarihçesi:
İlk olarak Anders Heljsberg ve ekibi tarafından 2000 yılında geliştirilmesine başlanan ve 2002 yılında da C# 1.0 olarak yayınlanan C Sharp programlama dili, o günden beri Windows’un desteği ile geliştirilmeye devam ediliyor. İlk yayınlandıktan sonraki 10 yılda 5.0 sürümüne güncellenen ve orta sınıf olarak nitelendirilen C#, özellikle modern sistemlere uygunluğu ile de yazılımcılardan tam not almış durumda.
Şu anda yeni bir algoritma mimarisi üzerinde çalışan Microsoft, bu sayede C# diline güncellemeleri çok daha kolay şekilde getirebilecek.
C Sharp ile neler yapılır?
C# programlama dili ile hayal ettiğiniz her şeyi yapabilir, kodlayabilirsiniz desek herhalde doğru olacaktır. Zira tasarımda ve yazılımda hayal dünyasının sınırı yoktur. C# programlama dili de en modern dil olduğu için yazılımcılara hayalindeki her şeyi programlama imkanı tanıyor. Peki C# ile hangi platformlarda neler kodlanır?
- Web Web Uygulamaları (Asp.NET)
- Mobil uygulamalar
- Web servisleri uygulamaları
- Konsol uygulamaları
- DLL yazma
- Windows Form Uygulamaları
- Oyun tasarlama
Web Web Uygulamaları (Asp.NET):
C# ile Asp.NET yazılabildiği için web tasarımcılar da genellikle bu dili kullanıyorlar. Asp.NET kullanılarak oluşturulan bir web uygulaması içerisinde onlarca Asp.NET web uygulaması barındırabileceği için C# ile kodlamak hem rahatlık hem de uygulamaları derleme açısından çok kolaylık tanıyor. .XML biçimindeki bu dosyalar, web sayfası ve uygulamalarının tüm temel ve teknik bilgilerini içerebilir.
Mobil uygulamalar:
Her ne kadar artık Windows Phone kalmamış olsa da yine de belirtmek istedik. Xamarin sayesinde C# programlama dili ile Windows Phone için mobil uygulama geliştirebilirsiniz. Yine de bunu pek tavsiye etmiyoruz, çünkü Windows Phone'un fişi çekildi. Bir umut, Microsoft'ın Surface Phone adını verdiği akıllı telefonlar piyasada tutarsa, o zaman tekrar gündeme gelebilir. Bir bakın, bilginiz olsun yeterli desek yeridir.
Web servisleri uygulamaları:
C# ile kısaca web sayfası servisleri ile alakalı uygulamalar geliştirebilirsiniz. Bu geliştirdiğiniz web servis uygulamalarını ise FTP veya XML veri transferleri sayesinde web sayfa ve uygulamalarına aktarabilirsiniz.
Konsol uygulamaları:
Bu özellik sayesinde ise yazdığınız Windows tabanlı çalışacak uygulama kodlarınızı CMD ekranı sayesinde bilgisayarınıza tanıtabilirsiniz.
DLL yazma:
C Sharp programlama dilinin DLL yazma özelliğini söylemeden önce dilerseniz DLL nedir sorusunun cevabını verelim. Açılımı Dinamic Link Library olan DLL’nin Türkçe karşılığı ise dinamik kod kütüphanesidir. Peki bu ne demek? Mesela diyelim ki C# ile bir tür yapı oluşturdunuz ve bu yapının çalışabilmesi için ise sürekli kendini tekrar ederek çalıştırılması gereken bir kod satırı var.
Döngü olacağı için bu kod satırını sonsuza kadar yazamazsınız, değil mi? İşte burada DLL yardımınıza koşuyor. Bu gereken kod satırlarını DLL içine yazıyoruz ve uygulamamız ne zaman bu kodlara ihtiyaç duyarsa DLL’yi çağırarak gereken kodları istiyor.
Windows Form Uygulamaları:
İngilizce anlamı Graphical User Interface (GUI) olan bu uygulamalar ise, bilgisayarımızda çalışacak grafik arayüzlü programlara deniliyor. Yani mesela Steam bir grafik arayüzü bulunan uygulama olduğu için Windows form uygulaması kategorisine de giriyor.
Oyun tasarlama:
Unity dahil hemen hemen bütün oyun motorları C# desteklediği için oyun tasarlamada da kullanılabiliyor. Bu dillerle tasarlanan oyunların çoğu, aslında günümüzdeki popüler oyunlar arasında yer alıyor. Yani eğer bir oyun tasarımcısı olmak istiyor, görsel değil de işin teknik tarafını merak ediyorsanız C Sharp bilmeniz şart. Elbette piyasada alternatifler var. Ancak işin temeli C Sharp.
Evet, C Sharp hakkında bütün sorulara yanıt vermeye çalıştık. Siz de yazılım dünyasının detaylarını merak ediyorsanız, Webtekno'yu takip etmeye devam edebilirsiniz.