Bitmeyen tartışma konusu Java mı Csharp mı ? (Java vs C#)

in #tr6 years ago

Dün akşam mesai yaparken yeni tanıştığım bir arkadaşım ile ufaktan bu tartışmayı yaptık. Normalde bu tartışmaya hiç girmem fakat karşımdaki kişiyi anlamak için birazcık uzattım.

Yıllardır javacılar ve csharpçılar arasında bitmeyen tartışma söz konusudur.Hangisi daha iyi ? Hadi ana hatlarıyla değerlendirelim.

Ortak Yönleri Nelerdir ?

İkiside yüksek seviye yazılım geliştirmek kullanılan ve tercih edilen dildir. Yüksek seviyeden kasıt ettiğim web ve windows tarzı uygulamalar. Karışık mimarileri ya da business logic dediğimiz iş mantığını çözmek için biçilmiş kaftandırlar.

Syntax (Yazım Biçimi)

İkisinin de yazım biçimi birbirine çok benzer. Java, c++ tan etkilenmiş olup, c# ise hem java hem de c++ yazım biçimlerinden etkilenmiştir.

İkiside nesne tabanlı programlama dilidir (Object-Oriented)

Nesne tabanlı programlama yöntemi, yazılım geliştirme işinin temel taşıdır. Dolayısıyla bu yöntemi desteklemek bir dil açısından önemli bir özellik olacaktır. Hem c# hem de java bunun en iyi örneklerindendir.

Her iki dilde size çok zaman kazandırır

Yazılım geliştirme işi komplex bir iştir. Yüzlerce satır kod yazarsınız, mantığını oturtmaya çalışırsınız. Hem java hem c# size sunduğu yardımcı kod kütüphaneleri, api'ler v.s ile sizlere inanılmaz zaman kazandırır. Tekerleği yeniden keşfetmenizi engeller.

Peki kardeşim hiç mi fark yok aralarında ?

Var olmaz mı. Fakat teknik anlamda bunları burada yazıp, yazıyı uzatmak istemiyorum. Aralarındaki farkları şöyle söyleyebiliriz;

Taşınabilirlik (Portable)

Bu konuda java c#'a göre daha taşınabilir halde. Javanın sloganı zaten "write once, run everywhere (bir kere yaz, her yerde çalıştır)" idi. .Net ve c# bunda biraz geri kalsa da son zamanlarda c# arayı iyice kapatmaya başladı diyebiliriz.

Geliştirme Ortamı

.Net ve C# Microsoft Visual Studio'nın dışında pek alternatifi yok gibi. Fakat javanın 4 tane geliştirme ortamı mevcut. Eclipse, IntelliJ IDEA, Oracle NetBeans, and Oracle JDeveloper.

Zorluk dereceleri

Bu konuda hem java hem de c# kodu yazarak proje geliştirmiş biri olarak c#'ın bu konuda önde olduğunu söyleyebilirim. C#'ın çok daha pratik yöntemleri mevcut. Teknik kısıma girmek istemiyorum fakat merak edenler için çok basit iki örneği söyleyeyim. C#'taki Tupple, Event .Hele ki event olayın java da yapmak için çok uğraşmıştım. (İlk zamanlar) Fakat c# ile bunu tek satırda yapabilirsiniz.

End the winner is... (Kazanan)

Kazanan yok. Her iki dilde farklılıklar olsa da ikisinin de tek bir amacı var: Genişleyebilir, hızlı, anlaşılır web/windows masaüstü çözümleri geliştirmenizi sağlar. Bunlardan herhangi birini seçmeniz tamamen sizin işinize, projenizin gereksinimlerine bağlı olarak değişir.

Happy coding efenim.. :)

Kaynak

Sort:  

Yazılıma merak saldığımdan beri, türkçe kaynakların hepsi takım tutar gibi dil savunuyor. Bu yazının dili oldukça hoş ve özet olmuş. Bu tarz yazılar bekliyoruz.

2 yıldır microsoft tabanlı çalışan biri olarak c#' ın aslında hantal bir dil olduğunu düşünüyorum zaten sizde yazınızda belirtmişsiniz bunun en büyük sebeplerinden biri kesinlikle bağımsız olmaması ve sizi kısıtlaması. Tabi ki java da mükemmel bir dil değil. Bir zamanlar duyduğum çok güzel bir sözle bitirmek istiyorum en iyi dil bildiğin dildir :D yazınız için teşekkürler. Çok açıklayıcı bir yazı olmuş.

Coin Marketplace

STEEM 0.29
TRX 0.11
JST 0.033
BTC 63945.57
ETH 3135.76
USDT 1.00
SBD 4.00