söz diziminin mükemmelliği ve derlenme öncesi hata ayıklama yetenekleri ile beni benden alan, yıllardır vb ve asp kullanmama rağmen birkaç hafta içinde benimsediğim, geleceğin kendisinde olduğuna tüm gönülden inandığım mucizevi programlama dili.
ayrıca program yazarını çok kısa sürede disipline sokması, büyük projelerde kodların okunabilirliğini ve standartlaşmasını sağlamaktadır. adıda zaten buradan gelmektedir. c'nin daha sharp (keskin) olanıdır.
java ya misilleme olarak çıkarılmış ,oop yi tam destekleyen , hatta oop dışı programlama yapmanıza izin bile vermeyen ,microsoft programlama dili.microsoft bu dil için aynen javanın dediği gibi platform bağımsız bir dil sıfatını yakıştırmaktadır,velakin sadece microsoftta doğru düzgün çalışan bir dil nasıl platform bağımsız olabilir,tartışılır!bu dil ile geliştirme yapabilmek için .net platformuna ihtiyaç duyarsınız,bakıldığı zaman unix ve türevleri içinde c# için mono platform yazılmıştır.ancak bu platformun free olarak yazılması ve microsoft tarafından yazılmamış olması c# ın platformlar üzerindeki gücünü düşürmüştür.hatta ve hatta kendi platformu dışında gücü bile yoktur.
(bkz: her horoz kendi çöplüğünde öter)
taşınabilir olmayan, java ve c plus plus dillerinin melezi olan programlama dili. linux platformu üzerinde kullanmak için mono diye bir proje var ama windowsda yapabildiğiniz c# atraksiyonlarını mono ile yapamıyorsunuz. bence piyasada bir sürü programlama dili varken*** bu dili kullanmak akıl kârı değil.
java gibi olabilmesi için kırk fırın ekmek yemesi gereken platformun* (neden diyecek olanlar için bu platformun asıl çıkarılma nedenlerinden biri olan taşınabilirlik, hatta taşınabilirlikten öte platformdan bağımsızlık ilkesini şu an için yerine getiremediğini söylemek gerekir) resmi dili olarak bilinen bir dil. özellik açısından java'ya göre avantaj olarak sayılabilecek yanı belki işaretçilere izin vermesi olarak sayılabilir, ancak zaten böyle kısıtlı, sanal makine ile çalışan bir platformda ne işaretçisinden bahsediyorsun diye sorarlar insana.
c# ve temel olarak windows baz alınarak geliştirilmiş bir sunucu yazılımını mono project ile linux altında çalıştırma gibi kötü bir tecrübe geçiren biri olarak, ilk komiğime giden şey kodların tekrar derlenmeden çalışmaması oldu. hatta daha açık konuşayım, mono ve microsoft'un c# derleyicileri aynı kaynak kodunu derlemekten bile uzak şu an için, sorun çıkarıyor, kodda değişiklik yapmak gerekiyor. c ya da c++ gibi native kod üreten dillerde, profesyonelce yazılmış taşınabilir kodları desteklenen platformlarda sorunsuz derleyebiliyorken, böyle sorunlu bir teknolojinin platformdan bağımsızlık için neden tercih edilmesi gerektiğini biri bana açıklayabilirse sevinirim.
microsoft'un platformdan bağımsızlık hikayesinin sadece windows ve microsoft'un çıkartacağı diğer işletim sistemlerinin hedeflenerek söylendiğini hatırlatmakta fayda var. zaten microsoft'un hep yaptığı iş değil midir, standardı ben belirleyeyim, "herkes bana uysun, nasıl olsa pazarın büyük kısmı benim" mantığı. bence ileride tahtından inme nedenlerinden biri de bu olacak.
yeni versiyonu olan 3.0 spesifikasyonu ile anonim tipler ve lambda ifadeleri desteği ile birazcık eşşeğin kulağına su kaçırmış, ruby'ye haskell'e özenmiştir.
alakasız not: bu arada .net söz konusu ise platformdan bağımsızlık hadisesinin de programlama dilinden bağımsızlık olarak anlaşılması gerektiğini konuşmacılara hatırlatır mutlu günler dilerim.
c# bir ecma standardıdır. (bkz: http://www.ecma-international.org/...) dolayısıyla yalnızca microsoft'a mal edilmesi, sıçtığı yerde günahını microsoft'un üzerine yığmak vb. davranışlar çok adil olmaz.
şimdi buraya dikkat: (haşmet babaoğlu ünlemi)
c#'ın kendi başına sıçabileceği, sıvayabileceği bir mecra da yoktur. c#, yalnızca diğer birçok dille beraber .net framework ile kullanılabilecek bir standarddır. derleme ile beraber, msil'e çevrilir ve compilation sonrası ortada c#, vb.net, j# gibi kavramlardan bahsedemeyiz. geleceğim nokta şu: eğer bir başarı veya başarısızlıktan bahsediyorsak bu c#'ın değil, .net framework'un başarı veya başarısızlığı olabilir. söven veya rep verenin adresi c# değil, .net framework olmalıdır.
c#, microsoft'tan bağımsız bir standard olduğu için birileri çıkıp c#'ı daha etkin şekilde kullanabilen bir framework yazabilir. bununla ilgili bir kısıtlama teoride yoktur.
kendini programlamaya adamamış bünyeler tarafından sıkıcı ve zor bulunan (dersleri bakımından cidden öyle olduğunu kanıtlayan) programlama dili. her ne kadar şimdilik derslerde sıkılsak, evde ödevleriyle boğuşsak ve toplama çıkartma gibi basit işlemler yapabilen programlar yazsak da, çabalarımıza karşılık verebilendir.
yazımı ilen c diline benzeyen bir programlama dilidir. c# bilmenin diğer dillerden farklı olarak bir farkı vardır. c# bildiğiniz sürece asp.net uygulaması geliştirebilirsiniz. böylece hem ayrıntılı yazılımlar geliştirme imkanına sahip oluyorsunuz hem de web programlama üzerinde detaylı çalışmalarda zorluk çekmiyorsunuz.
microsoft tarafından desteklenen bir programlama dilidir, özellikle türkiye'de çok fazla popüler bir dildir çünkü yazımı diğer dillere göre biraz daha pratiktir, ve patronlar da çabuk iş görmek isteyince c sharp bu kadar populer oldu. tabi sadece patronların bunu istemesi değildi popüler yapan c sharp'ı kısmen de olsa platform bağımsızlığı olmuştur. pocked pc, web, windows uygulamalarını aynı dili kullanarak, aynı ide'yi kullanarak geliştirebiliyoruz bu hem biz yazılımcılar için güzel bir şey hemde patronlar için güzel, üç farklı yazılımcı, üç farklı programa lisans almaktansa tek bir lisans, tek bir yazılımcı ve hemen hemen aynı sürede biten bir iş.
patron daha ne isteyebilir ki?
microsoft'un sürekli geliştirmesi ile yazılımcıları da yormaktadır.
kod yazmayı hızlandıran ilginç özellikleri mevcuttur. örneğin aşağıdaki gibi bir for döngüsü yazıyorsunuz, değişken tanımlayıp döngü uzunluğunu yazıp değişkeni artırıyorsunuz, süslü parantezaç kapa yapıyorsunuz, süslü parantez içine döngü içerisinde hangi işlemin yapılmasını isterseniz onun kodunu yazıyorsunuz.
for (int i = 0, i < 1000, i++)
{
ıslem();
}
bunun yerine uzun uzadıya uğraşmadan, for yazıp iki defa tab tuşu'na basın otomatik olarak aşağıdaki kod gelsin.
for (int i = 0, i < length, i++)
{
}
dongunun uzunluğunu length kısmına yazın, dongunuz hazir. içine kodu yaz devam et.
ne yapacağım lan ben bunu demeyin gerçekten işleminizi hızlandırıyor.
aynı şey if, do while gibi şeyler için de geçerli.