C# & C & C++ Farkları Nelerdir?

Oyun kodlamak için hangisi uygundur söyleyemem. Çünkü farklı oyun motorları farklı kodlama sistemi kullanıyor. Ayrıca C# ve C++ C kodlama sisteminin üst sürümüdür.
 
C diğer ikisine göre düşük seviyelidir fakat programlama dillerinin atasıdır günümüze ulaşan dillerin çoğuna yön vermiştir. C++ ise C'den yüksek seviyelidir,C# ise tamamen nesneye dayalı yani çok yüksek seviyeli bir dildir. C++ ve C# C dili ailesinden geldiği için syntaxları birbirine benzer. Her birinin kullanım alanları farklıdır, seviye azaldıkça makine diline yaklaşırsınız, buda kod yazmayı daha zor hale getirir. Bu nedenle C#'da kod yazmak diğer ikisinden daha kolaydır. Fakat dilin seviyesi arttıkça performansıda ters orantılı şekilde azalacaktır. C dilinin kullanım alanları gömülü sistemler. sistem programlama, kısacası hız gerektiren her yerde. C++ ise oyun programlama, oyun motorlarında genellikle kullanılır. C# masaüstü,web,oyun programlamada kullanılır. C# bir .net dili olduğundan .net Framework'u sisteminize kurmanız gerekir. Ayrıca C# dilinde yazdığınız kodlar direk makine diline çevrilmez bir ara koda dönüştürülür, bu ara kodu anlayan ise .net CLR'dir. Ara kod CLR tarafından tanınır ve işlemcinin anlayacağı çalıştırılabilir bir executable(binary) olarak program oluşturulur.
 
Yuksek seviye dil demek, ( high level ) daha ust model, daha iyi anlamina gelmez once onu soyleleyim.
Normal yazi diline daha cok benzeyen, okumasi ve anlamasi nispeten daha kolay olay, programlama yaptiginiz cihaza yonelik degil genel kullanima yonelik programlama yaptiginiz diller "high level" dir.

"Buradan kapiya kadar yuru" ---> High Level
"Once sol ayagini one at, agirlik merkezini one kaydir, sonra sag ayagini kaldir ve solun onune at, bunu kapiya kadar tekrarla" ----> Low level

1. ornegi insan icin de kedi icin de kullanabilirsin.
2. ornegi sadece 2 ayakli canlilarda kullanabilirsin.

Dil low level oldukca daha spesifik bir platformda isler yapabilirsin ancak yapabilecegin islere hakimiyet seviyen de daha fazla olur. Ayrica low level diller her zaman cok daha hizlidir.

Seviyeye gore C# > C++ > C seklinde gider.
C ile oyun programlamazsin. ( Hic duymadim gormedim ama teoride mumkun. Ust seviye dilin yaptigi her isi alt seviye dil de yapar ama tam tersi mumkun degil her zaman )
C++ ' u UE kullaniyor.
Unity C# kullaniyor.

Bence baslangic icin C# daha uygun, cunku Unity daha kolay.
 
Oyun kodlamak için hangisi daha uygundur?
O kısım tamamen içeriği bağlı bir örnek vermek gerekirse. JS ile bir hesap makinası yapmak PHP ile yapılandan çok daha fazla kod satırı istiyor. Code snippet var İnternette bir kod yazıyorsun diğer dillere çeviriyor. Kısa bir kod bul bi yerden o 3 programda karşılaştır.
 
Yuksek seviye dil demek, ( high level ) daha ust model, daha iyi anlamina gelmez once onu soyleleyim.
Normal yazi diline daha cok benzeyen, okumasi ve anlamasi nispeten daha kolay olay, programlama yaptiginiz cihaza yonelik degil genel kullanima yonelik programlama yaptiginiz diller "high level" dir.

"Buradan kapiya kadar yuru" ---> High Level
"Once sol ayagini one at, agirlik merkezini one kaydir, sonra sag ayagini kaldir ve solun onune at, bunu kapiya kadar tekrarla" ----> Low level

1. ornegi insan icin de kedi icin de kullanabilirsin.
2. ornegi sadece 2 ayakli canlilarda kullanabilirsin.

Dil low level oldukca daha spesifik bir platformda isler yapabilirsin ancak yapabilecegin islere hakimiyet seviyen de daha fazla olur. Ayrica low level diller her zaman cok daha hizlidir.
Hızlıdan kastınız ne? Kafam biraz karıştı, insanlar neden ve ne kadar bir hız için o kadar karmaşaya giriyor ki?
 
Hızlıdan kastınız ne? Kafam biraz karıştı, insanlar neden ve ne kadar bir hız için o kadar karmaşaya giriyor ki?

High level dillerin makine koduna donusme surecinde araci mekanizmalar devreye girer.
Low level'da bu mekanizmalari mumkun oldugu kadar ortadan kaldiriyorsun, bu da memory footprint ve cpu cycle uzerinde direkt etki yapar.
Ne kadar hizli oldugu yapilan ise, work-load'a ve dile gore degisir.
Eger her milisaniyenin kritik onemi olan bir sistem uzerinde calisiyorsan low level istersin. ( orn: Otonom surus sitemleri )
 
Ekran Resmi 2023-10-27 10.39.41.png
 

Yeni konular

Geri
Yukarı