
Fortran marches on, remaining one of the principal programming languages used in high-performance scientific, numerical, and engineering computing. A series of significant revisions to the standard versions of the language have progressively enhanced its capabilities, and the latest standard - Fortran 2018 - includes many additions and improvements. This edition of Modern Fortran Explained expands on the last. Given the release of updated versions of Fortran compilers, the separate descriptions of Fortran 2003 and Fortran 2008 have been incorporated into the main text, which thereby becomes a unified description of the full Fortran 2008 version of the language. This clearer standard has allowed many deficiencies and irregularities in the earlier language versions to be resolved. Four new chapters describe the additional features of Fortran 2018, with its enhancements to coarrays for parallel programming, interoperability with C, IEEE arithmetic, and various other improvements. Written by leading experts in the field, two of whom have actively contributed to Fortran 2018, this is a complete and authoritative description of Fortran in its latest form. It is intended for new and existing users of the language, and for all those involved in scientific and numerical computing. It is suitable as a textbook for teaching and, with its index, as a handy reference for practitioners.
Fortran in Modern Scientific Computing: An Unexpected Comeback - https://medium.com/@stack1/fortran-in-modern-scientific-comp...
5 Reasons Why Fortran is Still Used - https://www.matecdev.com/posts/why-fortran-still-used.html
Is Fortran better than Python for teaching the basics of numerical linear algebra? - https://loiseaujc.github.io/posts/blog-title/fortran_vs_pyth...
I take back everything i said about FORTRAN - https://x.com/ThePrimeagen/status/1745542049284423973
Modern Fortran online tutorial - https://wvuhpc.github.io/Modern-Fortran/
There isn't good modern Fortran textbooks/courses on the web.
But there are some textbooks that cover the language well. Especially: Metcalf, Reid, Cohen: Modern Fortran Explained, 2018.
If you intend to do heavy numerical or scientific computations, then Fortran is definitely worth learning. It is a high-level language comparable to Python/MATLAB, yet with speed that can be 500 times faster than MATLAB/Python. Its math-oriented syntax is absolutely nice and has inspired many other languages, such as MATLAB, R, Julia, and packages such as Numpy and Scipy in Python and Eigen and ... in C++.
Whatever you pick up to start reading, keep in mind that you should only learn modern Fortran 2008 standard, 2018, and beyond. You should not waste your time on learning any standard older than Fortran 2003, in particular, F77 (which is more than 4 decades old now). Keep in mind that Fortran has the easiest learning curve of all compiled languages, in particular when compared to C/C++. If you already know MATLAB, then Fortran syntax and rules will look quite familiar to you. That's because MATLAB inherited a lot of vectorization and array syntax from its ancestor, Fortran. With regards to where to start learning Fortran:
Here is a good start to learn Fortran 90:
https://www.uv.es/dogarcar/man/IntrFortran90.pdf
This notebook contains almost 70%-80% of what you need to start productive programming in Fortran. For more advanced features such as Object-Oriented and Parallel programming with Fortran, the following is an excellent guide:
https://books.google.com/books/about/Modern_Fortran_Explaine...
If you are in grad school, you could likely get access to a free pdf copy of the book, just as I did myself in grad school. There is also a new 2018 edition of this book covering Modern Fortran 2018 standard: https://books.google.com/books/about/Modern_Fortran_Explaine...
There is also an amazing online Fortran-Jupyter binder by which you could test your serial as well as Coarray "parallel" Fortran codes on shared/distributed memory architectures in real-time: https://github.com/sourceryinstitute/jupyter-CAF-kernel
You can test it here: https://mybinder.org/v2/gh/sourceryinstitute/jupyter-CAF-ker...
There are also lots of other online Fortran compilers for education and testing on the fly. Just search the terms on the web. Here is a good one I often use:
https://www.tutorialspoint.com/compile_fortran_online.php
The book "Modern Fortran Explained: Incorporating Fortran 2018" by Metcalf et al (or the older Fortran 2008 version of it published in 2011) is an excellent resource (although it is too comprehensive for an absolute beginner). Whatever book you pick up, make sure you learn the new features of Fortran, most importantly, 2008, and 2003 Fortran standards. These new standards as well as the newest Fortran 2018, contain extremely powerful and useful concepts (Coarray Fortran parallelization syntax, advanced (sub)modular programming, OOP) that are essential for modern scientific computing.
There are quite a number of books. I recently got this one that is pretty good: https://www.amazon.com/Modern-Fortran-Explained-Incorporatin...
One note, Fortran 2018 compliance in the compilers is still evolving, so not all features are in all compilers yet. Fortran 95/2003 support should be solid and most all have all of 2008 in.