So after a couple weeks of intense C++ training, I've decided I hate it.

It's not the language so much as everything else surrounding and supporting it. Adding a dependency to a project just feels like pure chaos. I feel like even if I knew the language well, everything is going to take ten times longer than it should.

Looks like I'll be learning Rust and doing everything in that instead. I might even be able to build libraries with Rust and convince Unreal Engine they were written in C.

@maldrasen Unless UE is doing something very strange, Rust is perfectly capable of speaking C bidirectionally (as are most other languages.) The edges are still sharp, but as long as you just want to build a dynamic library to call into, you shouldn't get snagged on any of them.

Rust is still pretty C++ish though. Complex language, slow compilation, sometimes impenetrable errors, having to satiate the compiler's sometimes questionable desires. But it's definitely orders of magnitude better.

@MinkOfTheEnd

I'm really liking the language so far. I think it strikes a nice balance with its compiler enforced good ideas and its focus on ownership and pointer safety and such. It's hard to shoot yourself in the foot with, but It's not so formal that it's hard to do anything with. (looking at you Clojure)

I'm used to a more anything goes moshpit of a language like Javascript, so overall it's a nice change.

@maldrasen I mean, C++ isn't lacking in good ideas either, it just gets in the way, making you write piles of extra code. Rust is definitely better in that department, but still likes to block things are "obviously" correct, but you can't explain that to the compiler. Having ti explain yourself more makes the language more complicated, like that Fn/FnOnce/FnMut trichotomy.

Clojure isn't formal, it's weird. I probably learned more new stuff from it than any other language in the last decade.

@maldrasen A big part of that is the open-source tooling remains pretty mediocre and a lot of it is much too in love with the “modern” overcomplexifications of the language. Most devs work in Visual Studio which takes care of a lot of the dependency mayhem. Manually managing dependencies in makefiles instead is a miserable experience. A lot of studios code-gen their project files.

I'm curious how getting Unreal to link DLLs from Rust goes.