C Sharp Nedir? C Sharp ile Neler Yapılabilir?
Microsoft tarafından geliştirilen programlama dili C#, modern algoritması ve orta seviye zorluğu sayesinde yazılımcıların ilk tercih ettiği dillerden birisi. Buna bende dahilim. Ben de bu makalemde hem yazılımcıların hem de yazılımcı olmak isteyenlerin merak ettiği sorulara cevap vermeye çalıştım. “C#” C Sharp Nedir;
Microsoft tarafından geliştirilen C#, yazılım sektörü içerisinde en çok tercih edilen C ve C++ ile etkileşimli şekilde geliştirilmiş olup modern bir kodlama dilidir. Ayrıca C# birçok platform destekleyen Java dili ile de oldukça fazla benzerlik gösterir. En büyük özelliği ise .NET Framework platformunda nesnesel bir dil olması. Yani nesneler önceden sınıflar halinde yazılıdır. Programcıya sadece o nesneyi sürüklemek ve sonrasında nesneyi amaca uygun çalıştıracak kod satırlarını yazmak kalır.
C#, C++ ve Visual Basic dillerinde yer alan tutarsızlıkları kaldırmak ve oluşan sorunlardan kaçmak için geliştirilmiş bir dil olsa da kısa sürede nesne yönelimli dillerin içinde en gelişmiş programlama dillerinden biri olmayı başarmıştır ve yazılımcıların en çok tercih ettiği dillerden birisi haline gelen C#, sunduğu gelişmiş Debugger “Hata Giderme” özelliği sayesinde de yazılımcıların işlerini bir hayli kolaylaştırmıştır.
Program çalıştırıldıktan sonra derleyici tarafından algılanan Class “Sınıf” ve Syntax “Söz Dizimi” hataları yazılımcıya ayrı bir ekranda ayrıntısı ile gösterilir ve yazılımcı bu hata penceresinden hataları tespit ederek kolayca düzeltebilir.
Ayrıca fazla popüler bir dil olmasından dolayı yaşadığımız sorunların çözümüne internetten ulaşmak çok kolay.
C Sharp Nedir ve Ne İşe Yarar?
Yeni nesil programlama dili olan C sharp programlama konusunda yenilikleri de beraberinde getirmektedir. C# sunucu ve gömülü sistemleri için tasarlanmıştır. Microsoft tarafından geliştirilen C# .NET ortamında kullanılmak üzere geliştirimiştir. Dilin tasarlanmasında Anders Hejlberg öncülük etmiştir. Zamanla gelişen bu programlama dili artık gerek masaüstü olsun gerek web uygulamaları olsun çoğu yerde kullanılmaktadır.
- Web Web Uygulamaları (Asp.NET)
- Mobil uygulamalar
- Web servisleri uygulamaları
- Konsol uygulamaları
- DLL yazma
- Windows Form Uygulamaları
- Oyun tasarlama
C# için Gerekli “.NET Framework” Nedir?
C# ve .Net Framework’ü bazı kişiler tek bir kavram olarak algılamaktadır. Fakat bu iki kavram birbirlerinden tamamen farklı amaçlar için geliştirilmiştir. C#, Visual Basic ve C++ kodlarından farklı algoritmaya sahip olduğu için kodlarını direkt olarak derleyemiyor. Bu kodlar iki aşamada derleniyor. 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 haliyle .NET Framework giriyor.
C# için geliştirilen .NET Framework, Microsoft Intermediate Language (MIL – Microsoft Ara Dili) olarak isimlendirilmiş dosya haline dönüştürülür, bu dosya içinde derlenen kodlar uygulamayı assembly dili haline dönüştürür. Yani bilgisayarların anlayabileceği hale getirir.
MIL’da saklanan dosyalar çalıştırılmak istendiğinde CLR adı verilen sistem MSIL kodlarını çalıştırır.

C# ile Neler Yapılabilir Windows Form Uygulamaları (Ado.Net)
İngilizce anlamı Graphical User Interface (GUI) yani Grafiksel Kullanıcı Arayüzü olarak tanımlanır. Kısacası bilgisayarımızda çalışacak grafik arayüzlü programlardır. Örnek vermem gerekirse UPlay, Adobe Photoshop gibi programlar bir grafik arayüzü bulunan uygulamalara örnektir ve Windows form uygulaması kategorisine girmektedir.
Windows Form uygulamasını oluşturmak için Toolbox “Araç Kutusu” adı verilen yerden nesnesel araçları sürükle bırak mantığıyla kolayca oluşturulabilirsiniz.
Daha güçlü grafiksel arayüzler geliştirmek istediğinizde WPF kullanmanız gerekmektedir.
Windows form uygulamasında veritabanı bağlantısı sağlamak için kullanılan .Net kütüphanesinin adı Ado.Net‘tir
Web Form Uygulaması (Asp.Net)
Web form uygulamaları Ado.Net yerine Asp.Net kullanır. Bu yüzden web tasarımcılar Asp.Net’ten dolayı genellikle bu dili kullanır. web Form Uygulamalarını temel olarak Windows Form Uygulamasına benzetebiliriz. Fakat aralarında bir kaç temel faklılıklar vardır. web Form uygulamaları sunucu üzerinden erişilebilen form uygulamalarıdır. Bundan dolayı uygulamalar kişisel bilgisayar yerine tarayıcı ile çalışmaktadır.
Asp.Net kullanılarak oluşturulan bir web uygulaması içerisinde bir yada birden fazla Asp.Net sayfası olabilir. Web formları, .Net kütüphanesinde özel etiketler içeren bir HTML sayfalarıdır. Web Formlarının uzantısı ise .aspx’tir. Ayrıca her web form uygulamasında web.config ile belirtilen bir yapılandırma dosyası vardır. Bu dosya XML biçimindedir.
Web Servis Uygulamaları
Kısacası veri iletimi için kullanılan sistemler diyebilirim. Web servis işlemlerinde veriler bir başka kullanıcıya gönderildiği için güvenlik ve adresleme gibi konular oldukça önemlidir. Microsoft, C#’ta web servisleri kullanımını güvenli kılan pek çok işlemler yapmaktadır. Bu geliştirdiğiniz web servis uygulamalarını ise FTP veya XML veri transferleri sayesinde web sayfa ve uygulamalarına aktarabilirsiniz.
DLL Yazma
C# dilinin DLL yazma özelliğinden bahsetmeden önce dilerseniz “DLL Nedir?” sorusunun cevabını verelim. DLL yani Dinamic Link Library’in Türkçe karşılığı dinamik kod kütüphanesidir. Peki bu ne anlama geliyor? Örnek vermem gerekirse C#‘ta bir kod yapısını sürekli kullanıyorsunuz ve bunun sonucunda sayfada hem kod karmaşası oluşucaktır hem de sürekli aynı kodları yazmak zorunda kalacaksınız. E birde işin zaman kısmı var kodlar tekrarlandığından(birden fazla yazıldığından aynı kod) her seferinde çalıştırılmak zorunda kalacaktır. Bunun yerine DLL yazarsınız, uygulama sayfasında sürekli aynı kodları yazmak yerine sadece ilgili DLL’yi çağırdığınızda o kod yapısı çalışacaktır.
Oyun Tasarlama
Unity dahil hemen hemen bütün oyun motorları C# desteklediği için oyun tasarlamada da kullanabilirsiniz bu dili. Bu dille tasarlanan oyunların çoğu, günümüzdeki popüler oyunlar arasında yer alıyor. Bunlardan bazıları;
- Firewatch
- The Long Dark
- Cities: Skylines
- Rust
- Lara Croft Go
- Temple Run
- Dead Trigger 2
- WSGT2
C#’ın Java, C++ ve C ile Bağlantısı Var mı?
C# ve C++ dillerin nesne tabanlı programlama özellikleri aynıdır. İkiside Nesne Tabanlı programlamayı destekler. Ayrıca syntax yapısı’da benzerlik göstermektedir.
Her ne kadar isim benzerliği olsa da C# ve C’nin benzer yanlarının olduğunu söyleyemem. Aralarındaki en büyük fark ise nesne tabanlı programlamadır. C# nesne tabanlı programlamayı desteklerken, C ise nesne tabanlı programlamayı desteklemez. Ortak yanlarından bahsetmem gerekirse belki de en önemlisi benzer sytnax “söz dizimine” yapısına sahip olmalarıdır.
C# daha çok Java ve C++programlama dillerinden esinlenerek oluşturulmuş bir dildir. Birebir aynı olmasa da Java ve C++’la çoğu özellikleri benzerlik göstermektedir.
Basit Bir Kod Yazalım “Hello World”
class Program
{
static void Main (String[] args)
{
for (int i = 1; i<=100; i++)
{
Console.WriteLine("Merhaba Dünya");
Console.Write("Aydın BEKOĞLU");
Console.WriteLine(" Deneme");
}
}
}
Console.ReadKey();
Yukarıdaki kod yapısı ekrana 100 sefer şu çıktıyı verecektir.
- Merhaba Dünya
- Aydın BEKOĞLU Deneme
Not;
- “WriteLine” ekrana çıktıyı yazdırdıktan sonra 1 satır alta in demek.
- “Write” ise ekrana çıktıyı yaz ama aynı satırdan devam et. Bu yüzden yukarıda “Aydın BEKOĞLU Deneme” yan yana çıktı verdi.
