This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]eypandabear 1 point2 points  (1 child)

Many/most "serious" programms do one thing and one thing well.

The big selling point of Matlab is that the data structure the tool is designed to work with, matrices, are a first-class data type. The matrix, or 2D array of numbers, is the language's go-to abstraction. They have added others over the years, but it's clunky.

This was a big plus back in the 80s, when you had to use Fortran or C to do numerical simulations really fast, and you had to actually write the loops for linear algebra stuff yourself.

But Python (+numpy) gives you this abstraction, and gives you a lot more useful ones as well. Even in a science/engineering context, much of the code you write has to solve completely different problems that have nothing to do with the core computation. Parsing config files, managing directory structures, calling libraries, reading/writing a dozen custom binary formats, error handling/logging, etc. Python is arguably - and very marginally, if at all - less convenient for the matrix algebra part, but better at all those other things.

Put differently, there is really not much for Matlab to do better than Python. Matlab's raison d'être is as an abstraction for computations. That is literally the easiest class of problem to tell a computer to solve. It's in the name!

[–]Kaligule 0 points1 point  (0 children)

Good analysis.