- Scientific programming language
- Open source
- Package management
- Supports functional programming
- Designed to take advantage of computers with multiple CPUs
- Statistical programming language
- Open source
- Good package management (CRAN, BioconductoR)
- Supports functional programming
- Some R code compact, easy to read and maintain
- Not well designed or easy to learn
- Vectorisation: sacrificed performance of for loops, not always implemented (sapply, lapply etc.)
- Package management excellent, but split (CRAN vs. BioconductoR)
- Conflicting and contrasting coding styles (base R vs. tidyverse)
- Uses multiple CPUs in completely different ways on Linux vs. Windows
- General purpose computing language
- Open source
- Exceptionally clear code, easy to learn
- Excellent package management (PIP)
- Partially supports functional programming
- Scientific computing capability solely from other packages (numpy, pandas, scipy): a different language
- Not well designed for computing with multiple CPUs