4 ms·
Yes, I know this. Most people on HN know this. When most of the base libs, built-ins, & legacy code don't declare types, static typing loses a lot of its valu
by georgia_peach 4y ago
Yes, I know this. Most people on HN know this. When most of the base libs, built-ins, & legacy code don't declare types, static typing loses a lot of its value.
In something like Go/Pascal/Java/Rust/C, if I introduce an impedance mismatch during a re-factor, the compiler catches it in seconds or less, and can tell me every file & line to adjust. In classic Lisp, this becomes a runtime error, and it can be days/weeks/months/years (if ever!) before the bugs are shaken out. In typed Lisp, it's a split between the two.
Splitting the difference for the sake of a legacy codebase (like PHP->Hack), or because you've had a language thrust upon you (Javascript->Typescript) is a reasonable choice. To double-down on a predominantly type-declarations-optional language in 2022 is nuts. Lisp is good, but it's not that good.