I have recently begun working at a company wherein there are very few (2-3) programmers and many more engineers. As a result, the default language of choice has become VB.net. I look at some of the math-intensive portions of the programs that have been written thus far and I'm certain that these portions could be improved considerably if written in a lower level language.
The idea has already been proposed for me to possibly learn a new language to begin improving these sections of math-intensive code. Now my question: what language would be best to learn to actually implement this idea? I'm only a third year Computer Science student, and all of my classes thus far have been strictly Java. Although, the next classes I'll be taking will be in C++ and perl. As a result, I really only know Java and VB.net to the extent that I can claim proficiency in those languages (I've worked a lot in C as well, but not enough to claim proficiency). Would I be looking at a C-based language such as C or C++ to learn or possibly something else?
The math intensive portions are generally vectors and matrices, with the end result of rendering in a 3-dimensional manner.