| ▲ | gpm 3 hours ago | |
I wonder if it's useful to think of this as go is low type-system-complexity and rust is high type-system-complexity. Where type system complexity entails a tradeoff between the complexity of the language and how powerful the language is in allowing you to define abstractions. As an independent axis from close to the underlying machine/far away from the underlying machine (whether virtual like wasm or real like a systemv x86_64 abi), which describes how closely the language lets you interact with the environment it runs in/how much it abstracts that environment away in order to provide abstractions. Rust lives in high type system complexity and close to the underlying machine environment. Go is low type system complexity and (relative to rust) far from the underlying machine. | ||
| ▲ | steveklabnik 3 hours ago | parent [-] | |
I think this is insightful! I'm going to ponder it, thank you. I think it may gesture towards what I'm trying to get at. | ||