Her yazılım diliyle her şeyi yaparsınız aslında ancak pratikte pek mümkün değil.
Yazılım dilleri yüksek,orta ve düşük seviye olarak sınıflandırılırlar (high-mid-low level.) Low (düşük) seviye diller makineye daha yakın iken yüksek seviye diller daha uzaktır. Yüksek seviye dillerde kod yazması daha kolaydır sizi uğraştırmaz ama daha yavaş çalışırlar çünkü makine koduna çevrilirken dile göre ara işlemlerden geçerler. Ancak kod yazması daha kolay olduğu için siz yapmak istediğiniz işi daha az zamanda yazabilir, hızlı prototipler oluşturabilirsiniz. Oyun yapacaksanız sıfırdan grafik çizdirme işleriyle uğraşmak istemeyeceğiniz için DX,OpenGL gibi kütüphaneler kullanılırsınız çünkü orada hazır fonksiyonlar vardır. Hem hızlı çalışan hem de OOP bir dile ihtiyacınız varsa C++ kullanılırsınız. İşletim sistemi yapacaksanız veya driver yazacaksanız donanıma yakın olmanız gerekir bu yüzden C kullanırsınız.
Farkli diller bir takım problemlerin çözülmesi üzerine oluştu anlayacağınız. Örneğin C++ (ilk ismi C with classes idi. ), C'den türetilmiş bir dildir ve onun aksine OOP özelliği vardır.
Bir oyun düşünün iki farklı düşman var. Bunların isim,hasar ve seviye değerleri farklı olsun. C ile yapsaydım her düşman için ayrı değişken üretmem gerekirdi ama C++ nesne yönelimli bir programlama dili olduğu için class oluşturabilirim.
class enemy{
int level;
float damage;
string name;
}
Daha sonra bu class'dan istediğim kadar farklı güçte düşman oluşturabilirim veya kalıtım yapabilirim. Mesela yeni bir düşman tipi daha yapmak istiyorum ama bunun ekstra can verme özelliği olsun.
class enemySupport::enemy{
float healUpdate;
}
Yukarıdaki kodları tekrar yapmadan bu şekilde diğer classtan miras aldım.
Bunu C ile yapabilir miydiniz? Veya C++ varken oyun firmalarının C'yi kullanması mantıklı olur muydu? Bu onların zaman kaybetmesine yol açardı çünkü anlattığım gibi C ile bu işlem ayrı ayrı değişken oluşturmak gerektireceğinden daha uzun sürer ve yönetilmesi de zor olur. Web sayfalarında biz hızlıca HTML ile button etiketi kullanır ve kullanırız daha sonra JavaScript ile "onclick()" ve "alert()" gibi kısa eventler kullanarak, basıldığında uyarı vermesini sağlatabiliriz. C'de ekrana bir pencere çıkartmak için bile satırlar yazmak zorundayız. Web sayfalarında dinamik olaylar ve görsellikler de olduğu için bunu C ile yapmak büyük patlamadan bu yana geçen süreye eşit olacaktır.