I used to think I hated static typing, but then I realized I just hadn’t met the right type inference. Once I saw what Haskell and later Rust could do, my mind was opened.
Sometimes I look at some new programming language’s documentation and a few minutes in, it suddenly hits me that I didn’t even check whether it’s dynamic typing or just decent type inference.
I mean, you can usually tell from function signatures, where parameters and the return value will typically be annotated (which IMO should be documented either way), but yeah, it’s not like there’s some glaring difference when reading the code.
Also, Scala is another mature language with excellent type inference, by the way.
I used to think I hated static typing, but then I realized I just hadn’t met the right type inference. Once I saw what Haskell and later Rust could do, my mind was opened.
Sometimes I look at some new programming language’s documentation and a few minutes in, it suddenly hits me that I didn’t even check whether it’s dynamic typing or just decent type inference.
I mean, you can usually tell from function signatures, where parameters and the return value will typically be annotated (which IMO should be documented either way), but yeah, it’s not like there’s some glaring difference when reading the code.
Also, Scala is another mature language with excellent type inference, by the way.