Resistance to modernization

I am a MATLAB user, so I would like to share my personal view, which may be wrong.

No, this is not true (it might have been true last century, but I did not know computers yet at that time).
Here is what I copy-paste from the official documentation of MEX (N.B.: it is not my opinion; I only paste it here for your reference; the bold fonts of the last sentence are by me):

This is not true either.

First of all, loops: MATLAB users do not write loops unless loops are intrinsically needed for the algorithm being coded (e.g., a line search algorithm for optimization intrinsically needs a loop, but a matrix-matrix product is NOT intrinsically a loop). Instead, they write almost everything in terms of matrix/vector operations (that’s in the name: MATrix LAB), which provide most likely the best representation of the mathematics and logic of the algorithm under consideration. I would like to quote my elaboration in the post Automatic arrays and intrinsic array operations: to use or not to use?:

Second, expressions: all the built-in operations (e.g., matrix-matrix/vector multiplication/addition, matrix factorization, linear solver …) are optimized and they are performant out of the box unless your problem is extraordinary or you specify a wrong platform-dependant option (most users do not and need not know how to specify such an option, because it is rarely needed). In addition, MATLAB optimizes expressions (up to a certain level). For example, suppose that you write

x = y*B'

where B' is the transpose of a matrix B, y is a row vector, and * is a matrix-vector product. According to my test (without any tuning), MATLAB will not take the transpose of B, but will automatically calculate it as

x = (B*y')'

Sure. See Performance of the MATLAB Compiler: Speedups by Two Orders of Magnitude Are Possible, which is an announcement made in 1996. I did not check what is the current status, but it seems to have elvolvded to the MATLAB coder, but I am not sure since I have never used/needed it.

Loops are rarely needed as mentioned above. MATLAB does provide (some) control on how the matrix-vector operations are evaluated — you can specify the library to link to, but you do not need to do so unless your platform is unusual (hence most users do not know the existence of such an option). Admittably, it does not provide control on how expressions should be evaluated — but why should the user control it if it is already optimized? To de-optimize it?

For parallelization in MATLAB, see the documentation of parfor for example — wait, you do not really need to read the documentation. Just write

parfor iter = 1 : maxiter
% Your parallel code here
end 

and it will work surprisingly well without any tuning or specifying any option. Of course, if you would like to control its behavior, you do need to consult the documentation, but most users do not need.