[=;15529]
The main problem with C++ is that programmers think too highly of themselves, run out of talent, and introduces multiple memory stomps that other guys have to spend time tracking down and resolving.
I do believe C# is the future going forward without a doubt. But for now, C++ is still king of performance and memory management. I think itâs a great idea for the core of the engine to be written in C++ but game code can be higher level (byte code, etc)
Where Epic Games went wrong in the past was UnrealScript. Which kept me away from UDK. It couldnât be debugged, couldnât rapid prototype, took awhile to compile, etc. It had all the disadvantages of a scripting language and none of the bonuses lol
[/]
Well, there is garbage collection for Unreal C++, which essentially solves memory management issues. Or at least doesnât make it any harder than any of other languages with garbage collection.
Most daunting thing in C++ are pointers. Itâs sometimes wery hard to decide whether something should access trough pointer or just directly (whatever it is properly called). I guess for seasoned C++ programmers is no brainer. But for else, even if they understand concept, it still might be hard call to make, which can lead to issues like âwhy it compiles and does not provide results I expectedâ.
Other than that I donât really consider C++ to be much harder than any other language. I would call some of itâs elements to be annoying to say at least. Like headers or macros.
UPROPERTY() could be solved in more elegant way in C# by using attributes [Attribute], but to make C# implementation on pair you would need ability to compile C# to native code. Which⌠Was shown on BUILD recently .NET Native. Though it is not multi platform, so it is not solution either.
I honestly donât see a reason to use managed languages or worse dynamic interpreted languages.
What we need is native language with manual memory management and garbage collection. Which⌠As matter of fact exists. Like D, or M# (this is bit of convoluted by Microsoft worked on something that should replace C++, for native programming).
[]
The âeasyâ transition from UnrealScript to C++ is because they rely too much on their macros, which makes it very similar to UnrealScript.
[/]
Well nothing really wrong with that. If you tried to code game in CryEngine, where they donât use macros, custom compilation tool-chain and rely on STL, you would now build altar, temple and shrine to Epic Coders who invented this entire thing, and you would make sacrifices every day to thank them :D.