Hacker News new | past | comments | ask | show | jobs | submit login

On formal principles, we'd expect that robustness and expressiveness are inversely related, on the principle that low-entropy data can be recovered with better fidelity than dense data, but I think I can name a counterexample to this principle in practice: I think Haskell does a phenomenally good job of being both expressive and robust if we consider a practical definition of robust, whereby pain is not measured by likelihood of error but the cost of an error. Compile-time errors are extremely cheap in comparison to run-time errors.

You want an "almost right" program to fail, but you want it to do so at compile time. Runtime silent failure is the worst.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: