Bence C++ neden dersen C# ile yazılan program compile edilince MSIL kodu oluşturulur ve framework üzerinde çalışır yani direk cpu ile iletişim kurmaz arka planda MSIL kodlarını yorumlayarak CPU nun anlayacağı hale getiren bir VM (virtual machine) mevcuttur. C++ ise native olarak compile edildiği işletim sisteminde çalışır, herhangi bir aracıya ihtiyaç duymaz yani compile edilen kodlar direk CPU ile iletişim kurar, dolayısıyla hız olarak C# dan çok daha üstündür. Tabi C# .net framework ile birlikte bir çok kolaylıkla birlikte geldiği için bu hız farkı biraz göz ardı edilebilir, lakin bana göre .net framework altında çalışan dillerin (c#,f#, vb.net vs.) en büyük sıkıntısı compile edilen MSIL kodlarının decompile edilerek yazılmış kaynak koda dönüştürülmesi bu durumla compile edilen programın (.exe, .dll) cracklenmesi, düzenlenmesi ve kaynak kodlarının çalınarak kopyalanması çok kolay bir hale geliyor. Önlemek için kodları karıştıran programlar mevcut ama onlarda karıştırma işlemiyle performansı büyük ölçüde düşürüyor.