When I've dealt with R in production, cursed meant:
- Difficult to keep package versioning, even with "renv".
- If an analyst decide to use a single function from the "tidyverse", you have a tons of dependencies.
- Large docker images (1G+) due to packages like "devtools" and very large dependency tree for the "productivity packages" (see above).
- Hard to communicate with the process. With luck, you can set it up and work with 'r-script' [1]. Without luck, stdout from process or simple files for io.
In the end, to have a nice webapp, we ended up rewriting the R code into typescript. Julia don´t solve this also, as you have a hard time to set it up to communicate with other things. It seems that we can´t avoid the "2 or 3 languages" problem if you don´t use python.
[1] https://www.npmjs.com/package/r-script