I think you are approaching this all wrong. The language you’re programming in doesn’t matter, in fact if you’re a programmer, and you cant program in multiple languages then you really need to learn programming from a fundamental level. Not a language one. To be brutally honest, i think you need to relearn everything you’ve learned up in till this point in time and apply the techniques you learned into multiple languages. Think of programming as a general language and the programming languages as the languages dialects, each dialects have different syntax(grammar). This is important to understand that, it’s not a specific language you are having trouble with, its that you are having trouble with programming as a whole. At least by the way you wrote this thread, im led to believe so.
C++ is not impossible, i use it every day, in UE4 and not in UE4. (My compile times are not that bad at all ue4, even when rebuilding the engine from source, maybe you are in need of a new pc ?) The fact you say its crashing way to often really hints to the notion that you don’t understand memory management and programming in general. Like i said above you really need to learn fundamentals of programming in general. Like for example, whats actually happening when you create a variable independent from the language.
The ue4 api isnt ugly, its by far one of the more prettier api’s i’ve worked with in terms of game dev and api’s in general. yeah there are better laid-out apis, but the ue4 api isn’t the problem. its your lack of understanding.
To be brutally honest, you should feel that way no matter the editor or language, just because your programming in C# doesn’t magically change anything, it’s all in your head. I’m not trying to be rude or tell you that you don’t know how to program i just honestly think you need to understand the basics of programming, in general. not just what’s in this language or that language.
I will agree that there are few good tutorials and bad docs, but theses are both changing as time goes on.