TDD is an artifact of using non-static, dynamically typed scripting languages, because you can’t…
Marc Clifton

It was originally Smalltalkers like Kent Beck who championed TDD, but as Smalltalk lacked the marketing clout of large corporations, they instead targeted the popular languages du jour, i.e. Java back in the 90s, and C# later. This latest study is deceptive because it counts bug frequency as a whole rather than as a language-neutral fraction of a hypothetical utility metric — some nuanced variation of ‘bugs per feature’. Bugs per LOC or per project doesn’t take into account the huge disparity in expressiveness between, for example, the incredibly terse Haskell and the remarkably verbose Java. Then there’s the issue of normalising for the different target areas different languages appear to be suited to. But if someone, hypothetically, were to successfully control for this, I believe the results would strongly skew in support of terse languages with expressive types. Look into the Curry-Howard correspondence, here: There are Haskell and other FP languages which leverage this correspondence to produce mathematically rigorous software which offers implicit code coverage way beyond the dreams of TDD.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.