When we ask questions like:
• Should we use static or dynamic types?
• Should we practice TDD?
• Should we do agile development?
• Should we use a memory safe-language?
People often say that the correct answer to all these questions is just to look at what the research shows. If research shows these things are good, then we should use them, if not, then not. In fact, this sort of response can be used to rebut almost anything we want to explore in the future of coding community. Why are we so interested in "X" if "X" hasn't been shown to be better via research? This sort of response has always bothered me. So I wrote a blog post on that question.
04/22/2023, 8:16 AM
In addition to all these arguments, it's worth considering that empirical research in software engineering is still far from a mature science. It's in a similar situation as nutritional science: a lot of (seemingly) applied research is done from a desire for answers that can be turned into advice, but there is no solid foundation from fundamental research. For example, nobody has a clear idea of which aspects of context matter for studying a given question, so there can be no carefully analysis of confounding factors.