I hear these sorts of arguments often, as someone who likes both Go and C I do have some responses: I would hardly call exceptions in C++ a "feature" but more of a "liability." Enumerated types (probably referring to sum types here) have trade offs that are not necessarily clear from simply reading the code. Generics often lead to code which is (IMO) difficult to follow, debug, and reason about. The point about assembly is jest? Or dishonest? I would argue that C, C++, Go, Haskell, etc etc are "simpler" than assembly, if they weren't we probably would be writing assembly, and I suppose following that logic maybe we'd be hand constructing opcodes with a two key keyboard.