4 ms·
When introducing python, the author writes "Despite the obvious advantages of MATLAB, R, and Julia, it’s also always worth considering what a general-purpose la
by dbecker 14y ago
When introducing python, the author writes "Despite the obvious advantages of MATLAB, R, and Julia, it’s also always worth considering what a general-purpose language can bring to the table."
Even with thousands of hours of experience in Matlab, R and Python... I'm not sure what "obvious advantage" Matlab
and R share over Python.
- tomrod 14y agoFor me, depends on how new a person is to the language. Numpy certainly has a learning curve after spending a long time in Matlab.
- darkarmani 14y agoEspecially considering the author was using octave and not Matlab.
- chubot 14y agoMainly it's the immediacy of Matlab and R, and the libraries. I've used all 3 and consider Python my main and favorite programming language. But you can just type "R", do read.table(), and very quickly slice and dice your data. In Python just evaluating what package to use, then getting the packages, dealing with versioning issues, etc. kind of breaks the whole thing. Then you need to figure out what plotting library to use, etc. Having stuff built-in as a common base which all your coworkers share is important. I know there are common distributions like SciPy but they are not as common as R is. Probably the bigger issue, as mentioned above, is that R has higher-level stuff like time series libraries that Python doesn't. The main thing that's needed is a shell to glue all these languages together, to ease integration pain. Everybody wants the "one true language", but that's a pipe dream. Python's close but not quite. Julia is kind of falling prey to this fallacy too. The programming world is becoming more heterogeneous, and the solution is to have tools to make multiple languages work nicely together. Not to pretend that heterogeneity doesn't exist. You can work really hard to get homogeneity on your one little project. Maybe that's what language wars are so heated. But the second you have to borrow code from another lab, or you acquire a company, or get acquired, you have a heterogeneous mix. Matlab, R, Python, or Julia will never suffice for all tasks. Non-trivial problems will always require a mix of them. You have to pick the solution according to the problem, and Matlab and R definitely are superior to Python for certain problems.
- rcthompson 14y agoThe straightforward answer, and the one that seems to be implied by the contrast with Python as a "general-purpose language", is that Matlab, R, and Julia are specifically designed for data analysis, mathematics, calculation, statistics, etc., while Python is not. But that's not a very concrete answer, of course.