C# (C Sharp) Nedir?

C#, Microsoft tarafından geliştirilen, modern, nesne tabanlı ve type-safe (tip güvenli) bir programlama dilidir. C#; C/C++’ın performans yaklaşımından, Java’nın yapısal disiplininden ve Visual Basic’in geliştirme kolaylığından izler taşır. Günümüzde C#, özellikle .NET ekosistemi içinde en yaygın kullanılan dillerin başında gelir.

Kısa Özet
  • C# = .NET ekosisteminin ana dillerinden biri
  • CLR üzerinde çalışır (Common Language Runtime)
  • Garbage Collection (çöp toplama), JIT derleme ve güvenli çalışma modeli sunar

C# Neden “Modern ve Tip-Güvenli” Sayılır?

Tip güvenliği (type-safe), değişken tiplerinin belli olması ve derleyicinin birçok hatayı daha çalıştırmadan yakalamasıdır. Bu sayede “fark edilmesi zor” runtime hataları azalır.

Mini örnek
int yas = 10;
// yas = "on";   // ❌ Derleme hatası (type-safe)
Console.WriteLine(yas);

C# ve .NET: CLR ve Çalışma Mantığı

.NET dünyasında kodlar doğrudan makine kodu olarak yazılmaz. C# kodu önce ara dile (IL) derlenir, sonra çalışma anında CLR bu kodu çalıştırır. CLR; bellek yönetimi (garbage collection), güvenlik, tip kontrolü ve JIT (Just-In-Time) derleme gibi görevleri üstlenir.

Benzerlik Notu
CLR’in çalışma yaklaşımı, Java dünyasındaki JVM ile bazı açılardan benzerlik gösterir. (Yönetilen runtime, GC, JIT vb.)

Neden C#?

  • Öğrenmesi görece kolay ve okunabilir bir söz dizimi
  • Nesne yönelimli programlamaya tam destek
  • Performans ve geliştirme hızı arasında iyi denge
  • Geniş kütüphane ekosistemi (.NET Class Library)
  • Web (ASP.NET), masaüstü, servis, mobil ve oyun gibi çok geniş kullanım alanı
  • Modern özellikler: LINQ, async/await, pattern matching, record’lar vb.

C# ile Neler Yapılabilir?

C# ile .NET ortamında birçok farklı türde uygulama geliştirilebilir. Örnekler:

  • Konsol uygulamaları ve araçlar (CLI)
  • Windows uygulamaları (WinForms / WPF)
  • Web uygulamaları (ASP.NET Core)
  • Web API ve servisler
  • Mobil uygulamalar (MAUI vb.)
  • Kütüphane / DLL geliştirme

Mini Örnek: Basit Fonksiyon ve Kullanımı

C#’ta fonksiyonlar (metotlar) sınıflar içinde tanımlanır. Aşağıdaki örnek iki sayıyı çarpıp sonucu döndürür.

Örnek kod
class Program
{
    static int Carp(int x, int y)
    {
        return x * y;
    }

    static void Main()
    {
        Console.WriteLine("İki sayının çarpımı = " + Carp(3, 5));
    }
}

C ve C++ Dillerine Kısa Bir Bakış

C, yapısal programlamanın en popüler dillerindendir. Düşük seviye sistem programlama ile yüksek seviyeli uygulama geliştirme arasında güçlü bir köprü kurar. Uzun yıllardır popülerliğini korumasının sebebi; performansı, taşınabilirliği ve sistem seviyesine yakın kontrol sunmasıdır.

C++, C temelli olup “nesne yönelimli” özellikleriyle genişletilmiş güçlü bir dildir. C++’ın en önemli farkı; sınıflar, kalıtım, çok biçimlilik gibi OOP yeteneklerini C dünyasına taşımış olmasıdır. Günümüzde oyun motorları, performans kritik sistemler ve gömülü yazılımlar gibi alanlarda sık görülür.

Kısa karşılaştırma
  • C: Yapısal, düşük seviye kontrol, çok yaygın sistem kullanımı
  • C++: C + OOP, performans kritik projeler
  • C#: .NET ekosistemi, hızlı geliştirme + modern dil özellikleri + geniş uygulama alanı