This is an opinion post, no tutorial or instructions will be done, just my personal opinion about the subject.
I have found myself recently switching between MATLAB and Python. As a quick look of the posts in this blog will quickly tell you, in general I have used Python for my projects. For the moment (although this will change soon, I hope) there is no other language used than Python and the Arduino IDE.
By definition, it is probably not fair to compare both: Python is a programming language with an extensive standard library. MATLAB however, is a commercial numerical computing environment and programming language. They their similarities, and in many cases Python has a library that works as an alternative for MATLAB.
In my personal case, Python has been the language of my choice in general because it is free. And that is something where MATLAB, being a commercial solution, cannot compete. When I started this blog I was doing my PhD and did not want to expend the money in MATLAB. It can be argued that the student version is not that expensive, but you cannot compare it with being free. MATLAB was not very supported by the research institute I was as well, so it did not seem to be worth the effort.
On the other hand, now that I have moved to industry, it is clear that MATLAB has way more presence that Python. At least in companies that do heavy research, MATLAB is preferred over Python, and you can understand that. For a business, buying a licence of MATLAB with more or less toolboxes also means that you can go to a customer service when thing go wrong. How do you that with Python?
Also, there is no doubt that the amount of libraries that you can find in python is quite amazing, and MATLAB cannot compete with that. However, they can compete with the quality: if you buy a toolbox for MATLAB, you now that it will work without any change. I cannot say the same with many libraries that I have downloaded for Python. Several of my posts are related to install additional functionality to Python, could you imagine that for MATLAB? The post will be finished with a sentence.
So at the end, as always, it depends on what you want to do:
- Python is my choice if you really want expend the time to know and develop the language and your programs. If you like computer science, go deep to the code and this kind of stuff, Python, as a script language, will do wonders for you. It is easy to learn and you can make a ton of things with it.
- If you are in something more close to research, or want to have things made quickly, without worrying in libraries or wondering around on what you need for a function to make it work (and you don’t mind to expend some money. Then MATLAB is your friend.
Please, feel free to share your ideas in the comments.