This answer is somewhat inspired (or may be triggered) by @gwr's comment:
(A) Somebody correct me, but as of now I only see R or Python Kernels for Kaggle (maybe Julia?). It seems that Python is the quasi standard for any serious ML.
combined with the OP question:
(B) Besides prettier plots and the Manipulate function, do we have something that is useful for ml that other languages are lacking?
(I think the comment (A) or its appropriate generalization should be part of the question.)
Is it Python or the underlying libraries?
(Here I am attempting to answer both (A) and (B).)
I use R a lot in industrial and healthcare related projects and when it comes to data processing and classification the performance speed and precision strength of my solutions come from:
- using the R-libraries for interfacing Spark and H2O. (Written in Scala and Java respectively.)
The other "R successful solution" components are:
the interactive abilities in R, RStudio's Shiny, similar to Mathematica's Manipulate
and related functions;
RStudio's unit tests harness, testthat
, similar to Mathematica's unit test functionalities; and
R as a programming language, which shares a lot of features with Mathematica (and LISP.)
A further, relevant comparison of R and Mathematica over Deep Learning can be found here:
"Deep learning examples".
Python as a language
(Mostly a rant triggered by (A).)
Python as a language is too simplistic and institution-centric. That is why it is embraced by managers and people who do not like or want to do programing that much. Python is a fine first language (for say Machine Learning students and junior Data Scientists) but if Python is your last language I simply cannot accept you seriously.
For example, people who are adept in using Spark say that Scala acts like a "force multiplier" to Spark. And Scala is a very functional language. (Pretty close to R and Mathematica, especially compared to Python and Java.)
Notebook kernels for Kaggle
A comment from @C.E. :
As I understand it, Kaggle kernels can only be written in R or Python. That's why you won't see anything else. This is a choice that managers at Kaggle have made, it doesn't mean that R and Python are the best languages for machine learning.
See the Kaggle kernels documentation for more details. The section "Notebooks" says:
Notebooks may be written in either R or Python.
Notebooks
(Rant extended...)
For me Jupyter notebooks -- one of the main ways Python is utilized in Data Science -- are too clunky for everyday use. Others have similar frustrations, see "5 reasons why jupyter notebooks suck" and "I don't like notebooks.".
R notebooks are based in Markdown and much more convenient. As far as I know both R notebooks and Jupyter notebooks are inspired from Mathematica's notebooks and try to emulate them (as much as they can.)