<story><title>GNU Octave</title><url>https://www.gnu.org/software/octave/</url></story><parent_chain><item><author>chollida1</author><text>Serious Question.....&lt;p&gt;Matlab usage is on a dramatic downswing from my vantage point in quantitative fiance.  I don&amp;#x27;t really know anyone under 40 who uses it anymore as one of their main tools.&lt;p&gt;And I&amp;#x27;ve never once seen anyone use octave as a substitute, I&amp;#x27;m guessing this is mostly due to money for licenses not really being an issue.&lt;p&gt;Nowadays, the only tools I see people using are R, python(pandas, numpy) and very occasionally Julia.&lt;p&gt;Where does this leave Octave?  What&amp;#x27;s Octaves niche?&lt;p&gt;Or put another way, why learn Octave&amp;#x2F;Matlab when there are other languages out there that provide similar capabilities and that are much more popular?</text></item></parent_chain><comment><author>sampo</author><text>In the Stanford&amp;#x2F;Coursera machine learning class, Andrew Ng said that his teaching experience is that students pick up octave&amp;#x2F;matlab quicker and the course can cover more actual machine learning, compared to python where more time is spent learning the language.&lt;p&gt;So I guess for newcomers and for quick prototyping (just 10s or 100s lines of code), octave is nicer.&lt;p&gt;Say, you have some numbers for a matrix and a vector in files and want to read them in and multiple the vector by the matrix.&lt;p&gt;In octave you are done in 3 lines of code in 30 seconds.&lt;p&gt;In python, you first figure which modules to import, the difference between python arrays and numpy arrays, and god forbid you happen to find the numpy matrix type instead of numpy array type. After 5 minutes you think you&amp;#x27;re all set to calculate the M * v, but then your vector happens to be a line vector and not a column vector and you need to learn the difference. Also it&amp;#x27;s nicer to write M * v than np.dot(M,v).&lt;p&gt;Most of the features of python that I presented as cons are actually pros when the codebase is more than 1000 lines and needs structure and safety.</text></comment>
<story><title>GNU Octave</title><url>https://www.gnu.org/software/octave/</url></story><parent_chain><item><author>chollida1</author><text>Serious Question.....&lt;p&gt;Matlab usage is on a dramatic downswing from my vantage point in quantitative fiance.  I don&amp;#x27;t really know anyone under 40 who uses it anymore as one of their main tools.&lt;p&gt;And I&amp;#x27;ve never once seen anyone use octave as a substitute, I&amp;#x27;m guessing this is mostly due to money for licenses not really being an issue.&lt;p&gt;Nowadays, the only tools I see people using are R, python(pandas, numpy) and very occasionally Julia.&lt;p&gt;Where does this leave Octave?  What&amp;#x27;s Octaves niche?&lt;p&gt;Or put another way, why learn Octave&amp;#x2F;Matlab when there are other languages out there that provide similar capabilities and that are much more popular?</text></item></parent_chain><comment><author>domenukk</author><text>Octave user under 30 here.
I picked up a Matlab project recently (pattern recognition, electrical engineering etc. heavily use it in my university).
Because I wanted to run it on Amazon and didn&amp;#x27;t want to deal with all the licensing issues I ported it to Octave instead.
Works like a charm (using it in &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;camfinger.com&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;camfinger.com&lt;/a&gt; ) and it&amp;#x27;s actually free like any normal interpreter would be.&lt;p&gt;Personally I&amp;#x27;m more used to other languages and would also tend to python, however I must admit Matlab&amp;#x2F;Octave is a pretty good way to develop matrix heavy stuff thanks to an extremely good REPL&amp;#x2F;debugger.
That being said, Octave feels pretty slow for loops (lack of a proper jit), so I wouldn&amp;#x27;t know if I&amp;#x27;d really use Octave over Matlab if it were not for licensing issues either. Then again I can rent a lot of cloud time for a Matlab license...</text></comment>