C++ vs Java

Neye göre? Her şey Linux ya da işletim sistemlerinden mi ibaret? Ya da bir kodu her yerde çalıştırabilmek gerçekten bir avantaj mı?
Hocam bence aynı kodun değişiklik olmadan farklı platformlarda çalışması avantaj. Birden fazla platformu hedefleyen bir projeniz varsa sadece tek seferlik yazmakla halletmek bence güzel bir şey. Zaten soru da biraz garip çünkü dillerin kendilerine göre avantajları var kendilerine göre hedefleri var.
 
3 yıldır profosyonel olarak Python ile programlar yazıyorum 1 yıldır da C++.

C++ ve Python temelleri ve amaçları ayrı olan iki dildir. Ki Python'un C++'a göre birçok dezavantajı bulunur. Bunun yanında Python'un da sağlam rakipleri vardır. C++ sistem programlamada ve gömülü sistemlerde popüler olarak kullanılır mesela. Bu durumu Python'ın nasıl değiştireceğini söyler misin?

Zaten soru da biraz garip çünkü dillerin kendilerine göre avantajları var kendilerine göre hedefleri var.

İşte bu yüzden bir dilin birden fazla platformu desteklemesi / desteklememesi bir anlam ifade etmiyor.

Çünkü her dilin amacı farklı olduğu gibi öğrenen kişinin amacı da farklı. Sorsak herkes Python biliyor, C++ biliyor, Arduino biliyor. Kaçı derine iniyor peki?
 
Siz de belirtmişsiniz, dillerin karşılaştırılması tamamen saçmalık. Bir proje üzerinde hangi dil daha kolaylık sağlayacaksa ona göre dili seçmeli! Web Scraping yapmak isteyen bir kişi neden C++ kullansın? Bunun daha kolay bir yolu olan Python dilini tercih eder/etmeli.
 
Son düzenleme:
Yazılımda diller amaca göre seçilir. Bir birey her dili bilebilir ama her dilde uzman olamaz. Çünkü uzman, artık kodda ve hatta o kodu çalıştırdığın ortamda aktif olmak demektir.

Java ya da C++ 12 yaşındaki bir çocuğa hiçbir şey katmaz. C++ öğrenip ne yapacaksın? Onun yerine Arduino ile uğraş. Hem donanımı gör, hem yazılımı gör, hem de kodunu aktif olarak çalıştırabileceğin bir ortama sahip ol.

12 yaşındasınız ve bolca zamanınız var. Bunu iyi değerlendirin. Arduino başlı başına bir mecra bana göre. Çoğu insan küçümseyerek bakıyor maalesef, özellikle saçma sapan blok tabanlı programlamanın yaygınlaşmasıyla beraber. Ancak hem yazılıma hem de gömülü sistemlere girmek için müthiş bir kapı. Arduino IDE tabanlı geliştirme kartları ile IoT uygulamaları yap.

Hayatta her şeyin bir sırası vardır. Bu nedenle ilk adımlar çok önemlidir. Mesela 12 yaşında ben olsam X diline değil, genel olarak dillerin mantığına ve çalışma prensiplerine, kod mimarilerine ve algoritmalara bakardım. Çünkü bir dilden başka bir dile geçerken ya da o dilde işlemler yaparken farkı bunlar ortaya koyuyor. Kimse artık dilin kalıplarını ezberlemeye bakmıyor.

Şu da var. Bir dili bildiğinizden emin olmadan biliyorum, ediyorum, yaparım, ederim demeyin. Bu farkı ben, bir mikroişlemciyi register seviyesinde kodlayıp, ilk sensör kütüphanemi yazdığımda görmüştüm. O günden beri o dili biliyorum, bunu yapıyorum demem.

Anlıyorum, 12 yaşında birçok şey yapmak istiyorsunuz ve bu konu da iyi niyetle açılmış. Ancak emin olun her şeyin bir zamanı var. Mesela C++ ya da Java öğrenmek yerine, "Neden C++ ya da Java ya da 3. bir dil değil?" sorusunu kendine sor ve çözüm bulmaya çalış.

Üniversiteniz yok, staj/iş derdiniz yok, dilleri zorunlu olarak da öğrenmiyorsunuz. Bu nedenle hemen bir şeyler yazıp ortaya bir kod çıkartmaya çalışmayın. Mantığı anlayın. :)
 
Yazılımda diller amaca göre seçilir. Bir birey her dili bilebilir ama her dilde uzman olamaz. Çünkü uzman, artık kodda ve hatta o kodu çalıştırdığın ortamda aktif olmak demektir.

Java ya da C++ 12 yaşındaki bir çocuğa hiçbir şey katmaz. C++ öğrenip ne yapacaksın? Onun yerine Arduino ile uğraş. Hem donanımı gör, hem yazılımı gör, hem de kodunu aktif olarak çalıştırabileceğin bir ortama sahip ol.

12 yaşındasınız ve bolca zamanınız var. Bunu iyi değerlendirin. Arduino başlı başına bir mecra bana göre. Çoğu insan küçümseyerek bakıyor maalesef, özellikle saçma sapan blok tabanlı programlamanın yaygınlaşmasıyla beraber. Ancak hem yazılıma hem de gömülü sistemlere girmek için müthiş bir kapı. Arduino IDE tabanlı geliştirme kartları ile IoT uygulamaları yap.

Hayatta her şeyin bir sırası vardır. Bu nedenle ilk adımlar çok önemlidir. Mesela 12 yaşında ben olsam X diline değil, genel olarak dillerin mantığına ve çalışma prensiplerine, kod mimarilerine ve algoritmalara bakardım. Çünkü bir dilden başka bir dile geçerken ya da o dilde işlemler yaparken farkı bunlar ortaya koyuyor. Kimse artık dilin kalıplarını ezberlemeye bakmıyor.

Şu da var. Bir dili bildiğinizden emin olmadan biliyorum, ediyorum, yaparım, ederim demeyin. Bu farkı ben, bir mikroişlemciyi register seviyesinde kodlayıp, ilk sensör kütüphanemi yazdığımda görmüştüm. O günden beri o dili biliyorum, bunu yapıyorum demem.

Anlıyorum, 12 yaşında birçok şey yapmak istiyorsunuz ve bu konu da iyi niyetle açılmış. Ancak emin olun her şeyin bir zamanı var. Mesela C++ ya da Java öğrenmek yerine, "Neden C++ ya da Java ya da 3. bir dil değil?" sorusunu kendine sor ve çözüm bulmaya çalış.

Üniversiteniz yok, staj/iş derdiniz yok, dilleri zorunlu olarak da öğrenmiyorsunuz. Bu nedenle hemen bir şeyler yazıp ortaya bir kod çıkartmaya çalışmayın. Mantığı anlayın. :)
Gerçek anlamda konunun özetini yapmışsın hocam. Ellerine sağlık. Yalnız bir sorum var: Bir arkadaşım demişti, Yazılım mühendisliğinden mezun olunca Java Developer'ları C++ Developer'larına göre daha fazla (yaklaşık 2 kat) maaş alıyormuş. Bu doğru olabilir mi ?
 
@karuB_official Bu soruya kesin olarak bir cevap verilemez. Kişinin tecrübesine göre maaşlar değişiyor. Ben Türkiye'yi baz alarak konuşacak olursam, evet Java Spring Boot geliştiriciler güzel kazanıyor. Eğer bir alanda geliştirici daha az bulunuyorsa, maaşları bir tık daha iyi olabiliyor. Dediğim gibi bu birçok etkene göre değişkenlik gösterebilir. İyi bir C++ geliştiricinin, başka bir Java geliştiriciden daha çok kazandığı zamanlarda olabilir.
 

Technopat Haberler

Geri
Yukarı