Hacker News new | ask | show | jobs
by FullyFunctional 1390 days ago
Many decades ago I spent a few days with a colleague in one exhausting days-long continuous session, debugging a generational garbage collector. The nature of those (essentially a global graph rewriting) is such that failures will be greatly separated from their causes.

I really learned to appreciate an abundance of asserts; the sooner you catch the issue, the less time you have to spend chase it around. Of course, asserts are in essence filtering the allowable state at a point and it's always more powerful when you can express that in the type system, which is why I love languages with rich static type systems, like Rust and Haskell.