Bilmek istediğin her şeye ulaş

Java mı daha önemli C++ mı?

Hiçbiri! Sorudan daha yolun çok başında olduğun belli oluyor. Neden hiçbiri dedim çünkü önemli olan problemi çözebilmektir, çözümü hangi programlama dilinle yazdığın değil. Bak mesela sorduğun iki dilde nesne yönemli programlama özelliğini taşıyor. Sen bu nesneye yönelik programlama teorisini özümsemişsen herhangi bir dilde çözümü uygulaman seni çok zorlamaz. Anladığım kadarıyla senin sormak istediğin iş dünyasında hangisi daha önde gidiyor? Java. Hangi teknolojinin revaçta olduğunu öğrenmek istiyorsan kariyer.net gibi sitelerden iş ilanlarını araştır.
  • Paylaş
2

Aslı Yüzgül, Evet çok kafam karıştı açıkçası ama aydınlattınız, çok teşekkürler. Araştıracağım mutlaka.

Uğur Çakmak, Rica ederim kolay gelsin.

80-90 kişilik bir yazılım mühendisliği öğrenci grubunun 4-5 kişisi C ve türevlerinden hayatını kazanıyor.
  • Paylaş
4

Aslı Yüzgül, Yeterince açık oldu :) Ben Java'dan önce C++ öğrendim ve proje ödevi aldığımda yaptırabileceğim birileri bulmam çok zor oldu ancak profesörümüz inatla önemli olduğunu vurguluyor. Çelişkide bıraktı.

Yakup Yiğit, Kabiliyetleri açısından C daha yetenekli bir dil, bu konuda profesörünüze katılıyorum. Ama piyasa Java üzerine kurulu.

Ceyhun Çakar, Aslında bu yazdığınızda bir çelişki yok. C++ zor bir dil. O yüzden C++ bilen birini bulmak daha zor. Ama, zorluğu birçok alan için gerekli çünkü zorluğunun nedeni size bilgisayarın tüm kontrolünü veriyor. Bu yüzden de bu kontrolün gerekli olduğu alanlarda öenmli ve C++ bilenler az bulundukları için değerli. Yakup Bey'in dediği gibi C daha fazla kaynak kontrolü verir (Exception ve benzeri öğeler yoktur ve kaynak harcamazlar). Ama aradaki fark %10 kadar diye biliyorum. Java C++ arasındaki makas daha geniş bence.

Aslı Yüzgül, Çok teşekkür ederim açıklamalarınız için, sayenizde C++ ında ne işe yaradığını öğrendim açıkçası bunu çok sorguladım ama bu kadar net açıklamalar almamıştım.

Java, C# gibi diller insan diline en yakın olan yüksek seviyeli programlama dilleridir. Günümüzde üretilen çoğu yazılımlar, geliştirilen uygulamalar (özellikle mobil platformlardaki) genel olarak bu diller kullanılarak oluşturuluyor. Dolayısıyla bu özellikleriyle daha önemli ve popüler hale geliyorlar.
  • Paylaş
Programcılık alanında en önemli şey, bu tür bir sorunun yanlışlığıdır bence. "Timsah mı daha güçlü aslan mı? " gibi bir soru bu. Suda timsah güçlüdür, karada aslan. C++ preformans dilidir. Yazacağınız programın hızı ve kaynak kullanımı (örneğin daha az RAM alanı) önemliyse C++ daha iyidir.

Java'da, C++'daki altyapıya dair bir çok öğe yoktur. Örnek: pointer, referans, volatile. Bu öğelerin görevleri arkaplanda gizlice yapılır. Bilmeniz ve öğrenmeniz gerekmez. Ayrıca Garbage Collector, sizi dinamik bellek yönetimini (ki C++'da öğrenmesi ve kullanması en zor konulardan biridir) öğrenmekten kurtarır. Dolayısıyla Java daha kolay öğrenilir ve daha hızlı kod yazmanızı sağlar. Bununla birlikte, Java platform bağımsızlığı nedeniyle daha güvenlidir. C veya C++ programcısı tam güç sahibidir dolayısıyla virüs yazmak için ideal bir dildir. Oysa Java kodları, JVM tarafından denetlenirler.

Burada java için yazdıklarım büyük oranda C++ ve C# karşılaştırması için de için de doğrudur.
  • Paylaş
4

Şükrü Bezen, Java platform bağımsızsa ve web'de de çalıştırılabiliyorsa nasıl oluyor da c++'tan daha az verimli oluyor virüs konusunda ;)

Gökhan Çancılar, Java ile yazılan uygulamalar genelde daha yavaş çalışır. Mesela openoffice. Java ile yazıldım der açılırken. C++ makinaya daha yakın olduğu için daha performanslıdır.

Ceyhun Çakar, Çünkü java'nın yavaşlığının temel nedenlerinden biri programcıyı her adımda denetlemesidir. Örneğin diğer programlarda kullanılan yani çalışan programa ait olmayan RAM bilgilerini sızdırmak istiyorsun. C'de eğer diğer programın RAM adresini biliyorsan yapabilirsin. Java'da process açtığında sana bir RAM bölgesi verilir ve her RAM'a ulaşmak istediğinde kendi bölgende olup olmadığın kontrol edilir. Örneğin aşağıdaki gibi bir kod C/C++'da geçerlidir ama java izin vermez.

unsigned int a = *(0x1000201F);

C/C++ için 0x1000201F adresinin istemde bulunan process'e ait olmasının önemi yoktur (ki bu virüs yazmak isteyen birinin tam ihtiyacı olan şey). Dolayısıyla denetim için zaman kaybetmediği için java'dan daha hızlı olur (not: hız farkının tek nedeni değil).

Yani C/C++ programcıya niyetinden bağımsız olarak tam özgürlük verir. Java'da senin yazdığın kod dışında senin niyetini denetlemek için veya hata yapmanı engellemek için (Garbage Collector gibi) ek kodlar (paralel veya seri olabilir) çalışır.

Ceyhun Çakar, C/C++ yukarıdaki durumu açıklamak için "No hidden process" ("Gizli işlem yok") mottosunu kullanıyor.

Kesinlikle C++. ODTÜ Bilg. Müh. Mezunuyum ve programlamaya Python ile giriyor ve arkasından C, C++ dilleri ile teorik, algoritmasal kısımları işliyoruz. (İsteyen Java'yı seçmeli alabiliyor tabi)

Java enterprisedır, piyasa dilidir. Evet para kazanırsınız evet sektörde kullanan zibilyon tane şirket var fakat benim gözümde PHP bilip web programcısıyım diye dolaşan programcılardan farkı yok bu kişilerin.

Bu arada javanın gücüne sahip olmak istiyorsanız Scala öğrenmenizi tavsiye ederim.
  • Paylaş
Öğrenim döneminde C++'ı daha önemli buluyorum. Ama iki dilin hitap ettikleri yerler çok farklı. Tamamen birbirinin alternatifi değiller. Java bir kere yaz, her yerde çalıştır mantığını güder. Bu da ara koda çevrilme demektir. Ara kod da tekrar derleneceği için yavaştır. Bütün yaklaşımlarda bu böyle. Ama hangisinin önemli olduğu sabit değildir, kullanılan yere, çalışılan yere göre değişebilir.
  • Paylaş
Her iki dilin kendine göre üstün özellikleri var kimse java ya da C++ dememeli ama eğitim kurumlarında olsun C++, C, C# gibi diller kullanılıyor üstadlarımın da dediği gibi piyasa java üzerine kurulu...
  • Paylaş
C++ daha geniş ve gelişmiş. Yani C++ daha önemli ama Java ile de güzel şeyler yapılabilir.
  • Paylaş
Yerine göre değişir. Programlama sorun çözmektir. Önemli olan sorunu çözebilmektir. Tabii ki günümüzde C#, Java gibi üst seviyeli diller daha yaygın olarak kullanıldığından bir çok firmanın iş ilanları C# bilen... Java bilen diye başlar...
Bunun yanında seninde bu işe nasıl baktığın önemli... En kolayından bir dil öğrenip internette yada bir firmada küçük çaplı işler yapıp biraz para mı kanayım, yoksa C++ öğrenip makineye direk hitap edip daha kariyerli işlerde çalışmalıyım düşüncesinde misin onu bilmek gerek... .
  • Paylaş
Sonraki Soru
HESAP OLUŞTUR

İstatistikler

1270 Görüntülenme12 Takipçi9 Yanıt