Why C++ for Unreal 4?

Coming from a Java/C# background a lot of these posts seems misinformed on how programmers who never Learned C++ looks at this monolith of a language.

C++, while technically not that much harder to learn syntax-wise than the above-mentioned gives you SO MUCH POWER that it’s intimidating like crazy.
I’ve tried to do C++ from time to time but every single time I run into the problem of Pointers. I understand what a pointer is. I understand what a pointer is supposed to do. But I have no idea when to use one and I have yet to find a definitive explanation that says “These are the scenarios dum dum”.

All they do is tell you what a pointer is, how to access the data from a pointer and also how to get the address of a pointer. But other than that? Good luck!
I have no idea where to start or where to end when I start on a C++ file. I have the header file which is an infuriating system to begin with (function prototyping? Seriously?) and then I have to match my cpp file with the header file and even if you manage that, good luck trying to understand any of the garbage debugging message it spits out at you which might even be a downright lie. I realize that other languages can lie to you as well during errors but at least most managed languages seems to remember that it’s humans who code these programs and not electric engineers.

And then there is the issue of mixed C and C++. Half the time I can’t tell when it goes between the two, but even following books to the letter and posting about it on Stackoverflow reveals that even those books lie to you and have the approach of mixed C and C++ syntax.
I would love to see D get the spotlight over C++ because in D it’s at least build from the ground up as language that supports Objects and Data instead of a tagged on addition that is C++, the superset of C.

Also in D you can write in-line assembly code, use all previous C code still and even in the memory management department you have options.

  • Garbage Collector
  • Partially Garbage Collector / Partially Manual
  • Completely manual
  • Define Blocks in Memory that are off-limits to the Garbage Collector

You can have the best of all worlds.
I love C# and Java languages. They are so d@mn easy to comprehend and the talk about memory leaks is absurd. I have not found anything on that other than age old articles . I don’t say switching to C++ was a bad choice as I am convinced it was going to happen regardless, but I find it quite upsetting that there are not other options (Yes Blueprint but lets face it that gets tedious very fast).