<p>As far as learning programming concepts, MATLAB is not that great of a tool. What you gain in terms of utility, you lose in generality. MATLAB is an interpreted language, and should be more appropriately called a script. It’s also a proprietary language, so it has unique constructs that aren’t useful in other languages. </p>
<p>It’s also easy to get spoiled with how easy things are in MATLAB. But that makes it incredibly powerful. From the name, it’s obviously great at matrix/vector based mathematics. From a simply A*B command in MATLAB, would have to be an entire subroutine (and a somewhat complicated one at that) to perform a matrix multiplication given two matrices of arbitrary size). [As a note, I think that would be a great exercise for you to learn if you want. Use FORTRAN to write a program that will do matrix multiplication on two matrices of arbitrary size. You will learn all about recursion, variable dimensioning, and other useful stuff.]</p>
<p>Personally, I think it’s better to start at the foundations of programming. </p>
<p>Use FORTRAN to teach you things like how to define programs, write and call subroutines, declare variables, compile programs and some programming concepts like recursion. </p>
<p>Use C++ or Java to teach the basics of object oriented programming. It’s significantly different in concept, so it’s something worth learning. </p>
<p>Use a scripting language, like Perl or Python, to learn how scripts work. I think Perl is great for learning Regular Expressions. Once you learn regular expressions as a concept, it becomes much more powerful and useful to you. </p>
<p>MATLAB certainly has some of the elements from different languages, but in terms of learning programming basics, I don’t think it’s all that great. Certainly learn it because it will become a powerful tool for you (like a calculator can be). </p>
<p>As another suggestion, I know that many schools use Scheme to teach programming. It is based on the language Lisp. It’s probably not very useful on it’s own, but might be a good language to play with. <a href=“Racket”>Racket;
<p>Or… you could just take the intro to programming class at your school. :)</p>