| I dont like this paper. It makes statements based on references to opinion style articles. F.ex "in practice, run-time type errors in deployed programs are exceedingly rare [TW07]." If we look at [TW07] they state that "even very simple approaches to testing capture virtually all, if not all, the errors that a static
type system would capture." But provides no data or reference for that statement. Another isue is that some references with data are based on small samples and possibly oudated: "they [dynamc languages] lower development costs [Ous98]" [Ous98] Compares time-to-implement and code-size for 8 different programs implemented in static and dynamic languages and shows that the dynamic languages are supperior. It is however not clear how much actual implementation is involved, so it may be the case that the difference is caused by diferences in available libraries at the time. In any case, the sample size is small and the article is old (1998) so it is not reasonable to make generalisations for programming in 2009 (or 20014). [TW07] Laurence Tratt and Roel Wuyts. Dynamically typed languages. IEEE Software, 24(5):28–30, 2007. [Ous98] John K. Ousterhout. Scripting: Higher-level programming for the 21st century. Computer, 31(3):23–30, 1998. |
A dynamically typed program by its very nature a prototype, a program that is expected to fail when exposed to a non-trivial input. In many cases, that is fine, just not when correctness over many invocations actually matters.