The programming world has been divided for many years between advocates of static typing and advocates of dynamic typing. (Separately, we can discuss strong typing vs. weak typing.) . In this talk, Michael Bernstein teaches us what type systems, and static typing, really mean — and the advantages that they bring to the table. He then discusses how Haskell approaches types, and considers why Ruby doesn’t include any such type checking.