java c#'a oranla daha katı bir dildir. katı olmasının tabi ki dez avantajları ve avantajları bulunmakta.
java multiplatformdur, neredeyse dijital saatlerin bile içine atıp çalıştırılabilir. c#, microsoft sistemlerine bağlıdır.
projesinizi java ile geliştirdiğinizde sunucuları ister linux, ister bsd yapın fark etmez her ortamda çalışır. c# sadece windows sunucuda çalışır. mono kütüphanesi pistir, kakadır. kokar, doğru düzgün çalışmaz.
java ile mobil programlamada hem ios hem de android uygulamalar port edilebilir, biraz kanırtılırsa windows phone'a da port edilebilir.. c#'ta bunu yapmak için xamarin diye bir ide ve kendilerine ait kütüphane kullanmanız gerekir, yani gene bir ton para verirsiniz. parayı verdikten sonra, c#'ın java'ya benzetilmiş estetik ameliyatlı bir çakmasını görürsünüz. (bkz: xamarin)
java'yı oracle (bkz: oracle), c#'ı microsoft geliştirir. (bkz: microsoft)
c# .net framework'ü üzerinde çalışırken (bkz: .net), java jvm (java virtual machine) (bkz: jvm) üzerinde çalışır.
c#, c++'dan korkar, java c++'ın kankasıdır.
sektörde neden c# kullanılır?
bunun pek çok sebebi vardır. başlıca sebep olarak okullarımızda c# öncelikli öğretilir. bundan dolayı yetişmiş kalifiye elemanlar c# bilirler (onu da tam bilmezler gerçi ancak biliyorlar diyelim). java bilen eleman yüksek maaş ister, yüksek maaşlara çalışır, firmalar da c#'a yönelerek personele daha az ücret vermek istediklerinden dolayı java ile çalışmazlar.
sektörde neden java kullanılır?
sunucu ve geliştirici ortamı bakımından personeline özgürlük sunmak isteyen ve sunucuya, geliştirici ortamlarına para vermek istemeyen firmalar bunu tercih ederler. sunucuya, geliştirici ortamına verecekleri parayı personellerine verirler. sunucuları ve personel bilgisayarları linux olursa büyük bir yükün altından kalkmış olurlar ve java'nın en büyük avantajı olan multiplatform'dan yararlanırlar.
c sharp her işletim sisteminde çalışmaz fakat java'yı her işletim sisteminde kullanılır. istisnasız... aksini duymadım.
başka bir bakıma ise
yer açısından java daha az kaplar. telefonlarda bellek kazancı olması açısından java kullanılır. fakat yavaş çalışır.
yavaş çalışmasının en önemli sebebi kodları satır satır okur ve derler.
c# ise tam tersi daha fazla yer kaplar fakat çok hızlı derleme yapar. javadan farkı olarak satır satır okumaz. programı okur akabinde derler.
yani bu iki programı karşılaştırmak çekiç ile penseyi karşılaştırmaktır. saçmadır.
ikiside çivi çakar ama çekiç le daha rahat olur. ikisinle de fındık kırarsın ama pense ile daha rahat olur.
öyle bişey işte.
ikisi farklı platformlar ama chsrap diyorum. javadan çok daha kolay. java da model oluşturup veri ile doldurmak neredeyse işkence, ama csharp ta modeli oluştur alanları setle gönder gitsin. kolay, hızlı ve sağlam şekilde uygulama geliştirmek için csharp.