Matlab is a desktop software application and programming language created by Mathworks.
I believe it is a great platform to learn computer programming, especially if you are also interested in processing audio signals.
After learning the basics of programming in Matlab, it is intuitive to learn other languages that can be used for other specific purposes.
Furthermore, Matlab is widely used. Many companies in the audio industry use Matlab internally. It is the ‘standard’ for proof-of-concept signal processing algorithm design. Matlab is also taught in many engineering schools. Therefore, if you want to learn computer programming with audio, you can’t get very far without using Matlab.
Although Matlab is not free in cost like other programming languages, there are some important advantages because it is commercial software. Relatively speaking, Matlab is easy to install on many different platforms and computers. There are very few bugs to encounter and there is extensive documentation included as a resource. For these reasons, I believe Matlab is a great language for learning how to program.
If you are new to Matlab, I recommend watching some videos on this blog so you have an idea about what you are getting into. You can learn some of the basics before purchasing the software, but eventually it will be helpful to program on your own computer.
Here are a couple of points to consider: if you use audio software on a regular basis, most DAWs and plug-ins cost at least as much as Matlab. The advantage is that Matlab gives you more control and creative-potential than any DAW or plug-in. Additionally, purchasing Matlab can be an investment for learning the tangible skills of computer programming.
Secondly, even if you don’t fall in love with computer programming, Matlab is the last calculator you will ever need. At the very least, Matlab can replace your old TI-83+/89 graphing calculator. I personally use Matlab in this simple capacity on a regular basis.
If you need help installing Matlab, you can find some resources here.
Full disclosure: I am not associated with Mathworks in anyway. I simply think they make a great platform for computer programming.
There is a free programming language, Octave, that is compatible with most aspects of Matlab. I have never used it, and I understand it is more difficult to install. It may be worth considering, but it will probably take some extra work on your part.