3 ms·
Without types, the complexity is shoved elsewhere (in someone’s head). Types make the inputs and outputs explicit. He is right about a good type system being a
by nojvek 6y ago
Without types, the complexity is shoved elsewhere (in someone’s head). Types make the inputs and outputs explicit.
He is right about a good type system being able to infer and being smart at the same time allow placing enough guards around things to truly express the authors intentions of how things ought to be used.
One of the reasons why I am not a fan of golang. It’s type system is not that great. You have to do a lot of hacks and copy pasta.
Rust, C# and Typescript get it. Python with its new py3 typings syntax is great but it still needs a lot of work to be able to express things like Union types, nullable types, partial types, Recursive types , conditional types, type transforms, genetics etc.
There’s a lot that goes on in a good type system. The balance of letting the user express their problem at the same time keeping errors meaningful and preserving the code guarantees.