18.09.2021
C# Nedir ? C# ile Neler Yapılabilir ?

Microsoft tarafından geliştirilen bir tür programlama dili olan C Sharp, modern algoritması ve orta seviye zorluğu sayesinde yazılımcıların ilk tercih ettiği dillerden birisi oluyor.

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# Genel Özellikleri Nelerdir ?

  • Basit, modern, her tür kullanım amacına uygun ve nesne tabanlı bir dildir.
  • Güçlü tipleme kontrolü, dizin sınırları kontrolü ve tanımlanmış değişkenlerin kullanım tespiti gibi özellikler barındırır.
  • Programcı portatifliğine sahiptir.
  • Sunucu ve gömülü sistemler için tasarlanmıştır.
  • C, C++ ve Java dilini kullananların rahatlıkla alışabilecekleri bir kullanım dizaynına sahiptir. Esnek yapısı itibariyle C sharp ile geliştirilen bir uygulama masaüstünde, web’de, mobil platformda kullanılabilir. 
  • C++ ile aynı komut setini kullandığından güçlü bir yapıya sahiptir.
  • Göze sade gelen yazılım dilinin sunduğu  kullanım kolaylığı ile uygulamalar daha kısa sürede yazılabilir.
  • Nesne tabanlı bir programla dili olduğundan soyutlama, paketleme, çok biçimlilik gibi özellikler taşımaktadır.

C# ile NET Framework Arasındaki İlişki:

C# ve .Net Framework bazı kişiler tarafından aynı sanılmaktadır. Fakat bu iki kavram birbirlerinden tamamen farklıdır. C# nedir dediğimizde, nesne yönelimli bir programlama dili olarak tanımlarız. Net Framework ise C# için geliştirilmiş bir çalıştırma ortamı şeklinde tanımlanabilir.  Java’dan önceki yazılımlar makine koduna çevrilerek çalıştırılmaktaydı.

 

 

Peki, java ile ne değişti?

Java program kodlarını önce byte sayı sistemine çevirir sonrasında ise Java Sanal Makinesi, JVM – Java Virtual Machine, bu kodları işletim sisteminin istediği koda çevirerek programın çalışmasını sağlamaktadır. Net framework  da Java diline benzer bir mantık izleyerek C# kodlarını çalışabilir hale getirmektedir.

C# programla dilinin kodları, yazılım olarak iki aşamada derliyor. MIL, Microsoft Intermediate Language, derlemesi denilen bu aşamalardan ilkine Assembly deniliyor. İkinci aşamada bu kez uzantısı  “.exe” oluyor. C# programlama dili ile geliştirilen bir yazılım bu halde iken sistemler tarafından çalıştırılamadığı için devreye “.NET Framework” giriyor. Yine “.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”, sistemlerle C# arasında bir tür tercümanlık görevi yapıyor denebilir.  C# programlama dilini bilgisayarımızın anlayacağı şekilde tercüme ediyor.

C# ile hangi alanda ne kodlanır ?

  • Konsol uygulamaları (CMD)
  • Windows form uygulamaları ( Graphical User Interface (GUI))
  • Mobil uygulamalar (Xamarin)
  • Web servisleri
  • DLL yazma
  • Oyun tasarlama
  • Web uygulamaları (Asp.Net)

 

Konsol uygulamaları (CMD):

Bu özelliği kullanmak için CMD ekranını kullanırız. Konsol uygulamaları Windows tabanlı çalışır ve çeşitli işlemler için kullanılabilir.

Örneğin:

 

        int x = 58;

        int y = 19;

        int z = x + y;

        Console.WriteLine(z);

        Console.ReadKey();

int = sayı barındıran değişken türü,

x,y,z = değişkenler,

Console.WriteLine (z) komutu = Ekrana Yazdır,

Console.ReadKey () komutu = Ekranı kapatmak için herhangi bir tuşa bas komutu.

Windows Form uygulamaları:

Windows Form uygulamaları, bilgisayarda çalışmak için tasarlanan grafik arayüzlü programları geliştirmek için kullanılan C# özelliğidir. İngilizce anlamı Graphical User Interface (GUI) olan bu özellik ile steam gibi bir grafik arayüzlü windows uygulaması üretilebilir.

Form uygulaması geliştirme paneli, basitçe tasarlanmış ve işlevsel olarak kullanılabilmekte. Sürükle bırak mantığı ile bütün tasarım kaygılarımızı bir kenara bırakıyor ve geliştirmek istediğimiz projemizin yazılım kısmına yönelebiliyoruz.

 

Mobil uygulamalar (Xamarin):

Windows Phone günümüzde kullanıcısı sayısı bitmiş bir akıllı telefon olmasa, C# dili ile Xamarin sayesinde güzel uygulamalar geliştirebilirdik. Sadece böyle bir opsiyonunda olduğunu bilmek bize yeter.

Web servisleri:

Arka planda veri iletimi ve alımı için kullanılan sistemdir. C# yardımıyla web sayfası servisleri ile alakalı projeler geliştirebiliriz. Geliştirdiğimiz uygulamaları ise XML ya da FTP veri transferi sayesinde web sitelerine gönderebiliriz.

DLL yazma:

DLL’nin ne olduğunu sorarsanız, ingilizcesi Dinamic Link Library, Türkçesi ise dinamik kod kütüphanesidir. Peki C# da ki DLL yazma özelliğinin olup olmaması bizim ne gibi işimize yarıyor derseniz eğer; C# da geliştirmeye çalıştığımız bir projemizde sürekli dönüye almamız gereken birkaç kod satırı olduğunu düşünelim. Bu kodları işimize yarayacağı zaman sürekli baştan yazmak yerine oluşturduğumuz DLL kütüphanemizden çağırıyoruz ve tekrar eden aynı kodları sürekli yazmaktan kurtuluyoruz.

Oyun tasarlama:

Başka Unity olmak üzere hemen hemen bütün oyun motorları C# dilini desteklemektedir. Aslında günümüzde ki oyunların bazıları C sharp dili ile geliştiriliyor fakat çoğu yazılımcı bunun farkında değil. Siz de iyi bir oyun yazılımcısı olmak istiyorsanız eğer C sharp öğrenmek ile başlayabilirsiniz.

Web uygulamaları (Asp.Net):

C# web tasarım alanında Asp.net ile yazılabildiği için tasarımcıların çoğu bu dili kullanır. C# uygulamaları derleme konusunda kolaylık sağladığı için, tasarımcıların bu dili kullanması çok doğal ve mantıklı. .XML uzantılı bu belgeler internet sitelerindeki tüm bilgileri içerebilirler.