C# mı, Java mı?

Bunu neye dayanarak söylüyorsunuz merak ettim.(sadece oyun konusunu kastediyorsanız belirtin)
Normalde dilin teknik özelliklerinden bahsederdim ama buradaki düşüncem başka. Öncelikle C# dilinin arkasında Microsoft var. Çok geniş kullanım alanları var. Mesela yazılıma adım atan geniş bir kitle oyun yapmak için başlamıştır, karşılaşacakları ilk şey Unity olur ve C# öğrenirler. Windows uygulaması yapmak ister, karşılaşacağı ilk şey C# Windows Forms olur. Web site yapmak ister, .Net falan öğrenir.

Bunlar C#'ı güçlü yapan şeyler (teknik olarak değil, kullanım olarak). Java'dan daha çok geleceği olduğunu düşünmemin asıl sebebi Java'nın artık eskisi kadar yaygın olmaması. Büyük şirketler bile Web altyapılarını Java'dan yavaş yavaş çıkarıyor. Çünkü yerine daha kolay ve daha performanslı alternatifler geldi. Ayrıca Java yeni başlayanlar için çok uygun bir dil değil. Şimdi adama Java'nın avantajlarından bahsedeceğim, yok Garbage Collector yok Stable yok Object-oriented... Bunlar onun için hiçbir şey ifade etmez, yeni bir dil öğrenirken dilin avantajlarından çok dilin kullanım alanlarındaki avantajlara bakmak lazım.
 
Unity ve oyun geliştirme dışında hariç dediklerinize katılmyorum. Java hala Enterprise alanda hakim(bknz: Top 10 Programming Languages To Learn In 2021 | Edureka). Python dilinin bu tarz yazılarda 1 numarada olma sebebi akademik alandaki kullanı mıdır(yapay zeka, makine öğrenmesi vs.). Onun dışında hala Java hakimiyetini korumaktadır. C# dediğiniz gibi arkasında Microsoft bulunuyor fakat dil çıkış itibarıyla gerek syntax gerek class hiyerarşisi olsun Java'ya benzetilmeye çalışılmış. Burada bir dilin fanatikliğini yapmıyorum fakat bu iki dil arasındaki tercih tamamen amaca göre değişir ama burada şu dil ölecektir ya da kullanılması azalıyor tarzı söylemler yanlış olacaktır. Bu arada nesne yönelimli programlama mantığını kavramak için yeni başlayanlara Java biçilmiş bir kaftandır.
 
Normalde dilin teknik özelliklerinden bahsederdim ama buradaki düşüncem başka. Öncelikle C# dilinin arkasında Microsoft var. Çok geniş kullanım alanları var. Mesela yazılıma adım atan geniş bir kitle oyun yapmak için başlamıştır, karşılaşacakları ilk şey Unity olur ve C# öğrenirler. Windows uygulaması yapmak ister, karşılaşacağı ilk şey C# Windows forms olur. Web site yapmak ister, .Net falan öğrenir.

Bunlar C#'ı güçlü yapan şeyler (teknik olarak değil, kullanım olarak). Java'dan daha çok geleceği olduğunu düşünmemin asıl sebebi Java'nın artık eskisi kadar yaygın olmaması. Büyük şirketler bile web altyapılarını Java'dan yavaş yavaş çıkarıyor. Çünkü yerine daha kolay ve daha performanslı alternatifler geldi. Ayrıca Java yeni başlayanlar için çok uygun bir dil değil. Şimdi adama Java'nın avantajlarından bahsedeceğim, yok garbage collector yok stable yok object-oriented... Bunlar onun için hiçbir şey ifade etmez, yeni bir dil öğrenirken dilin avantajlarından çok dilin kullanım alanlarındaki avantajlara bakmak lazım.

Büyük şirketlerin altyapılarında Java'dan vazgeçtiklerini nerede okudun? Ayriyeten bu dediğin şirketler Java'dan .Net alyapısına mı geçiyor? Her şeyi geçtim, zaman mikroservisler zamanı. Bugün bir proje onlarca farklı programlama dili, araç, altyapı servisleri kullanılıyor. Türkiye için konuşmak gerekirse .Net kullanımı Java'dan bir tık önde olabilir fakat dünya geneline baktığınızda açık ara Java daha önde. "Garbage Collection" veya "object oriented programming" sanki çok önemsiz bir şey gibiymiş gibi atlanılması da doğru değil.
 

Yeni konular

Geri
Yukarı