What to Know Before Debating Type Systems (2008)
Chris Smith - who wrote the original piece years ago - added a current prologue to the text. I think part of it is an excellent summary so I quote this part here:> If pressed for an answer, though, yes I still do believe in the central conclusions of the article.  Namely:> That “static typing” and “dynamic typing” are two concepts that are fundamentally unrelated to each other, and just happen to share a word.> That “static types” are, at their core a tool for writing and maintaining computer-checked proofs about code> That “dynamic types” are, at their core, there to make unit testing less tedious, and are a tool for finding bugs.> That the two are related in the way I outline: that one establishes lower bounds on correctness of code, while the other establishes upper bounds, and that questions about their real world use should come down to the possibility and effectiveness of addressing certain kinds of bugs by either computer-checked proof, or testing.EDIT: When I wrote this comment the post linked to Steve Klabnik's 'reprint' of the temporary lost original article.
Currently it links to the original. The 'reprint' missed the prologue.