Why C++ for Unreal 4?

[=;125862]
If you know C++ well you don’t have problems with reading nor reasoning what code does. But if you don’t then you don’t.
[/]

Even if you know C++ very well, reasoning about C++ isn’t easy. Consider this simple statement:
a = b + c;
In order to know what that does, you need to know:
-the types of a, b and c
-how + is defined for b and c
-how = is defined for the result of + and a

C++ is a wonderful language. It is also a wonderful collection of guns aimed squarely at the user’s feet.

[]
C# maybe has its uses but not in gaming industry where performance is at premium.
Anything you can do (in C#) I can do better (in C++). And at least 200% faster. At least.
[/]

It’s this kind of blanket assessment that I am allergic too. No, C# isn’t useless in the gaming industry, or in creating game engines; It’s a perfectly valid tool to implement the bits of your game in that aren’t your main physics or render loops. In gameplay programming, the extra nanoseconds you get from doing it in C++ just aren’t that important.

Also, be wary of using hyperbole. No, you can’t do “anything” 200% faster. That’s ■■■■■■■■, and you know it. You can do some things dramatically faster, yes. Others, you can do a little bit faster. The areas where you can profitably use C#/.NET in an engine fall squarely in that latter category, and the minuscule performance gains aren’t necessarily worth it if it means that the person implementing the stuff has to keep all the little caveats and pitfalls of C++ in mind while implementing.