4 ms·
No, the language designers use the same type system as everyone else. Yes, Go had a fixed set of generic data structures, but those were available to everyone.
by throwaway894345 4y ago
No, the language designers use the same type system as everyone else. Yes, Go had a fixed set of generic data structures, but those were available to everyone.
“Nil” does not a sum type make; it’s just the zero value for a reference type and the type-checker doesn’t check that you are handling nil and non-nil cases as a type-checker would do for sum types (if Go’s pointers are sum types, then integers and floats in any language are sum types as well).
Go has never had operator overloading for the language designers or anyone else. The operators that the language designers use behave the same way as when users use them.
I have a lot of respect for Rust, and I was a C++ developer in a past life, but most of the software I write these days cares a lot more about developer velocity than about eeking out every last bit of performance or correctness, and most of the time Go is the ideal candidate for those sorts of tradeoffs.