Graduate students should learn Python instead of MATLAB
The MATLAB problem: portability
If you're a graduate student in science and engineering there's a chance you're already using MATLAB. If it works well for you, then by all means do keep using it. It’s a great, easy-to-use tool, with an enormous library of toolboxes for almost anything such as signal processing and financial algorithms. The problem is that when you're done with your Ms/PhD/Post-doc, you might have to leave your MATLAB skills behind.
MATLAB is not portable since it requires expensive licencing. Academic access is usually not the problem as most universities pay for it. But academic jobs are scarce, and many scientists and engineers will need to transition to the industry or even outside their field of study. MATLAB is much rarer outside of academia, so chances are these new graduates won’t be able to directly apply their expertise in their new job.
Python can replace MATLAB
Python is free and available on every platform and therefore is highly portable. Although Python was not intended as a free alternative to MATLAB, it's actually well suited for this role. Many people have successfully made the switch from MATLAB to Python. The SciPy stack has almost everything you might need for scientific computing, such as numpy for numerical computation, matplotlib for plotting and scikit-learn for machine learning. Python is also one of the easiest programming languages to learn with its readable, simple syntax. It's incredibly versatile and powerful, being used for anything from interactive data visualization to web server hosting and software development.
Python is quickly becoming one of the top skills in several industries. Python coding skills could be critical when job hunting since many graduate students will not stay in academia, or even in research, after graduation. So why not learn it during your studies?
How can I start?
First, here's an introduction on transitioning from MATLAB to Python.
I recommend installing Anaconda, a Python distribution that comes with all the core scientific packages. Install the Python 3.6 version unless you depend on legacy Python 2.7 code.
MATLAB expats will be looking for an interface similar to the MATLAB editor, which they will find in Spyder (bundled with Anaconda). Newcomers to Python should also use Spyder or another IDE.
Finally, learn about the scientific Python environment and start using Python in your research!
Conclusion
All is not lost if you’re learning MATLAB right now. Most of your MATLAB skills will readily transfer to other scripting languages. I simply think your time would be better spent learning to use Python whether you plan on staying in academia or not (especially if you are looking for opportunities outside of research).
Eric Okumu
Although MATLAB is proprietary and not free, it's far easier and more powerful than Python. Python programming is more vulnerable to errors as a result of its greater complexity. MATLAB is also faster. Anything you can do in Python, you can do in MATLAB, only faster and easier. Octave is a free implementation of MATLAB, for those who want to learn it.
Hi Etienne, I'm interested in this topic because we are developing a Big Data Course at the American Association of Immunologists. Why Python instead of R?