![]() MATLAB is trying to compete in this space, but if you look online for job ads, they are almost all asking for Python, not MATLAB. This is all the more true if we are talking about optimization, which is at least tangential to machine learning (ML). Conversely, if you learn MATLAB and later on find you need to learn Python + NumPy + numba, then you will probably find this very difficult. If you find you have to use MATLAB at some later date, it will be easy. If your code gets long, beware that managing a large (many 1000-lines) MATLAB code is a nightmare IMO (namespaces, anyone?). You will become a much better programmer, and your job prospects will be much better, too. Nevertheless, if those are not your answers, then between the two, I definitely suggest Python over MATLAB. There is a lot of code written in it it will be around for a long time to come. I love it for doing something fast and not fussing with things it's an industry standard in DSP and radar and other problems that rely very heavily on linear algebra. If your answers are: 1: math, 2: academia, 3: no, 4: all short, then MATLAB is fine. Is your code all short, or might it grow into a large (many 1000-line, 100's of functions) code?.Is it important to you that other people can run your code (e.g.Is your long-term career goal academia, or industry?.Is your immediate goal to master the math, or to master how to program it?.In either case (MATLAB, Python, Julia), you should ask yourself: Like all languages, both have a few quirks, due to their history. Python (with NumPy & numba) is a language with a library built under it. MATLAB is a language built on top of a library. So, my suggestion: gradually start getting out of Matlab comfort zone. Remember that the work in the industry is not just focused on matrix and vector operations.It can be easily avoided by using general-purpose programming languages such as Python. Since there are more and more Python users, almost anyone can read and modify your Python code in a company, but if you leave a place and there are not many proficient in Matlab, that's a big loss for the company. It makes more sense not to tie a piece of code to a person. ![]() And when you're talking about projects in industry, spending money on a piece of software, IMO, is not justifiable when there is a widely accessible alternative. Just because Python is open-source and free, it means it's widely available to a larger audience.Anyone can write codes in Python and share it with others who can easily run that code (as it's free software) but your Matlab codes can be run only by those who have a license. Python is free and open-source but Matlab is not.I agree with everything Nikos said and I add some colors to some of the reasons: What's interesting here is that with the experience I have now, 10 years later, I know there's no way I could have ever scaled our software beyond 100 variables in MATLAB, but I could have in Python. Rewriting the solver in C++ once I had experience increased that to 100,000 variables, and hiring professional developers increased that to >1,000,000 variables. Moving to C++ increased that to 200 variables. I wrote the very first version of my solver in MATLAB, and I could solve problems of ~5 variables in reasonable time. Seriously, if you want to be able to use your own code after your PhD, don't use commercial packages.įrom a programming perspective, I have personal experience in the bottlenecks. Nigh-impossible to hire professional programmers for Hard to distribute computations, and has a very expensive license for doing so Not object-oriented friendly, so it's a very bad choice for complex software Very few people who are serious about using optimisation in production use MATLAB, and the ones who do can't wait to move away from it.Īs to why, there are plenty of reasons. ", the answer is always going to be Python. Regardless of what completes the phrase "Python vs.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |