İlginizi Çekebilir
C# Öğrenmeye Başlıyoruz
  1. Ana Sayfa
  2. C#
  3. C# Nedir?

C# Nedir?

Bu dönem içerisinde C# ile görsel programlama dersim olduğu için sizlerle birlikte C# nedir, avantajları ve kullanım alanları gibi konulara birlikte öğrenebileceğimiz teorik bir anlatımın olmasını dile getirdiğim bir içerik sizleri bekliyor olacak.

Neden C# Kategorisi Var?

Eğer bu içeriğim sayesinde beni yeni tanıyorsanız öncelikle belirtmem gerekir ki Java 4ever mottosu ile içeriklerime başladım ve o yolda kendimi geliştirme serüvenimi ve öğrendiğim konuları sizlerle paylaşmayı hedeflediğimi anlattığım hakkımda yazısına göz atabilirsiniz.

Tabi C# üzerinde alacağım görsel programlama dersinin etkisi ile ve Java ile benzerlikleri ve avantajları göz önünde alındığında yavaş yavaş C# üzerinde de bir fikir sahibi olmam gerektiğini anlamış oldum. Bunun için sizlerle birlikte gelişmeye devam edeceğimiz bu çatı altında yeni bir dil öğrenmeye daha başlayacağız.

Tabii Java’nın (❤️) yeri benim için her zaman ayrı olacak.

C# Programlama Diline Bakış
C# Nedir?

C# Nedir?

Kendisini C Sharp olarak duymuş olabileceğiniz, tamamen Microsoft tarafından geliştirilen bir programlama dilidir. Ortaya çıkış noktası Java gibi, C programlama dilidir. Belki derslerde sıklıkla göreceğim ve sizlerle içeriklerimde paylaşımını yapacağım .net teknolojisi ile geliştirilmiştir. Geliştirilen .net(dotnet) framework teknolojisini yine Microsoft tarafından çıkartıldığını söylemekte fayda var.

Java ile birçok benzerliği gözlemlenebilir bunun için bu iki programlama dili için uzak kuzenler benzetmesini yapmamda bir sakınca olmaz. Bunun sebebi ise Java gibi örnek aldığı programlama dilleri C ve C++ dilleridir.
Microsoft bünyesinde çalışan Anders Hejlsberg tarafından temelleri atıldığını söyleyerek aklımızın bir yerinde genel kültür bilgisi olarak kalmasında fayda var.

Araştırdığım kaynaklarda dile getirdiklerine göre C# orta zorlukta bir programlama dilidir. Bu yüzden Java ile eş zamanlı gidebileceği düşünüyorum. C# Nedir başlığımız için cümlemi bu şekilde sonlandırarak sizlerle çalışma mantığı hakkında birkaç şey paylaşmak istiyorum.

C# Çalışma Mantığı

Aslında ilk başta baktığınızda C# ve .Net Framework tek bir kavram gibi algılanıyor olabilir. Fakat bu bahsettiğimiz iki kavram birbirlerinden farklı amaçlar için ortaya çıkartılmıştır. C#, nesne yönelimli bir programlama diliyken .Net teknolojisi C# için geliştirilmiş bir çalıştırma ortamıdır. Java’da benzer bir teknoloji olan JVM aklınıza gelebilir bu noktada. Program içerisinde kullanılan tüm kütüphaneler .Net platformu içerisinde tanımlanmış bir kütüphanedir. Bu olayı öğrendiğim zaman .Net teknolojisinin C# için hizmet ettiği algısı birden aklımdan giderek .Net teknolojisine C# dilinin hizmet ettiği algısı geldi. Bu düşüncemin yanlış olmadığını birkaç kaynağa baktığım zaman anlamış oldum.

C# Kullanım Alanları

C#, nesne tabanlı bir programlama dili olmasının sağladığı avantajlar ile birlikte birçok alanda ve uygulama için kullanılmaktadır. En bilindik olarak ne yapabiliriz diye sorarsanız sizlere vereceğim örnekler şu şekilde olacaktır;

  • Web Form Uygulamaları
  • Windows Form Uygulamaları
  • Mobil Programlama (Windows Phone) 😢
  • Konsol Uygulamaları (CMD)
  • Oyun Geliştiriciliği (Unity)
  • DLL Oluşturma

Bu yüzdendir ki Türkiye genelinde C# dili bilen sayısı oldukça fazla ve firmaların çoğunun bilmenizi isteyeceği bir dildir.

C# Avantajları ve Dezavantajları Nelerdir?

Her dilde olduğu gibi bazı üstünlükleri ve dezavantajları bulunan C# dilini biraz daha yakından tanımak için avantajları ve dezavantajlarına göz atmakta fayda var.

C# Avantajları

  • Başta dile getirdiğim üzere orta zorlukta bir dil olması öğrenilme yapısını C ve C++ dillerine göre daha kolay bir hale getiriyor.
  • Yukarıda dile getirdiğim üzere Türkiye genelinde Microsoft ürünlerine bağlılık olduğu ve iş temelleri bu yapıda oluşturulduğu için iş bulma ihtimalinin daha fazla bulunabileceği bir dildir.
  • Microsoft tarafından birçok kaynak ve güncelleme desteği ile sürekliliği olan bir dil olması önemli bir etkendir.

C# Dezavantajları

  • Java için söylenilen yavaşlık C# dili içinde geçerli olarak kaynaklarda yer almakta. Tabii artık gelişen teknoloji ile bu yavaşlık söz konusunun bizleri büyük ölçüde olumsuz etkileyeceğini düşünmüyorum.
  • Program üzerinde gerçekleştirdiğimiz her değişiklik için derleme yapmamız gerekmektedir.
  • Bağımsız bir dil olmamasından dolayı .Net bağlılığından dolayı esnek bir dil yapısında değildir. (Mac ve Linux üzerinde zorluklar yaşayabilirsiniz)
C# ide önerileri
C# Geliştirme Ortamları

C# için Kullanılan IDE’ler Nelerdir?

Programlarımızı yazarken bizlere kolaylık sağlayan geliştirme ortamları C# programlama dili konusunda bilindik ve kullanabileceğiniz C# IDE’ler şu şekilde sıralayabilirim;

  • Visual Studio
  • Visual Studio Code
  • Visual C# Express
  • MonoDevelop IDE (Linux ve macOS)

Microsoft tarafından geliştirilmiş bir dil olduğu için geliştirme ortamlarının Visual Studio olmasına şaşırmamak gerekir. MonoDevelop olarak belirtmiş olduğum C# IDE’si ise cihazınız macOS veya Linux tabanlı ise kullanabileceğiniz bir kaynak. Bu iki kaynağa ulaşabilmeniz için aşağıda gerekli yönlendirmeleri yapan bir link çıkışı gerçekleştirdim.

Visual Studio programlarına göz atmak için buraya tıklayarak daha kolay bir şekilde ulaşım sağlayabilirsiniz. Benim aradığım şey Mono diyorsanız buraya tıklayarak ilgili sayfaya kolay bir şekilde ulaşım sağlayabilirsiniz.

Bu dönem görsel programlama adı altında göreceğim C# dilini bu sayede birlikte daha yakından tanımış ve C# Nedir sorusuna cevap bulmuş olduk. C# hakkında önerileriniz veya takip ettiğiniz kaynaklar bulunuyorsa benimle aşağıda bulunan “yorum yap” kısmında iletişime geçebilirsiniz.

Yorum Yap

Yazar Hakkında

Yazmayı, öğrenmeyi, öğrendiklerini paylaşmayı , kodlamayı ve günün birinde Yönetim Bilişim Sistemleri Uzmanı olmanın hayalini kuran birisiyim.

Yorum Yap

Yorumlar (1)

  1. 3 yıl önce

    Eline emeğine sağlık güzel bir açıklama olmuş. Ben programcının bilgili olanını severim… Takipteyim

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir