C Sharp

→ Bu maddenin özgün adı C# programlama dili olup, MediaWiki'ye özgü teknik nedenlerle C Sharp olarak yazılmıştır.

C#
Paradigması Yapısal (structured), Zorunlu (imperative), Nesne yönelimli (object-oriented), Olaya dayalı (event-driven), Fonksiyonel (functional), Genel (generic), Yansıtıcı (reflective), Eşzamanlı (concurrent)
İlk çıkışı 2000) (2000)
Tasarımcı Microsoft
Geliştirici Microsoft
Kararlı sürüm

6.0

(20 Temmuz 2015) (2015-07-20))
Önemli uygulamaları Visual C#, .NET Framework, Mono, DotGNU
Etkilendikleri C++, Java
Etkiledikleri D, Dart, Swift, Java
Platformu Cross-platform
Lisans CLR is proprietary, GPLv3, MIT/X11, LGPLv2, GPL
Olağan dosya uzantıları .cs
Ailesi C

C# Programlama Dili (si şarp şeklinde telaffuz edilir), Microsoft'un geliştirmiş olduğu yeni nesil programlama dilidir. Yine Microsoft tarafından geliştirilmiş .NET Teknolojisi için geliştirilmiş dillerden biridir.

Microsoft tarafından geliştirilmiş olsa da ECMA ve ISO standartları altına alınmıştır.

C programlama dilinde bir tamsayı değişkeni 1 atırmak için ++ soneki kullanılır. C++ dili adını, C diliyle Nesneye Yönelimli Programlama yapabilmek için eklentiler (C With Classes) almıştır. Benzer şekilde C++ diline yeni eklentiler yapılarak ((C++)++) bir adım daha ileriye götürülmüş ve tamamen nesneye yönelik tasarlanmış C# dilinin isimlendirilmesinde, + karakterlerinin birbirlerine yakınlaşmış hali ve bir melodi anahtarı olan C# Major kullanılmıştır.

Bu dilin tasarlanmasına Pascal, Delphi derleyicileri ve J++ programlama dilinin tasarımlarıyla bilinen Anders Hejlsberg liderlik etmiştir.

Birçok alanda Java'yı kendisine örnek alır ve C# da java gibi C ve C++ kod sözdizimine benzer bir kod yapısındadır. .NET kütüphanelerini kullanmak amacıyla yazılan programların çalıştığı bilgisayarlarda uyumlu bir kütüphanenin ve yorumlayıcının bulunması gereklidir. Bu, Microsoft'un .Net Framework'u olabileceği gibi ECMA standartlarına uygun herhangi bir kütüphane ve yorumlayıcı da olabilir. Yaygın diğer kütüphanelere örnek olarak Portable.Net ve Mono verilebilir.

Özellikle nesne yönelimli programlama kavramının gelişmesine katkıda bulunan en aktif programlama dillerinden biridir .NET platformunun anadili olduğu bazı kesimler tarafından kabul görse de bazıları bunun doğru olmadığını savunur.

C#, .NET orta seviyeli programlama dillerindendir. Yani hem makine diline hem de insan algısına eşit seviyededir. Buradaki orta ifadesi dilin gücünü değil makine dili ile günlük konuşma diline olan mesafesini göstermektedir. Örneğin; Visual Basic .NET (VB.NET) yüksek seviyeli bir dildir dersek bu, dilin insanların günlük yaşantılarında konuşma biçimine yakın şekilde yazıldığını ifade etmektedir. Dolayısıyla VB.NET, C#.NET'ten daha güçlü bir dildir diyemeyiz. Programın çalışması istenen bilgisayarlarda framework kurulu olması gerekmektedir. (Windows 7 ve Windows Vista'da .NET Framework kuruludur)

Tasarım hedefleri

ECMA tarafından C# dilinin tasarım hedefleri şöyle sıralanır:

Merhaba Dünya

// Konsol uygulamaları yazılması için System isim uzayı eklenir. 
// Bu sayede derleyici, System.dll'i kullanması gerektiğini bilir.
using System;

// Sınıf tanımlamasıdır.
class Program
{
    // .NET çalışma zamanında ön tanımlı olarak Main() fonksiyonunu çalıştırır.
    static void Main()
    {
        // Console sınıfı içerisindeki Writeline() fonksiyonu çalıştırılır
        Console.WriteLine("Merhaba Dünya!");
        // Kullanıcıdan herhangi bir tuşa basarak çıkması için bir tuş okunur.
        Console.ReadKey();
    }
}

Basit bir hesap makinesi örneği

using System;

class Program
{
    int sayi1, sayi2, cevap;
    string islem;
    static void Main(string[] args)
    {
        Console.Write("Lütfen ilk tam sayıyı giriniz: ");
        sayi1 = Convert.ToInt32(Console.ReadLine());
        Console.Write("Lütfen yapacağınız işlemi giriniz (+, -, /, *): ");
        islem = Console.ReadLine();
        Console.Write("Lütfen ikinci tam sayıyı giriniz: ");
        sayi2 = Convert.ToInt32(Console.ReadLine());
        switch (islem)
        {
            case "-":
                cevap = sayi1 - sayi2;
                break;
            case "+":
                cevap = sayi1 + sayi2;
                break;
            case "/":
                cevap = sayi1 / sayi2;
                break;
            case "*":
                cevap = sayi1 * sayi2;
                break;
            default:
                cevap = 0;
                break;
        }
        Console.WriteLine(sayi1.ToString() + " " + islem + " " + sayi2.ToString() + " = " + cevap.ToString());
        Console.ReadLine();
    }
}

Eleştiri

C# konusunda eleştiriler tabii ki var. En önemlisi using ile hangi referansları kullanacağımızı çok iyi bilmeliyiz. Ayrıca süslü parantez "{}" ve noktalı virgül ";" karakterlerini çok sevmemiz ve asla unutmamamız gerekmektedir.

Performans

Platform

Güvenlik

Kaynakça

Dış bağlantılar

This article is issued from Vikipedi - version of the 12/11/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.