|
|
|
|
|
by civilized
1715 days ago
|
|
All languages strike a tradeoff between flexibility and enforcing a regular structure. A lot of people seem to think their preferred language hits the perfect point on that tradeoff, and judge any language that makes a different choice. Python lovers judge R, Java users judge Python, C++ users judge Java, Rust users judge C++, Go users judge Rust, and everyone judges JavaScript. A language that's more flexible than your favorite "encourages bad habits", while a language that's less flexible than yours is "bureaucratic". |
|
R encourages bad habits for the following reasons:
- R is made "for statisticians, by statisticians" so a lot of the example code out there is very poorly written
- The syntax is very inconsistent across libraries, and even within base R
- There are a lot of syntactical quirks that cause a lot of confusion for anyone who's learned another language, like using dots in function tables, e.g. "read.csv". There's also the 1 indexing.