Hangi yazılım dilinden başlanmalı?

Çoğu dilleri öğrenmek istersen hepsinden azar azar öğrenirsin bu da bir yerde uzmanlaşmanı engeller diye düşünüyorum. Bence ilk yapman gereken bir dili iyi seviyede öğrenmek ondan sonra başka bir dile ihtiyaç doğrultusunda geçmek.

Bir dili gerçekten iyi öğrendiğin zaman diğer dillerin de çok farklı olmadığını göreceksin zaten. Örnek vermek gerekirse web tabanlı projeler geliştirmek için C# ile başlayabilirsin. Daha sonra Javascript, NodeJs, Angular, VueJs diye gider de gider.

Burada önemli olan ne yapmak istediğin.
 
Oyun yaparak programlama öğrenmek istiyorsanız Unity öneririm. Kod yazmak zor gelirse Unity'nin kendi görsel programlama sistemi var Bolt diye ücretsiz. Bolt ile kod yazmadan kutuları sürükleye sürükleye oyun yapabiliyorsunuz. Güzel yanı şu ki bu sistem Unity'nin kullandığı C# ile birebir aynı. Yani kutularla yaptığınız şeyi kod ile aynı komutlar ile yapabiliyorsunuz.

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.

Mesela şurada ekrandaki karaktere Player isimli bir görsel kod ekliyor. Eklediği gibi alt tarafa 2 tane kutu geliyor. Start ve Update diye. Bunların ne olduğuna şimdi girmeyelim. Önemli olan nokta şu. Bunu görsel programlama ile değil, normal kod ile yapsaydınız da birebir aynı yapı ile karşılacaktınız. Unity ile yeni bir C# dosyası oluşturduğunuzda da size Start ve Update iki kod bloğu veriyor. Bunların içine kod yazıyorsunuz.

[CODE lang="csharp" title="unity örnek script"]using UnityEngine;

public class Player : MonoBehavior {

public void Start()
{

}

public void Update()
{

}
}[/CODE]

Videonun devamında karakteri hareket ettirmek için RigidBody2D diye bir kutu ekliyor mesela. Bunun da C# kısmında birebir karşlılığı var. Yani programlama öğrenmekte zorlanıyorsanız Bolt gibi görsel programlama ile başlayabilirsiniz. Çünkü kodun nasıl çalıştığını ne zaman ne yaptığını animasyonlarla size gösteriyor. Oyun çalışırken bile bu kutuları değiştirip deneme yanılma ile yeni şeyler öğrenebilirsiniz. C#'a geçmek isterseniz de hiç zorlanmazsınız. Bu kısmın C# karşılığı şöyle olur mesela:

C#:
using UnityEngine;

public class Player : MonoBehavior {
    public void Start()
    {    

    }

    public void Update()
    {
        GetComponent<RigidBody2D>.velocity = new Vector2(5,0); // sağ doğru hız verme
    }
}

Gördüğünüz gibi video'da Update kutusuna RigidBody2D bağlayarak yaptığı şeyi, kod tarafında Update methodunun içine kod yazarak yaptık. Mantık, isimlendirmeler birbirine çok benziyor. Kodda zorlanırsanız görsel programlama ile öğrenmek bu açıdan çok daha mantıklı.

Tabi bunun yerine direkt Unity üzerinden C# ile de başlayabilirsiniz. Hiç bilginiz yoksa daha yavaş ilerlersiniz ama sabrım var ben sıkılmam bırakmam diyosanız bu da bir yöntem.

Eğer Unity ile oyun geliştirmeyi düşünüyorsanız kesinlikle yapmamanız gereken şey ise önce C# öğreneyim sonra Unity öğrenirim demek. Daha önce programlama birikiminiz yoksa C#'ı kısa sürüde tümüyle öğrenmeniz zaten mümkün değil, gerçekçi değil. Unity'nin C# kullanımı ile sade C# ile çalışan uygulamaların C# kullanımı da oldukça farklı. Amacınız oyun yapmak için programlama öğrenmek ise önce programlama dilini öğreneyim demeyin, direkt hangi oyun motorunu öğrenmek istiyorsanız onun üzerinden programlama öğrenmeye çalışın.
 
Son düzenleme:

Geri
Yukarı