I think a lot of the problem is that R does everything it can to prevent people from writing modular code.
It doesn't have modules or namespaces, and the current fashion is for packages to use non-standard evaluation which adds friction to user's writing their own functions.