|
It depends on how you define "complicated." For example, Rust and C++ both have "move semantics," but Rust's is "A move is a memcpy, which the optimizer may or may not elide" and C++'s is http://stackoverflow.com/a/3109981/24817 rvalue references and copy/move constructors and all sorts of other things. There are three major kinds of backgrounds that Rust programmers come from: functional, systems, scripting. The functional crowd instantly groks Rust's pattern matching, first-class functions, and expression-based-ness. But they miss some more complex, stronger type system features. The systems crowd instantly groks Rust's low-level features, but struggles sometimes with the compiler being so strict. The scripting crowd instantly groks our tooling, and the functional-ish things, but struggles with the low-level. So really, everyone has a different definition of what "complex" is, because it's based on what you're familiar with. Some people find map to be more complex than for, some people think the exact opposite. All generalizations are false. |
I believe this sentence is a paradox.