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: https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence 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.