© 2021 Strange Loop
Some claim that unit tests make type systems unnecessary: "types are just simple unit tests written for you, and simple unit tests aren't the important ones". Others claim that type systems make unit tests unnecessary: "dynamic languages only need unit tests because they don't have type systems." What's going on here? These can't both be right.
Both of these claims stem from "unknown beliefs" held by the speakers: beliefs that they have without knowing that they have them. We'll analyze these and several other unknown beliefs: about type systems, garbage collection, functional programming, NULL, GOTO, and some non-technical topics. Comment sections the world over will suddenly make a little more sense.
Gary Bernhardt is a creator and destroyer of software compelled to understand both sides of heated software debates: Vim and Emacs; Python and Ruby; Git and Mercurial. He runs Destroy All Software, which publishes advanced screencasts for serious developers covering Unix, software design, TDD, and dynamic languages.