Başlangıç için Programlama Dili Önerisi

Oyun için kesinlikle C++. Ücretsiz motorların çoğu bu dili kullanıyor. Android için Java gerekli. Size iki tane kanal önereceğim.

İlk olarak 30 bölümlük bu dersleri izleyin. Derslerin çoğu 6-7dk civarı. Kısa ve öz bu seriyi bitirince giriş seviyesi Java ve programlama bilginiz olacak.

Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

Eğer programlamaya ilk defa giriş yapacaksanız ilk başta yukarıdaki dersleri bitirmenizde fayda var. Sonra C++ için bu seriyi seyredin. Bu seri sizin için gerekli olan temel C++ ve nesneye yönelik programlama ihtiyacınızı karşılayacaktır.
Bu içeriği görüntülemek için üçüncü taraf çerezlerini yerleştirmek için izninize ihtiyacımız olacak.
Daha detaylı bilgi için, çerezler sayfamıza bakınız.

Bu serileri bitirdikten sonra Yapmak istediğiniz şeye göre öğrendiğiniz bilgileri kullanmanız için çeşitli yollar var. Misal: Oyun yapmak istiyorsanız ve C++ temelini biliyorsanız Unreal Engine 4'ün dökümantasyonları size gereken bilgileri verecektir.

Bu kanal cidden iyi, iş görür.
 
Ben şimdi eğer ücretsiz oyun motorlarını kullanacak isem Unity Unreal 4 Source SDK gibi C++. Eğer mobil için ise Java.
O zaman ben C++ ile başlayayım.
 
Unity de Unreal de denedim ikisi de basit geldi. Hele hele Unreal çok basitti. Unity'de ise baka baka yapıyordum bir şeyler ama istediğim düzeyde şeyler çıkaramıyordum.

Unreal Engine 4 basit değildir. Bu fikir sizin oyun sayılamayacak basit bir girdi-çıktı ilişkisine dayalı demo benzeri bir şey yapmanızdan kaynaklı. UE4 piyasadaki en kompleks oyun motoru denilebilir. İngilizce bilmiyorsanız ve dökümantasyon kullanmayı bilmiyorsanız ortada tonla bugla dolu ama oynanana bilir bir ürün çıkması bile çok zor. Kafanızdan bu düşünceyi silin.

Ben C++ daha basittir diye bilirim.

Diller arasında basit-zor diye bir ayrım yapmak doğru olmaz. Düşük-Orta-Yüksek seviyeli programlama dilleri diye arım yaparsak daha iyi olur. C++ ve Java orta seviye olarak geçer. Seviye yükseldikçe komutlar basitleşir, bununla doğru orantılı olarak yapacağınız işlerde basitleşir, karmaşık projeler yapmak zorlaşır. Bir programlama dili bizim dilimizden ne kadar uzak, makine diline ne kadar yakın ise o dil derleyiciler için o kadar kullanışlıdır. İşlemci daha hızlı tepki verir.

Ben şimdi eğer ücretsiz oyun motorlarını kullanacak isem Unity Unreal 4 Source SDK gibi C++. Eğer mobil için ise Java.
O zaman ben C++ ile başlayayım.

Size önerdiğim serileri sırası ile izleyiniz zira Youtube'dabence en kaliteli kaynaklar onlar. İlk Java serisini izlemenizde fayda var çünkü C++ serisi bazı şeyleri bildiğinizi var sayarak dersleri anlatıyor.
 
Seviye yükseldikçe komutlar basitleşir, bununla doğru orantılı olarak yapacağınız işlerde basitleşir, karmaşık projeler yapmak zorlaşır.

Yanlis. Karmasik projelerin yapilmasina uygunlugu belirtmez high ve low level olmasi. Makine diline yakinligi belirtir ve sadece onu belirtir.

---

Konu sahibine tavsiyem Python.

Basladigin dil ile devam etmek zorunda degilsin. zaten ezik ezik programlar yapacaksin baslangicta ( dogal olarak ). Programlamayi kavrayinca, yapmak istedigin ne ise onu ogrenirsin. Oyun yapacaksan C++ ile basla, Sistem programlayacaksan C ile basla diye bir sey yok. Herkes Hello World ile baslar, modern bir dil sec, temelini at sonra ne istersen ogrenirsin.
 
Yanlis. Karmasik projelerin yapilmasina uygunlugu belirtmez high ve low level olmasi. Makine diline yakinligi belirtir ve sadece onu belirtir.

Belli ki eksik bir bilgiye sahipsiniz. Karmaşık bir programda makine dilene ne kadar uzak bir dil kullanırsanız programı yazmak o kadar zorlaşır. Dil seviyesi yükseldikçe derleyicinin kodu makine dilini çevirmesi de bir o kadar zorlaşır. Yüksek seviyeli diller hızlı tepki alınmasını istediğimiz işler için uygun değildir. Yüksek seviye bir dil ile yazacağınız oyun, işletim sistemi, BIOS vb. gibi programlar istenilen verimi vermez.
Konu sahibine tavsiyem Python.

Basladigin dil ile devam etmek zorunda degilsin. zaten ezik ezik programlar yapacaksin baslangicta ( dogal olarak ). Programlamayi kavrayinca, yapmak istedigin ne ise onu ogrenirsin. Oyun yapacaksan C++ ile basla, Sistem programlayacaksan C ile basla diye bir sey yok. Herkes Hello World ile baslar, modern bir dil sec, temelini at sonra ne istersen ogrenirsin.

Evet herkes "helloworld" ile başlar fakat görüşünüz yanlış. Bu durumu şöyle ele alalım. Bir kişi Off-road araba kullanmayı öğrenmek istiyor fakat siz ona supersport motosiklet öneriyorsunuz ve diyorsunuz ki zaten herkes kontağı çevirerek öğrenmeye başlar. Kusura bakmayın ama önerilerinizin hiç bir mantığı yok.
 
Belli ki eksik bir bilgiye sahipsiniz. Karmaşık bir programda makine dilene ne kadar uzak bir dil kullanırsanız programı yazmak o kadar zorlaşır. Dil seviyesi yükseldikçe derleyicinin kodu makine dilini çevirmesi de bir o kadar zorlaşır. Yüksek seviyeli diller hızlı tepki alınmasını istediğimiz işler için uygun değildir. Yüksek seviye bir dil ile yazacağınız oyun, işletim sistemi, BIOS vb. gibi programlar istenilen verimi vermez.


Evet herkes "helloworld" ile başlar fakat görüşünüz yanlış. Bu durumu şöyle ele alalım. Bir kişi Off-road araba kullanmayı öğrenmek istiyor fakat siz ona supersport motosiklet öneriyorsunuz ve diyorsunuz ki zaten herkes kontağı çevirerek öğrenmeye başlar. Kusura bakmayın ama önerilerinizin hiç bir mantığı yok.

Malesef sen neden bahsettigini bilmiyorsun.

High level dil, makine diline uzaktir. O kadar. Karmasik gereksinimi olan projelerin yapilmasinin onunde bir engel degil bu. Hatta tercih edilir, zira cogu high level dil abstraction ile daha kolay savasilmasina olanak saglayan imkanlarla gelir. Ama bunu saglayan low level diller de var. Rust gibi. Sonuc olarak high level olmasi baska sey, sofistike projelerde kullanma karari verilip verilmemesi baska sey. Karistirma ikisini.

High level olmasinin getirecegi yavaslik yine sofistike projeler yapilmasina engel degil. Sen mission critical sistemleri kompleks sistemler zannediyorsun. Burada da yaniliyorsun. Yazilim kompleksitesinin olcumlerini inceleyebilirsin.

Baslangic dili subjektif mevzu, henuz inheritance bilmeyen adam C++ ile baslasa ne olur, Python ile baslasa ne olur. Yazip yazacagi konsol uygulamasi zaten. Amatorler ilk dili cok onemli zannediyor.
 
Son sorum C++ mı Python mu yoksa hangisini istiyorsam mı?

C++. Evet Python güzel bir dil fakat dediğim öğrenmek için bir motivasyonunuz olmaz . Başlamak için uygun dil diye bir şey yoktur. Yapmak istetiğiniz şeye uygun dil vardır. Oyun yapmak istiyorsunuz sektörde ihtiyacınız olan dil C++ size önerdiğim 2 video serisini izleyin gerisi sizin araştırıp çabalamanıza kalmış. Daha ileri bir eğitim için üniversiteye gidin.

Malesef sen neden bahsettigini bilmiyorsun.

High level dil, makine diline uzaktir. O kadar. Karmasik gereksinimi olan projelerin yapilmasinin onunde bir engel degil bu. Hatta tercih edilir, zira cogu high level dil abstraction ile daha kolay savasilmasina olanak saglayan imkanlarla gelir. Ama bunu saglayan low level diller de var. Rust gibi. Sonuc olarak high level olmasi baska sey, sofistike projelerde kullanma karari verilip verilmemesi baska sey. Karistirma ikisini.

High level olmasinin getirecegi yavaslik yine sofistike projeler yapilmasina engel degil. Sen mission critical sistemleri kompleks sistemler zannediyorsun. Burada da yaniliyorsun. Yazilim kompleksitesinin olcumlerini inceleyebilirsin.

Baslangic dili subjektif mevzu, henuz inheritance bilmeyen adam C++ ile baslasa ne olur, Python ile baslasa ne olur. Yazip yazacagi konsol uygulamasi zaten. Amatorler ilk dili cok onemli zannediyor.

"Kompleks" kelimesini terim anlamda kullanmadım, programlama bilmeyen ve hangi dilden başlaması gerektiğini soran birine de dilleri anlatırken terim anlam kullanmam.

Sizinle daha fazla tartışmayacağım zira hiç tanımadığım bir insan ile böyle tartışmalara girmek ilerde tanırsam seveceğim bir kişiye ön yargılı yaklaşmama sebep oluyor. Bahsettiğimiz şeylerin alakası yok belli ki bir yanlış anlaşılma mevcut. Özel mesajdan daha ayrıntılı ve milletin kafasını ağrıtmadan olarak sizinle oradan tartışmayı isterdim fakat maalesef özel mesaj kısmım açık değil.
 
Uyarı! Bu konu 5 yıl önce açıldı.
Muhtemelen daha fazla tartışma gerekli değildir ki bu durumda yeni bir konu başlatmayı öneririz. Eğer yine de cevabınızın gerekli olduğunu düşünüyorsanız buna rağmen cevap verebilirsiniz.

Geri
Yukarı