Python might have it's pain points but R is straight up the most horrendous programming language I've ever used, including Malbolge and Brainfuck in that ranking. The only valid reason people ever present me for using this language is "a lot of other people wrote stuff that is relevant for statistics in R and why throw away all that work?".
Section 1, on there being two versions of Python, is a bit daft. It's been settled: use 3.
Sections 2, 3 and 4 are attacking Python for not behaving in the way R does. For what it's worth, everyone struggles with objects being passed as references at some point or other -- for me it was not realising keyword function arguments' default values are evaluated at definition time, not call time. In any case, the alternatives would not work in Python.
Section 5 is attacking Python for not having RStudio. Personally, as a long term vim user, I've recently tried Spacemacs and found being able to paste to REPL a huge time-saving feature. I'm sure there are plugins for vim that can do this too, it's just it was enabled and discoverable in spacemacs.
I get that R is good for statistics. It's probably better than Python for stats. But Python is a general purpose language that really gets a lot right, which is probably one of the reasons for its growing popularity in Machine Learning.
- 3 is nicer language to work in, transitions have been smooth
- I like different package managers for different purposes (pip for source or pure Python, conda for heavy precompiled binary packages, apt/yum for system packages)
- shallow copy makes memory management easier by default
- no built in stats structure: if there was, it would be the hammer looking for nails everywhere. Ever worked in MATLAB? Everything is a goddamn matrix (not true anymore but still).
A testament to the language and its extension APIs is that NumPy and Torch Tensors are very comfortable to work with yet aren’t built in data structures.
Life is not beautiful. It is simple-minded. Also: slow.
Who is upvoting this garbage