Javanin Artilari Eksileri Nelerdir?
-
3. yılıma geçiyorum yazılım mühendisliğinde. Hayırlısı ile mezun olacam (:
Okulda java ve c# a değindiler (: değindiler diyorum çünkü oturup adam gibi öğretmeyecekler sana bunu bir kere aklında bulundur.
c# ve java ile bir birine benzer 2 tane proje yaptım. daha doğrusu akın softun ufak otomasyonlarını kendim oturdum kodladım.
java ile kodlarken oracle kullandım, c# ile ms msql.
c# ile daha rahattım kodlama yaparken zevk aldım resmen. ayrıca geliştirme ortamı çok çok çok iyi (:
java ise beni çok fazla yordu. resmen gerildim kod yazarken (: kişisel deneyimlerden öte bir iki bir şeye değinmek istiyorum.
c# da java da müşteri tarafında sıkıntı oluyor. c# ile yazıyorsun framework ler sorun cıkarıyor sen 4 e gore yazıyorsun müşteri xp kullanıyor framework xp ye yuklenmiyor vs vs gibi düşünebilirsiniz.
java da yazıyorsunuz iyi güzel hoş fakat sürekli jwm güncellemesi çıkıyor birinde çalışan birinde çalışmıyor, çalışsa bile yorumlamadan dolayı sistem kilitleniyor vs vs..
şu an elimde olsa oturur en başından c/c++ öğrenirim. Pointer olayına dalarım (:
ayrıca java sadece bir programlama dili değil bir teknoloji. java se si var java ee si var maven var jsp var var da var (:
-
sLeymN bunu yazdı
3. yılıma geçiyorum yazılım mühendisliğinde. Hayırlısı ile mezun olacam (:
Okulda java ve c# a değindiler (: değindiler diyorum çünkü oturup adam gibi öğretmeyecekler sana bunu bir kere aklında bulundur.
c# ve java ile bir birine benzer 2 tane proje yaptım. daha doğrusu akın softun ufak otomasyonlarını kendim oturdum kodladım.
java ile kodlarken oracle kullandım, c# ile ms msql.
c# ile daha rahattım kodlama yaparken zevk aldım resmen. ayrıca geliştirme ortamı çok çok çok iyi (:
java ise beni çok fazla yordu. resmen gerildim kod yazarken (: kişisel deneyimlerden öte bir iki bir şeye deyinmek istiyorum.
c# da java da müşteri tarafında sıkıntı oluyor. c# ile yazıyorsun framework ler sorun cıkarıyor sen 4 e gore yazıyorsun müşteri xp kullanıyor framework xp ye yuklenmiyor vs vs gibi düşünebilirsiniz.
java da yazıyorsunuz iyi güzel hoş fakat sürekli jwm güncellemesi çıkıyor birinde çalışan birinde çalışmıyor, çalışsa bile yorumlamadan dolayı sistem kilitleniyor vs vs..
şu an elimde olsa oturur en başından c/c++ öğrenirim. Pointer olayına dalarım (:
ayrıca java sadece bir programlama dili değil bir teknoloji. java se si var java ee si var maven var jsp var var da var (:
python + wxpython akar. :) wxpython zaten c++ ile yazmış bir proje, eğer öyle çok performans takıntısı yoksa orta ölçekte çok güzel işe yarıyor.
-
Ben genelde Linux'a bir script yada işimi görücek küçük bir yazılım yapacaksam python+gtk veya qt kullanıyorum. Son zamanlarda gömülü sistemlerle baya haşır neşirim orada da artık python kullanıyorum.
-
tagext bunu yazdıTugberk bunu yazdı
Eksileri, performans kritik yazılımlarda kullanılmaması. Oyun filan yazmıyorsanız yine de JNI ile performans kritik kod bölümlerini native olarak yazıp durumu kurtarabilirsiniz.
kritikten kasıt nedir? Memleketimin en baba kurumları uluslararası zilyontane baba kurum en ciddi işlerini java üzerinden götürüyor. Uygulaman scale edilebiliyorsa c yada java arasında performans açısından bir fark yoktur.
Serverlar gibi latency throughput değeri önemli olan uygulamalar, yukarıda bahsettiğim gibi oyun motorları ve yoğun matematiksel işlem gerektiren kodlar (kriptografi video encode decode vb).
Live messenger ı java ile yazmışsın C ile yazmışsın ne farkeder.
Java ile pekala scalable server yazılabilir, ancak direkt işletim sistemi olanakları ile dizayn edilen ve yazılan bir serverdan daha fazla kaynak ihtiyacı olur.
O baba kurumlardan birisi de SGK. Medula da maşallah süper çalışıyor dillere destan :)
Yukarıda bahsettiğim konuların bir çoğu java da hazır olarak bulunabilir, mesela SSL işlemini java ile yazmazsınız, çünkü zaten C ile yazılmış bir underlying library ile java da built-in destek vardır SSL e, ancak benim anlatmak istediğim, ya kendiniz bu tür yoğun işlem gücü gerektiren bir işlem yapacak olursanız, mesela RSA e alternatif bir algoritma üretecek olursanız, bu işi Java da yapmazsınız. Yazdığınız şey ilerde standart olursa, java ya eklenebilir, ve yine java da çalışırken hızlı çalışabilir, ancak o performans kritik kod yine de native olarak yazılmış.
Sanırım biraz fazla uzattım, umarım anlatabilmişimdir.
-
kritik uygulamadan ziyade senin bahsettiğin OS e ne kadar yakın yazıp yazmamakla alakalı şeyler. Mesela medula yı c yada c++ ile yazıyor olsalardı muhtemelen 35 sene sürerdi o uygulamanın şu haline gelmesi. Dolayısyla kritiklik kriter değil.
Daha önce çalıştığım projelerden birinde C ile deep packet inspection yapılıyordu. DPI dan geçtikten sonra paketin mevcut kurallara göre charge edilip gerekli kuralların işletilmesi de gerekiyordu. Projenin sonraki versiyonlarında paket işlendikten sonra diğer işler için java ile yazılmış serverlara yönlendirilmesi planlanıyordu. c yada c++ ile memory leakleri engellemek çok zor. yazan kişinin çok tecrübeli olması gerekiyor. öbür yanda cluster kurmak memory transfer etmek imkansız. yani java da sen heap in birebir kopyasını oluşturabilirsin ama c yada c++ ile bu nerdeyse imkansız. günümüz yazılımlarında performans kriter değil. 2 cpu lu sunucu ile 4 cpulu sunucunun arasında %10 fiyat farkı var ya da yok.