I've been a Fortran user for (gawd help me) 35 years or so. I can say that rumors of its demise are greatly exaggerated.<p>There are many languages, and language fads. Fortran was never sexy, never faddy.<p>My research codes from 30+ years ago still compile w/o issue to this day, and run, on my linux laptop. Even using the big endian data files (gfortran has a nice switch for that).<p>I don't really use it actively anymore. But I know many who do. And when I hear others say "X for scientific computing", I've got to chuckle a bit. C++ code I wrote 15 years ago won't compile today. Python ... the language changes within minor versions (ran into this at work last week, with 3.6.8 being sufficiently different than 3.9.x that I had to rewrite a number of functions for 3.9.x).<p>I've not had to change my Fortran. Or my 25+ year old Perl. They just work. Which is something of a base requirement for scientific code. If you hand someone a code base, and N months/years later, it doesn't work ... that helps no one.
I don't really like the title of this post, due to its implications... you can only resurrect something that is dead. But Fortran is alive and kicking. It is a fundamental language of our technological infrastucture. Millions of people run algorithms every day that are implemented in Fortran! It is also one of the few languages where you can reliably implement numerical algorithms and reason about their efficiency and memory usage.
Fortran's the only obstacle to purchasing M1 for me currently.<p>A while ago I compared the execution time for some simple matrix arithmetic in rust, fortran (2003 I think), and python/numpy. (as an aside: as far as science is concerned, python without numpy doesn't exist.) Execution times were fairly similar.<p>What I didn't mention was the pretty-much-optimal fortran and python solutions took maybe a minute to code.<p>The optimal Rust solution took <i>over a day</i>.<p>I'll also note intent(in), intent(out) fulfil similar uses to '&' and '&mut'.
<i>> Quick Start: Variables, Example: variable assignment [1]....<p>> pi = 4.141592
</i><p>Well, for the sake of a reasonable correctness in the code example. Must be a typo with the intended:<p>pi = 3.141592<p>Thanks for your efforts to help Fortran move forward.<p>[1]: <a href="https://fortran-lang.org/learn/quickstart/variables#declaring-variables" rel="nofollow">https://fortran-lang.org/learn/quickstart/variables#declarin...</a>
Several things surprised me, both in the blog post and the other comments. (Though hpcjoe's and enriquot's comments took care of the "What? Fortran is dead?" reaction.)<p>- (Comment) "array operations, ... are slower than explicit loops" May be related to the following:<p>- No mention of vectors.<p>- No mention of LINPACK, LAPACK, etc.<p>- No mention of GPUs.
What stopped me a while ago was the availability of good free compilers. (the appeal is you could be faster than C for numerical code in Fortran, but I remember vaguely these compilers then would not be cheap)