3 ms·
That’s a well thought out argument and I appreciate it. I also use MATLAB/Octave quite a bit for numerical algorithm prototyping, and mostly hate it. The langu
by GlenTheMachine 8y ago
That’s a well thought out argument and I appreciate it.
I also use MATLAB/Octave quite a bit for numerical algorithm prototyping, and mostly hate it. The language has a shallow learning curve, true, but for complex software it gets ugly very fast. It’s just not a well designed language, and if you have any CS background that becomes very limiting.
The thing that MATLAB brings to the table is the incredibly high quality numerics toolboxes. Octave gets a few of those but far from all of them, making it in my experience a poor runner up.
Whenever I have a choice I now go first to Julia. The language just makes me happy and the numeric infrastructure is almost complete enough.
Except for something like Simulink. When you need Simulink, there’s nothing else out there that’s a valid alternative.
- kxyvr 8y agoFor sure and I agree with many of the difficulties associated with MATLAB/Octave. When I want to put together a more complete piece of software that does things like: have a GUI, interact with a database, network conductivity, or parse files, I think that MATLAB/Octave is a poor choice. A language like Julia tries to bridge that gap. My problem with Julia is that we don't get license coverage for things like SuiteSparse even with a JuliaPro license. MATLAB has done a fantastic job of dealing with this and is well worth my license fee every year, so that my customers and I don't have to deal with it. Till this changes, it's a nonstarter for me. As far as the differences in packages between MATLAB and Octave, I'll contend that it depends. For their lower level routines, they often use the exact same codes. Both use ARPACK for iterate eigenvalue solving. Both use various forms of SparseSuite, UMFPACK, LAPACK, and the like for their algebra. For me, I tend to only use these lower level routines, so there's little or no difference in performance or efficacy between the two. For the toolbox arena, I know there are differences and I agree that can be frustrating. I suppose my point is that it really depends where on the spectrum of lower level to higher level mathematical abstractions that we need. For low level abstractions, I feel that Octave works great and it's been a critical tool for me.
- GlenTheMachine 8y agoIn my situation (government scientist) I don’t have commercial customers and, hence, not many licensing issues.
- jpfr 8y ago> When you need Simulink, there’s nothing else out there that’s a valid alternative. For simulation there is the Modelica standard for which open source implementations exist. But you don't code-generation for controllers, etc. https://www.modelica.org/ https://www.modelica.org/ https://www.openmodelica.org/ https://www.openmodelica.org/ https://jmodelica.org/ https://jmodelica.org/