January 28th, 2007, 4:23 pm
QuoteHowever, people who program in Fortran tend to be handy at developing apps once they make the step to C++ because they have learned MODULAR PROGRAMMING, something that is vital for maintainable s/w.One can do modular programming using Fortran 90/95 which supports most OOP concepts. Features like dynamic memory, modules, user defined data types (even ADT's), pointers etc. combined with some real cool intrinsics for array operations (which compilers can easily parallelize) make Fortran (90 and later) the easiest and most efficient language for numerics.QuoteI liked Fortran but I have not looked at it since 1990Things have changed. Using some of above concepts a standard LAPACK call for computing SVD in F95 can now be...call gesvd(a, s [,u] [,vt] [,ww] [,job] [,info]) Note that everything in square brackets is optional In F77 you would have used one of these...call sgesvd(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info)call dgesvd(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info)call cgesvd(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork,info)call zgesvd(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork,info)Anyways I better go and borrow a copy of Stroustrup.