Another important issue is the learning curve, which is very large for C ++ and extremely small for Fortran (90 and later). Fortran is similar to MATLAB with operations such as ...
- B'DB
matmul( matmul(transpose(B), D), B ) - L2 norm of the
norm2(x) vector norm2(x) - SVD matrices using LAPACK
call gesvd(A,S,u,vt)
Fortran also has pointers, dynamic memory, custom data types, etc.
It is well supported by major vendors (Intel / Sun / IBM / Cray / PGI / NAG, etc.), open source communities (gfortan / g95), and numerical library / API developers such as PETSc, MPI, etc. .
Suppose the new standard (Fortran 2008) even has shared arrays for parallel programming without the need for MPI / OpenMP, and some Fortran compilers already support it (g95 and Cray).
In principle, it has all the good qualities necessary for numerical calculations, easier than MATLAB, it is standardized, free, scalable (with MPI / OpenMP and co-arrays), it creates fast / parallel code.
For numbers, nothing compares to Fortran, but unfortunately for anything else Fortan hits. Therefore, if you are a scientist with safe work and only numerical calculations / HPC, then stick to Fortran, otherwise study and use C ++, since it is widely used for non-numerical software.
user4562 Jan 28 '11 at 17:24 2011-01-28 17:24
source share