Re:An External Replication on the Effects of Test-driven Dev...
by mercurial on Wednesday October 19, 2016 @12:59AM
(#12741195)
My take it on it is that it can remove most of the boring bugs you would get in a less strongly-typed language and leaves you open to the interesting bugs (eg, logic bugs).
As for dependent types, I'm not sure that even then you would be able to ensure that, say, your cache is correctly invalidated.
Unit tests can demonstrate that my code is correct; it can say nothing about how my code is used by others.
In contrast, a type system can extend those protections downstream.
(Yes, yes, unless you go way off the deep end of dependent types, you still need tests. But a powerful type system can systemically prevent a huge number of very common bugs.)