1.
programlama dillerinin hepsi bir araçtır aslında. birinin diğerine üstünlüğü amaca, kullanıldığı yere va zamana göre değişir. yine de farklarını bilmek faydalıdır:
- java, java runtime environment üzerinde çalışırken, c# common language runtime üstünde çalışır.
- java'da operatör overload edemezsiniz, c#'da bu mümkündür.
- java web tabanlı büyük uygulamalarda daha çok tercih edilmekte iken oyun kanadında önemsenecek derecede bir pazar payı yoktur. ancak c# bu konuda ilerlemesini sürdürmektedir (unity).
--- alıntı ---
java programmers wear glasses because they can't c#
--- alıntı ---
- java, java runtime environment üzerinde çalışırken, c# common language runtime üstünde çalışır.
- java'da operatör overload edemezsiniz, c#'da bu mümkündür.
- java web tabanlı büyük uygulamalarda daha çok tercih edilmekte iken oyun kanadında önemsenecek derecede bir pazar payı yoktur. ancak c# bu konuda ilerlemesini sürdürmektedir (unity).
--- alıntı ---
java programmers wear glasses because they can't c#
--- alıntı ---
devamını gör...
2.
2 programlama dili arasında yapılan karşılaştırma.
dil olarak birbirlerine benzeseler de, şahsi görüşüm c'ye oy vermeme yol açıyor. bir türlü sevemedim şu java'yı.
ve bence visual studio >> netbeans vb.
dil olarak birbirlerine benzeseler de, şahsi görüşüm c'ye oy vermeme yol açıyor. bir türlü sevemedim şu java'yı.
ve bence visual studio >> netbeans vb.
devamını gör...
3.
javayı görünce bile midesi bulanan biri olarak c# diyorum.
devamını gör...
4.
c# sanki içimi daha çok açıyor gibi ve öğrenmesi daha kolay bence javaya biraz baktım ama biraz komplike olduğunu gördüm.
devamını gör...
5.
java ile c# aynı markete hitap etse de dilin tasarımındaki mantık arasında oldukça net farklılıklar vardır.
java da her zaman öntanımlı bir davranış var ve bunun dışına çıkılamaz iken c#'da her zaman bu konuda serbest bırakır. örn olarak javada tüm functionların öntanımlı olarak virtual olması gibi. bu bakış açısı diğer dil ve hatta kütüphane tasarımını bile etkilemekte.(başka çok fazla örnek bulunabilir.)
teknik olarak da oldukça farklılıklar olmakla beraber en önemli kısımları bence jeneriklerde javanın tür silme (type erasure )kullanırken c#da reified(somutlaştırma) kullanılmasıdır. bunun biri diğerine üstün demek biraz zor, ikisi de mantıklı ve arkaplanında seçilmesinin bir nedeni var. java tür silme sayesinde generic olmadan ki collection sınıflarına desteğini sürdürebilmek gibi çok büyük bir artısı varken c#da da reified olmasının performans kazanımları olmakta.
bu iki dil birbirini aşırı derece de birbirini hala etkilemektedir. ikisinin de dil tasarımı açık olarak sürdürülürken bu çok net bir şekilde gözükmekte. çünkü bu kadar birbirine benzeyen dillerde daha önce benzer bir dile eklenmiş bir referansın bulunması dil tasarımı açısından çok büyük bir önem arz ediyor. örnek olarak csharpda default ınterface özelliğinin eklenmesi, javada da var type inference'in eklenmesi gibi.
ide gibi olanaklarla karşılaştırılması bir dil için mantıklı değil. ancak teknoloji için mantıklı. ama ide için diyeceğim bir şey var. visual studio ve intellij idea da kullanmış biri olarak söylüyorum. dünyada intellij idea'dan daha iyi bir ide uzun süre var olamayacak. visual studionun da intellij ideanında community sürümü bulunmakta. csharp için intellij idea tabanlı rider var ama ne yazıkki ücretsiz sürümü bulunmuyor.
dediklerimden ayrıca ilginç bir durum var. c# tasarımındaki mantığından dolayı çok fazla özelliği olan çok büyük ve karışık bir dil. dilin bu kadar büyümesi bence çok iyi bir şey değil. dilin bu kadar büyüyeceğine java kadar boilerplate olması daha iyi olabilir. çünkü bir özellik eklendiğinde başka bir özelliğin eklenmesi daha zorlaşıyor karmaşıklığı üstel olarak artıyor. bu yüzden bence csharp daha zor bil dil. ve daha çok teknik bilgi isteyen bir dil. ancak türkiyede ve dünyada muhtemelen microsoft'un dili bir teknoloji değilde bir ürün gibi satmaya çalışmasından kaynaklı csharp bilen insanların teknik bilgileri saçma düzeyde düşük. abartı düzeyde. bu javaya da android programlama ve android programlama da bir sıra güncel jdk kullanılamaması ile de oluşmaya başladı. javanın zirve zamanındaki community büyüklüğü ve elitliğinin java dahil bir daha hiç bir programlama dilin başına gelemeyeceği aşikar.
java da her zaman öntanımlı bir davranış var ve bunun dışına çıkılamaz iken c#'da her zaman bu konuda serbest bırakır. örn olarak javada tüm functionların öntanımlı olarak virtual olması gibi. bu bakış açısı diğer dil ve hatta kütüphane tasarımını bile etkilemekte.(başka çok fazla örnek bulunabilir.)
teknik olarak da oldukça farklılıklar olmakla beraber en önemli kısımları bence jeneriklerde javanın tür silme (type erasure )kullanırken c#da reified(somutlaştırma) kullanılmasıdır. bunun biri diğerine üstün demek biraz zor, ikisi de mantıklı ve arkaplanında seçilmesinin bir nedeni var. java tür silme sayesinde generic olmadan ki collection sınıflarına desteğini sürdürebilmek gibi çok büyük bir artısı varken c#da da reified olmasının performans kazanımları olmakta.
bu iki dil birbirini aşırı derece de birbirini hala etkilemektedir. ikisinin de dil tasarımı açık olarak sürdürülürken bu çok net bir şekilde gözükmekte. çünkü bu kadar birbirine benzeyen dillerde daha önce benzer bir dile eklenmiş bir referansın bulunması dil tasarımı açısından çok büyük bir önem arz ediyor. örnek olarak csharpda default ınterface özelliğinin eklenmesi, javada da var type inference'in eklenmesi gibi.
ide gibi olanaklarla karşılaştırılması bir dil için mantıklı değil. ancak teknoloji için mantıklı. ama ide için diyeceğim bir şey var. visual studio ve intellij idea da kullanmış biri olarak söylüyorum. dünyada intellij idea'dan daha iyi bir ide uzun süre var olamayacak. visual studionun da intellij ideanında community sürümü bulunmakta. csharp için intellij idea tabanlı rider var ama ne yazıkki ücretsiz sürümü bulunmuyor.
dediklerimden ayrıca ilginç bir durum var. c# tasarımındaki mantığından dolayı çok fazla özelliği olan çok büyük ve karışık bir dil. dilin bu kadar büyümesi bence çok iyi bir şey değil. dilin bu kadar büyüyeceğine java kadar boilerplate olması daha iyi olabilir. çünkü bir özellik eklendiğinde başka bir özelliğin eklenmesi daha zorlaşıyor karmaşıklığı üstel olarak artıyor. bu yüzden bence csharp daha zor bil dil. ve daha çok teknik bilgi isteyen bir dil. ancak türkiyede ve dünyada muhtemelen microsoft'un dili bir teknoloji değilde bir ürün gibi satmaya çalışmasından kaynaklı csharp bilen insanların teknik bilgileri saçma düzeyde düşük. abartı düzeyde. bu javaya da android programlama ve android programlama da bir sıra güncel jdk kullanılamaması ile de oluşmaya başladı. javanın zirve zamanındaki community büyüklüğü ve elitliğinin java dahil bir daha hiç bir programlama dilin başına gelemeyeceği aşikar.
devamını gör...
6.
kariyerine java developer olarak başlamış, sonradan mecburen c# yazmaya geçen ve hali hazırda c# developer olarak çalışan biri olarak söyleyebilirim ki birbirleri arasında fark bulunmamakta.
java’nın platform bağımsızlığı sayesinde farklı işletim sistemi sunucularında deploy edilebiliyor oluşu eskiden javayı bir adım öne geçiriyordu. şimdi .net core sayesinde bu yetenek .net’e yani sizin deyiminizle c#’a da kazandırıldı.
visual studio bir ide olarak netbeans ve eclipse’in yakalayamayacağını düşündüğüm bir seviyede. bu durum da c#’ı öne taşıyordu. ancak java için de visual studio’ya ödeyeceğiniz lisans ücretini ödeyerek jetbrains firmasının geliştirdiği intellij idea’yı kullanarak java tarafında bu açık kapatılabilir.
not : 3 aydır hafta sonu dahil izin kullanamadan çalışıyorum, burada da karşıma iş getiriyorsunuz.
java’nın platform bağımsızlığı sayesinde farklı işletim sistemi sunucularında deploy edilebiliyor oluşu eskiden javayı bir adım öne geçiriyordu. şimdi .net core sayesinde bu yetenek .net’e yani sizin deyiminizle c#’a da kazandırıldı.
visual studio bir ide olarak netbeans ve eclipse’in yakalayamayacağını düşündüğüm bir seviyede. bu durum da c#’ı öne taşıyordu. ancak java için de visual studio’ya ödeyeceğiniz lisans ücretini ödeyerek jetbrains firmasının geliştirdiği intellij idea’yı kullanarak java tarafında bu açık kapatılabilir.
not : 3 aydır hafta sonu dahil izin kullanamadan çalışıyorum, burada da karşıma iş getiriyorsunuz.
devamını gör...