• pixelpop3@programming.dev
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    18 hours ago

    For one thing it will run a lot of existing and proven Matlab code.

    Another is that Octave and Matlab syntax is ambiguous about functions vs indexes (has pros and cons).

    And don’t get me wrong (I use jupyter and python a lot and really do like it) but numpy can get fundamentally weird in the way indexing maps to memory in ways that I don’t remember happening back when I mostly used Octave.

    And for the record Octave’s version of the language is vastly superior to Matlab’s. (Octave has chained indexing, broadcasting, etc. It could be that Matlab has finally copied those features but dunno. Every time I have to work in actual Matlab I want to rip my hair and teeth out due to lack of these basic trivial syntax features)

    For me the major advantage of python is having access to other non-numerical things. It’s so difficult to do anything not-numerics in Octave and Matlab or to use even basic data structures like lists and trees. Python is sort of a basic dynamic object language that with some functional programming idioms mixed in that makes some of the things that would otherwise make you scream for Lisp possible. That’s worth the numpy annoyances. Otherwise I would probably be using julia.