title: Differences between Octave and MATLAB
body: <p>I'm a programmer who knows <a href="https://en.wikipedia.org/wiki/Python_%28programming_language%29" rel="noreferrer">Python</a>, <a href="https://en.wikipedia.org/wiki/Ruby_%28programming_language%29" rel="noreferrer">Ruby</a> and some <a href="https://en.wikipedia.org/wiki/C_%28programming_language%29" rel="noreferrer">C</a> who is trying to decide whether to learn <a href="https://en.wikipedia.org/wiki/GNU_Octave" rel="noreferrer">GNU Octave</a> or <a href="https://en.wikipedia.org/wiki/MATLAB" rel="noreferrer">MATLAB</a>. I know that they have a lot <a href="http://en.wikibooks.org/wiki/MATLAB_Programming/Differences_between_Octave_and_MATLAB" rel="noreferrer">in common</a>, but it isn't clear to me how similar the syntax is or even the data structures are. The above link shows several examples where they are syntactically similar or identical. Is this true for the whole language?</p>
  <p>I am trying to learn the language in general to do more scientific computing, possibly using some image analysis libraries.</p>
  <p>Additionally, is MATLAB worth the cost?</p>