100 Günde Sıfırdan İleri Seviyeye C# Kampı‘na hoş geldiniz! 15 yılı aşkın kurumsal yazılım mimarisi ve .NET geliştirme deneyimimi aktaracağım bu eğitim serisinde; programlamaya ilk adımınızı atıyor olun ya da bilgilerinizi modern .NET 9 ve C# 13 standartlarıyla tazelemek istiyor olun, ihtiyacınız olan tüm teorik ve pratik temelleri sıfırdan inşa edeceğiz.
- C# programlama dilinin felsefesini ve nerelerde kullanıldığını anlamak.
- .NET Ekosistemi, CLR (Common Language Runtime) ve SDK yapısını kavramak.
- Geliştirme ortamını hazırlamak ve ilk “Hello World!” konsol uygulamasını çalıştırmak.
- Modern C# (Top-level statements) ile klasik C# sözdizimi farkını görmek.
1. C# Nedir ve Neden Dünyanın En Popüler Dillerinden Biri?
C# (telaffuzuyla C-Sharp), Microsoft tarafından 2000’li yılların başında Anders Hejlsberg liderliğinde geliştirilen; nesne yönelimli (OOP), tip güvenli (type-safe), modern ve yüksek performanslı bir programlama dilidir.
Geçmişte yalnızca Windows işletim sistemine bağımlı olan C#, Microsoft’un açık kaynak vizyonu ve .NET Core devrimiyle birlikte artık Linux, macOS, Docker konteynerleri, iOS ve Android dahil olmak üzere akla gelebilecek her platformda yerel hızda çalışabilmektedir.
C# ile Neler Geliştirebilirsiniz?
- Yüksek Ölçekli Web Backend & API: ASP.NET Core ile saniyede yüz binlerce isteği karşılayan mikroservisler ve kurumsal RESTful API’ler.
- Kurumsal ERP ve Entegrasyon Çözümleri: SAP Business One, CRM ve muhasebe sistemleriyle haberleşen güvenli kurumsal uygulamalar.
- Oyun Geliştirme: Dünyanın en popüler oyun motoru olan Unity‘nin ana kodlama dili C#’tır.
- Mobil Uygulamalar: .NET MAUI teknolojisi ile tek bir C# kod tabanından hem Android hem de iOS uygulamaları üretme.
- Bulut ve Sunucusuz (Serverless) Sistemler: AWS Lambda, Azure Functions ve Docker mikroservis mimarileri.
2. .NET Ekosistemi Nasıl Çalışır? (Arka Plandaki Mimari)
C# ile kod yazarken doğrudan makine koduna (0 ve 1’lere) derleme yapmayız. C# kaynak kodunun çalıştırılabilir hale gelmesi iki aşamalı şık bir mimariyle gerçekleşir:
- C# Derleyicisi (Roslyn): Yazdığınız
.csuzantılı C# kodunu derleyerek platformdan bağımsız ara bir dile çevirir. Bu dile IL (Intermediate Language) ya da CIL adı verilir. - CLR (Common Language Runtime): Uygulamanız çalıştığında, .NET’in sanal motoru olan CLR devreye girer. CLR içindeki JIT (Just-In-Time) Compiler, IL kodlarını o an üzerinde çalıştığı işletim sisteminin ve işlemcinin (x64, ARM64) makine diline dönüştürür.
Bu mimari sayesinde bir kez derlediğiniz C# kodunu Linux bir sunucuda, Windows masaüstünde veya AWS bulut altyapısında hiçbir değişiklik yapmadan güvenle koşturabilirsiniz.
3. Geliştirme Ortamının Hazırlanması
C# geliştirmeye başlamak için iki temel araca ihtiyacımız var:
- .NET SDK (Software Development Kit): dotnet.microsoft.com adresinden en güncel LTS (.NET 8 veya .NET 9) sürümünü ücretsiz indirin. SDK, derleyiciyi ve komut satırı araçlarını (`dotnet CLI`) içerir.
- Kod Editörü: Başlangıç ve modern geliştirme için ücretsiz ve hafif olan Visual Studio Code (C# Dev Kit eklentisiyle birlikte) veya kurumsal projeler için Visual Studio 2022 Community tercih edebilirsiniz.
4. İlk Konsol Uygulamamız: Hello World!
Terminalinizi (PowerShell, Bash veya CMD) açın ve ilk projemizi oluşturmak için aşağıdaki komutları girin:
# Yeni bir konsol projesi oluştur
dotnet new console -n IlkUygulamam
# Proje dizinine geçiş yap
cd IlkUygulamam
# Uygulamayı derle ve çalıştır
dotnet run
Oluşturulan Program.cs dosyasını açtığınızda modern .NET ile tek satırlık bir kod karşılar:
// Modern C# (Top-Level Statements)
Console.WriteLine("Merhaba Dünya! 100 Günde C# Kampı Başladı.");
Geleneksel (Klasik) C# vs Modern C# Karşılaştırması
Eğer eski C# kaynaklarına bakarsanız, aynı çıktıyı üretmek için aşağıdaki gibi daha uzun bir kalıp görebilirsiniz:
using System;
namespace IlkUygulamam
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Merhaba Dünya! 100 Günde C# Kampı Başladı.");
}
}
}
Fark Nedir? C# 9 ve sonrasında gelen Top-level statements özelliği sayesinde derleyici; class Program ve static void Main şablonunu arka planda bizim yerimize otomatik oluşturur. Kodumuz çok daha temiz, okunabilir ve hızlı yazılabilir hale gelir.
5. Kodun İncelenmesi
Console: .NET BCL (Base Class Library) içerisindeki konsol ekranı girdi ve çıktılarını yöneten yerleşik bir sınıftır.WriteLine(): Kendisine parametre olarak verilen metni ekrana yazdıran ve ardından imleci bir alt satıra geçiren statik bir metottur. Eğer alt satıra geçmesini istemezsenizConsole.Write()kullanılır.- Noktalı Virgül (
;): C# dilinde her bir komut satırının sonu mutlaka noktalı virgül ile sonlandırılmalıdır.
💪 1. Gün Pratik Görevi (Challenge)
Kendi konsol uygulamanızı oluşturun ve ekrana sırasıyla:
- Adınızı ve unvanınızı,
- Bu kampa başlama amacınızı,
Console.ReadLine();komutunu kullanarak kullanıcının klavyeden bir tuşa basmasını bekleyen satırı yazın.
İpucu: Console.ReadLine(); komutu programın hemen kapanmasını engeller ve kullanıcıdan Enter tuşu bekler.
📌 Ders 1 / 100 tamamlandı!
Tüm Müfredatı Gör →
Sıradaki Ders: #2 Değişkenler, Veri Tipleri ve Bellek (Stack & Heap) ⏳