
Python offers a wider set of choices in graphics package and toolsets.Regardless of what completes the phrase "Python vs. The developers of Python encourage users to input suggestions for the software, while the developers of Matlab offer no such interaction. While Python is open source programming, much of Matlab is closed.

Matlab Vs Python Professional Developers Increased
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.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.I agree with everything Nikos said and I add some colors to some of the reasons: 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. MATLAB is:Not object-oriented friendly, so it's a very bad choice for complex softwareHard to distribute computations, and has a very expensive license for doing soNigh-impossible to hire professional programmers forSeriously, if you want to be able to use your own code after your PhD, don't use commercial packages.From a programming perspective, I have personal experience in the bottlenecks.
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.
Like all languages, both have a few quirks, due to their history.In either case (MATLAB, Python, Julia), you should ask yourself: So, my suggestion: gradually start getting out of Matlab comfort zone.MATLAB is a language built on top of a library.Python (with NumPy & numba) is a language with a library built under it.Neither is ideal. 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.
There is a lot of code written in it it will be around for a long time to come.Nevertheless, if those are not your answers, then between the two, I definitely suggest Python over MATLAB. 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. Is your code all short, or might it grow into a large (many 1000-line, 100's of functions) code?If your answers are: 1: math, 2: academia, 3: no, 4: all short, then MATLAB is fine. Is it important to you that other people can run your code (e.g. Is your long-term career goal academia, or industry?
I have not been as excited about a language after trying Julia since. In fact, in ML, you will find (in my experience) more job ads asking for Julia than for MATLAB.But again (and yes it is just my personal opinion), I would suggest you take a look at Julia. 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. Conversely, if you learn MATLAB and later on find you need to learn Python + NumPy + numba, then you will probably find this very difficult.This is all the more true if we are talking about optimization, which is at least tangential to machine learning (ML). 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?).
I have the following observations:On a practical level Python is MUCH slower than Matlab.Code that my graduate students write is literally orders of magnitude slower than my Matlab for solution for matrices that arise from discretizing PDE's.How can this be, aren't both using the same libraries under the hood?Yes, but clearly Matlab is much better at recognizing special forms of matrices and choosing optimized solvers for them. In the last ~8 years graduate students have been preferring to work in Python. If you want safe, the safe move is Python.Disclosure: I have no interests, financial or otherwise, in MATLAB, Python, or Julia, other than my own experience using them for work/research.I am geophysics professor and have been solving scientific computing problems in Matlab since 2000. I use all three at work, and Julia is my first choice most of the time I think the language is truly going places.
In the industry you rarely find yourself just code optimization algorithms or models in your daily work. The same is true for various Astrophysical codes ( ).Python is a general purpose programming language and is much more widely used in industry than MATLAB. For example the new Climate model ( ) is being developed in Julia, not Python. Most people that know what they are doing are picking up Julia. Also the syntax is clumsy and verbose. You may think my graduate students suck - but some of them are in a leading computational math graduate program.One reason I am more likely to switch to Julia than Python is that many of the advertised advantages of Python, such as great string manipulation simply don't matter for scientific programming.
Python is more widely used among them such as statisticians.Have a look at the job description of your future ideal job and you will get a sense about what is needed. Code sharing) people from non-engineering background. For example, would your future employer's MATLAB capacity allow you to process tens of millions or billions of records? It is more likely that its Python infrastructure allows so because there are many other teams needing that capacity.In your industry career, you would sooner or later collaborate with (e.g. Python provides more flexibility in that sense and have more APIs developed to communicate with other tools or applications (e.g databases) used in the pipelines.The trend in industry is that many companies are moving to Python or using Python as the primary languages for analytics work, which means you can get more support from your IT department in terms infrastructure and computational capacity.
