How do you feel about comments made by Tim Sweeney?

185 points go-move-78

Rust is C++ minus powerful template abstraction features plus stronger safety guarantees through shifting proofs of liveness to the programmer. Kind of one step backward and one step forward, not any closer to ideal.

The compile-time evaluable subset of Rust is sub-Turing and doesn’t support expression evaluation. It’s more like Haskell type class constraints than metaprogramming.

Though sub-Turing, they do allow compile time computation of values to contribute to dependent types. Without that, common families of types require reinventing compile-time versions of things like integers, as in C++ pre constexpr.

Rust: Loves the bravery of the attempt to tackle memory management, doesn't like the resulting complexity burden on the user. Doesn't scale compositionally because data is intertwined. Golang: Hurt by the lack of generics.

I was curious how Rust programmers felt about the critiques and whether or not they're valid.

As far as I understand, he's generally had questions about Rust for years, especially as it applied to integrating it into Unreal.

He's gone onto say other things, but I couldn't find them. He seems to have found that Rust wouldn't be a sensible option to replace C++ in Unreal/Epic as a whole. For their team, it seems it was easier and more sensible to create their own scripting language (Unreal Verse) than work with Rust.

Some of this no doubt comes from the fact that Unreal C++ was already practically its own programming language.