

In my experience, almost all the time a matlab calculation returns weird or garbage results, the bug search is a "find the missing '.' As a side note the author complains about the what about matlabs stupid decision to use the most easily overlooked ascii character for distinguishing between matrix and element wise operations. After the addition of the operator it is really the same as matlab, except their default is a matrix, while for numpy it's an array. The other thing I found weird was the complaint about matrixes objects being deprecated. Now obviously you can do things properly in matlab, it's just matlabs structure encourages you not to (who thought that one function per file and no namespaces are a good idea?!) Students who used Python on the other hand typically have much better programming habits (not necessarily good), I think because of it's roots as a programming language first, you get much more exposed to programming paradigms when you learn it. Most of the graduate students that only used/learned matlab in their studies (I'm in an engineering field) program everything into one big script which they copy around and change a couple of parameters. The biggest gripe I have with matlab is that it teaches absolutely horrendous programming habits. I'll maintain matlab when i have to, but i don't enjoy it very much.

Python packaging is a giant faff matlab packaging is nonexistent (you have to vendor every dependency yourself) and expensive (your users have to shell out for the toolboxes you use, and/or have the MCR installed and can't edit your code).
#Matlab vs python online code
Python is actually a general purpose language which has a mature scientific stack, and i feel more secure in my numerical computations there because i can have a robust test suite and command line entry points into my code that increase my confidence that my code's doing what i think it should be, and makes it easy to use. Which is flatly wrong, and numpy gets it right: I have more or less one real annoyance with the technical content of matlab. rudimentary, at best, and a weird pastiche of C, fortran, java, and whatever else language was faddish when that feature was added. Its ability to handle things like "easy and sensible string and path manipulations" are. It's just not designed to make good pipeline tools that are maintainable, easily tested, and easily refactored, and never was. As a domain-specific tool for linear algebra, I certainly prefer it over R, but as a general purpose tool it makes me want to pull my own teeth out. Personally, matlab drives me absolutely up the wall when it comes to ANYTHING other that flipping big matricies around.
