Hacker News new | ask | show | jobs
by pak 3778 days ago
There are certain languages that are good for a first-time programmer.

R, despite being one of the first languages a budding "data scientist" might want to use, is probably not one of them for the many reasons given, among them:

- there are way too many ways to do everything

- implicit iteration (although great for statistics) makes performance issues hard to spot

- the data structures are a bit too flexible (it is Lisp-y in places), and you really need to understand them all to deploy the *apply and plyr functions effectively

- 3+ object-oriented programming systems

- non-standard evaluation. It's all over popular libraries like ggplot2, because it increases terseness, but it just looks like magic to beginners.

Basically, all the chapters listed here [0] -- which happens to be a great guide for experienced programmers to really understand R as a language -- happen to be the same reasons beginners give up too quickly.

Python, although it sufficiently nags me with its one-way-to-do-it motto and its many warts [1] to not want to use it regularly, is just well-rounded enough that it is a much better language for beginners. With Anaconda and iPython installed, I've found that a total programming beginner can actually get productive pretty quickly, even on stats and math problems.

[0]: http://adv-r.had.co.nz/

[1]: https://wiki.python.org/moin/PythonWarts