3 ms·
People who use MATLAB use it for the toolboxes. The language itself is awful.
by ok123456 1y ago
People who use MATLAB use it for the toolboxes.
The language itself is awful.
- enriquto 1y ago> The language itself is awful. As a programming language freak, I must disagree... in what other programming language can you solve a linear system Ax=b in one line x = A\b without any external libraries or imports, just with the base language? I never used any official matlab "toolbox", but still love the language via the octave interpreter. It's so clean and straightforward!
- almostgotcaught 1y ago> without any external libraries or imports Why does this matter in the least? Like you must understand that this is a library call right? Like just put `import numpy as np` in your PYTHONSTARTUP and it's the exact same UX in python. https://docs.python.org/3/using/cmdline.html#envvar-PYTHONSTARTUP https://docs.python.org/3/using/cmdline.html#envvar-PYTHONST...
- torrance 1y agoWell, in Julia, for one.
- ok123456 1y agoAlso APL: b ⌹ A
- anthk 1y agoGNU Maxima. Not a general purpose one, but good enough. Also, qalc from libqalculate for trivial stuff.
- _glass 1y agoIn Python you can use a library, then it is: x = np.linalg.solve(A, b). But yeah, Octave is nice, because it stays very symbolic.
- electroly 1y agoIn R, this is: x <- solve(A, b)
- username223 1y agoMatlab/Octave is great for numerical programs that perform within an order of magnitude of Fortran. If some things aren't fast enough, you can rewrite them in C or Fortran without too much trouble. If you're doing anything other than numerical computing, it's awful, and you should use a different language. (Source: I did a PhD using a mixture of Octave for numerical stuff, Perl for text-processing and automation, and C++ for the parts that were too slow. Choose the right tool for the job.)
- deleted 1y ago[deleted]
- ok123456 1y agoModern Fortran is better all around. The compiler will check usage based on interface. It has a working and supported module system (unlike C++). A couple of openmp pragmas will parallelize it. Multidimensional dense arrays are first class objects. The compiler can emit code with array bounds checking. Keyword and optional arguments. Standardized C FFI. f2py inter-op with Python/numpy. Most people encounter large FORTRAN IV or FORTRAN 77 heirloom codes, and assume that's what Fortran is like in 2025.