Best practices in software engineering seem to usually pertain to a particular language or set of languages. I've also noticed that authors usually don't notice that this is the case.

In fact, I've pissed off some people in interviews for holding this view. We aren't really that empirical as an industry about best practices.

Exactly. Best practices, especially patterns are language dependent. I mean, it already starts with decorators. Even someone slightly familiar with Python will know, that Python has something called decorators. So how to use them? Which practices that people have in Java or similar language do they replace, make unnecessary? Programming is not a "one size fits all" kind of thing.