When one uses a low–level programming language, e.g. C++ or FORTRAN, one essentially controls lots of things: how parameters are passed, how data structures are aligned in memory, what is the most efficient way to loop over elements of a big sparse matrix (see cache thrashing) when one multiples it, and so on. In contrast, when one uses high–level software, lots of things are “black box”—it is usually unknown what happens underhood.
Indeed, there is much more to this question, but this is the basic difference. I am not a confident Matlab user, but I can give you an example concerning Wolfram Language: notstandingwith it is very high–level, it uses LAPACK for dense matrix computations (which is a standard software library for this purpose written in FORTRAN). It also relies on Intel MKL which is again written in FORTRAN / C. (So high–level software relies heavily on legacy code.)
It also has Compile[] function which may speed things up dramatically.
So these may be reasons why some students of your university prefer FORTRAN: it has low–level features, it is convenient for matrix / vector manipulations, it is pretty old and has a huge legacy (Intel MKL is a good example), it is compilable and fast.
If you look at modern open source FEM software libraries (deal.II, mfem, FEniCS), you will notice that they are developed using C++. FEniCS also has a high–level Python interface which is usually slower than C++’s one.
I believe they tend to use C++ for the reasons I mentioned above.
As for me, I use C++ for large computations. I also use Mathematica for symbolic computations (which is extremely useful) or if I want to code something fast. So my suggestion would be this: learn at least one high–level and at least one low–level language.