When I was a student, in my Numerical Methods class, we were allowed to choose any programming language to do the assignments.

As second-year students, most of us knew Pascal or C. So it was an easy choice to use the language that you know instead of learning a new one. Was it a good choice though?

Imagine that you have a problem that involves some matrix operations.

Matrix multiplication? 10 lines of code in C. Finding a determinant? Another function, another N lines of code. Transpose? Yet another function, another X minutes of wasted time

I chose to learn MATLAB from scratch instead. A few hours of fun learning, and as a result:

Matrix multiplication? A*B Determinant? det(A) Transpose? A'

So I could focus on the algorithm, not on low-level matrix functions. A much more pleasant experience. And, as a bonus, an extra programming language under my belt.