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.