C Sharp olarak telaffuz edilen C#, Microsoft’un .Net teknolojisi için geliştirdiği nesne tabanlı (object-oriented) programlama dilidir. 2000’li yılların başında Anders Hejlsberg liderliğinde Microsoft tarafından geliştirilmiştir. .Net framework’ün bir parçasıdır. Common Language Infrastructure (CLI) olarak bilinen ortak dil yapısına sahiptir. C#, yazılım sektörü içerisinde en sık kullanılan iki yazılım dili olan C ve C++ etkileşimi ile türetilmiştir.
Nesne tabanlı programlama dili, nesne kullanımını destekleyen ve sarma (Encapsulation) ilkesine uyan programlama dillerini tanımlar. Yani nesneler önceden sınıflar halinde yazılıdır. Programcıya sadece o nesneyi çağırmak ve sonrasında nesneyi amaca uygun çalıştıracak kod satırlarını yazmak kalır.
Ayrıca gelişmiş derleyicisi (debugger) ile hata olasılığını ortadan kaldırmaktadır. Yazılan program çalıştırıldıktan sonra derleyici tarafından algılanan Sınıf (Class) ve söz dizimi (syntax) 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.
C# ile konsol, windows, web ve mobil gibi farklı platformlarda uygulamalar geliştirilebilir. Son olarak, Tüm modern programlama dilleri gibi, C# kodu kullanıcıların kolay anlayabilmesi için İngilizceye benzer. Bu nedenle, C# kodunu derleyici kullanarak makine diline dönüştürmemiz gerekmektedir. Bu kitapta kullanacağımız derleyici Microsoft tarafından ücretsiz olarak sağlanan Visual Studio Community’dir.
.NET Nedir
.NET, Microsoft tarafından geliştirilen ve genellikle Windows işletim sistemi üzerinde çalışan bir yazılım geliştirme platformudur. İlk olarak 2002 yılında piyasaya sürülmüştür. .NET, çok çeşitli uygulama türlerini geliştirmek için kullanılabilir, bunlar arasında masaüstü uygulamaları, web uygulamaları, mobil uygulamalar ve bulut tabanlı hizmetler bulunmaktadır.
.NET, temel olarak iki ana bileşenden oluşur:
- .NET Framework: .NET Framework, Microsoft’un orijinal .NET uygulama geliştirme platformudur. Windows işletim sistemi üzerinde çalışır ve birçok farklı programlama dilini destekler (C#, Visual Basic.NET, F# vb.). .NET Framework, birçok standart kütüphane ve araç içerir ve çeşitli uygulama türlerinin geliştirilmesine olanak tanır.
- .NET Core: .NET Core, .NET Framework’ün hafif, modüler ve çapraz platformlu bir açılımıdır. Linux ve macOS gibi diğer işletim sistemlerinde de çalışabilir. Hem web tabanlı uygulamalar hem de bulut tabanlı hizmetler için kullanılabilir. .NET Core, özellikle mikro hizmet mimarileri ve konteynerleştirme gibi modern uygulama geliştirme yöntemlerini desteklemektedir.
.NET’in avantajları arasında güçlü bir programlama dili desteği, geniş bir standart kütüphane yelpazesi, güvenlik ve performans özellikleri yer almaktadır. Bu nedenle, .NET, birçok farklı ölçekteki projeler için tercih edilen bir platformdur.
.NET Core Nedir
Bu eğitim kapsamında .NET Core ile birlikite ilerleyeceğiz. O nedenle .NET Core’u daha yakından tanıyalım.
.NET Core, Microsoft tarafından geliştirilen, açık kaynaklı ve modüler bir .NET platformudur. .NET Core, özellikle çapraz platform uyumluluğu ve bulut uygulamaları için optimize edilmiştir. Aşağıdaki ana özelliklere sahiptir:
- Çapraz Platform Uyumluluğu: .NET Core, Windows, Linux ve macOS gibi farklı işletim sistemlerinde çalışabilir. Bu, uygulama geliştiricilerinin işletim sistemi bağımsızlığı sağlayarak farklı platformlara kolayca uygulama dağıtmasını sağlar.
- Hafif ve Modüler Yapı: .NET Core, önceki .NET Framework’e kıyasla daha hafif ve modüler bir yapıya sahiptir. Bu, uygulama performansını artırır ve gereksiz bileşenleri projenize dahil etmek zorunda kalmadan ihtiyacınız olan bileşenleri seçmenize olanak tanır.
- Açık Kaynak Kodlu: .NET Core, açık kaynaklı bir proje olarak geliştirilmektedir. Bu, topluluk katılımını artırır, hataların daha hızlı tespit edilmesini sağlar ve platformun gelişimini destekler.
- Konteyner Desteği: .NET Core, konteyner teknolojileriyle uyumlu olarak tasarlanmıştır. Bu, Docker gibi konteynerleme platformlarında uygulamaların hızlı ve kolay bir şekilde dağıtılmasını sağlar.
- Yüksek Performans: .NET Core, hızlı çalışan ve ölçeklenebilir uygulamalar geliştirmek için optimize edilmiştir. Bu, yoğun iş yüklerini işleyen uygulamaların performansını artırır.
- Web Geliştirme Desteği: .NET Core, ASP.NET Core adında bir web framework’ü içerir. ASP.NET Core, modern web uygulamaları ve API’lerin geliştirilmesini sağlar ve çeşitli platformlarla uyumludur.
.NET Core Versiyonları
.NET Core, çeşitli sürümlerde yayınlanmıştır ve her sürüm, yeni özellikler, iyileştirmeler ve düzeltmeler içerir. İşte ana .NET Core sürümlerinden bazıları:
- .NET Core 1.x Serisi: İlk olarak 2016 yılında piyasaya sürüldü. Bu sürüm serisi, .NET Core 1.0, 1.1 ve 1.2 gibi alt sürümleri içerir. Temel olarak çekirdek .NET Core kütüphanelerini içerir ve çeşitli platformlarda çalışabilirlik sağlar.
- .NET Core 2.x Serisi: 2017 yılında piyasaya sürüldü. Bu sürüm serisi, .NET Core 2.0, 2.1 ve 2.2 gibi alt sürümleri içerir. .NET Core 2.x serisi, önemli performans iyileştirmeleri, yeni API’ler ve geliştirilmiş dil özellikleri sunar.
- .NET Core 3.x Serisi: 2019 yılında piyasaya sürüldü. Bu sürüm serisi, .NET Core 3.0, 3.1 gibi alt sürümleri içerir. .NET Core 3.x serisi, Windows Forms, WPF gibi masaüstü uygulama geliştirme desteklerinin yanı sıra büyük ölçüde geliştirilmiş performans, yeni API’ler ve C# 8.0 dil özelliklerini içerir.
- .NET Core 5.0: .NET 5, 2020 yılında piyasaya sürüldü. Bu sürüm, .NET Core ve .NET Framework’ü tek bir platformda birleştirmeyi amaçlayan bir geçiş sürümü olarak tanıtıldı. .NET 5, daha önce .NET Core 3.x serisinde sunulan özelliklerin yanı sıra bir dizi yeni API ve geliştirmeler içerir.
- .NET 6.0: .NET 6.0, 2021 yılında piyasaya sürüldü. Bu sürüm, önceki sürümlerdeki özelliklerin iyileştirilmesine ek olarak, performans, dil özellikleri ve platform uyumluluğu gibi alanlarda bir dizi iyileştirme ve yenilik sunar. Ayrıca, .NET 6.0’da Unity ve Xamarin gibi platformların tam desteklenmesi gibi önemli gelişmeler bulunmaktadır.
- .NET 7.0: .NET 7.0, 2022 yılının son çeyreğinde piyasaya sürüldü. .NET 6’nın ardılıdır ve birleşik, modern, basit ve hızlı olmaya odaklanır. .NET 7, standart vadeli destek (STS) sürümü (eski adıyla geçerli sürüm) olarak 18 ay boyunca desteklenecektir.
- .NET 8.0: .NET 8.0 2023 yılının son çeyreğinde piyasaya sürüldü. .NET 8, .NET 7’nin ardılıdır. Uzun süreli destek (LTS) sürümü olarak üç yıl boyunca desteklenecektir. .NET 8 çalışma zamanı performans, çöp toplama ve çekirdek ve uzantı kitaplıklarına yönelik iyileştirmeler içerir. Ayrıca, com birlikte çalışma ve yapılandırma bağlaması için mobil uygulamalar ve yeni kaynak oluşturucular için yeni bir genelleştirme modu içerir.