1. 9

  2. 5

    An excellent talk. As software is written and then inevitably rewritten as business requirements change, cracks appear around data structures and their relationships and execution contexts. Good type systems keep software systems maintainable through change by managing all that stuff automatically.

    A common argument is “I don’t need types — I have tests!”, which is a pretty dumb argument. Both tools are a means to at least one end, and they aren’t mutually exclusive. The more tools to enhance expressiveness and robustness one has at their disposable, the better.

    1. 3

      When you have a type error, and you always get a type error, the question is whether you get it from QA or your users or your compiler.

      is really good.