Python

After years of primarily using Mathematica, I’ve come to deeply enjoy using an actual open-source programming language for my scientific work. I’ve taken courses in data structures, and I deeply believe it's essential to understand what’s happening under the hood. This isn’t always obvious in Mathematica and MATLAB. Additionally, designing code in an object-oriented way makes unit testing easier. Once a project becomes big enough, this is the best way to keep your head wrapped around the project.

While Python does have some speed limitations, between NumPy and Numba, most of these issues can be avoided.

Most importantly, Python has become the lingua franca of scientific computing. If you want to share work in a way that is readable by everyone, it is a very good way to do it.