| 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 |