Best products from r/fortran

We found 7 comments on r/fortran discussing the most recommended products. We ran sentiment analysis on each of these comments to determine how redditors feel about different products. We found 6 products and ranked them based on the amount of positive reactions they received. Here are the top 20.

Top comments mentioning products on r/fortran:

u/tomedunn · 3 pointsr/fortran

I second Modern Fortran Explained. It is a great introduction to most of the features added to Fortran over the last 20 years. However it is a little lacking in good examples for more advanced derived type applications (Fortran 2003 and later).

I'm also quite fond of Scientific Software Design: The Object Oriented Way. It's not exactly a book on "modern" Fortran techniques but since most of the example code is written in either C++ or Fortran (using the 2008 standard I believe) it serves as a great source of examples for more "modern" Fortran features such as derived types and coarrays. Also the PSBLAS source code uses a lot of newer Fortran features.

u/necheffa · 5 pointsr/fortran

> Where do you get info from?

From an older edition of Modern Fortran Explained (https://www.amazon.com/Modern-Fortran-Explained-Incorporating-Mathematics/dp/0198811888)
It isn't a great book but it is the best that I've seen for Fortran.
My big problem with this book is that there are basically 3 generations of the book; 90/95, 2003/2008, and 2018. But they never integrated the new material into one consistent description of the language, they literally just slapped a few extra chapters on the end of the book at each generation, which makes it very difficult if you are learning the language, or even just as a bench reference.

> Why do some people type commands in CAPS LOCK

WAAYY back when FORTRAN was first invented, it was not uncommon to have a machine whose character encoding only supported a single case of letters, usually upper case. So a lot of old code is written in that way out of necessity, then when you go to update the old code the path of least resistance is to keep the case that the source file was already in.
There are also a lot of old Fortran programmers that are blissfully unaware that Fortran 90 or any of the successive revisions of the language exist...


To your last point, I think the difficult nature of Fortran makes this problem more obvious and more painful for "the next guy" to maintain the code. But ostensibly, all languages have the problem of "amateur hour" mucking things up.


Fortran's main reason for being so painful to work with is that the steering committee made the (very very wrong) decision to main total backwards compatibility with legacy revisions of the language. This leads to all kinds of nonsense. Then again, we can see that plenty of companies are still using Python 2 even though many many years ago the Python community made it clear they should all move over to Python 3 and even provided tooling to help do so. You can't win either way - the only way to win is design the language properly the first time I guess.

A close second reason is this sick infatuation with raw performance. The language forces you to be pretty explicit about certain things so that theoretically the compiler can make more optimizations.
However, in practice, most Fortran programmers that I've seen have a tendency to churn out junky code that uses primitive data structures and naive algorithms. As a result, any performance benefits they might have gained from these optimizations are obliterated.
Let this be a lesson - premature optimization is the root of all evil.

u/FuSoYa69 · 3 pointsr/fortran

For Fortran 90 (what I mostly use), I really like this book. It takes a no-nonsense approach to Fortran 90. Also, a good resource on the web is this website; however, it's large size and plethora of links can make it somewhat difficult to navigate.

u/rdj999 · 2 pointsr/fortran

This was the second language that I learned, after BASIC. I went on to use Ratfor ("Rational Fortran"), a pre-processor that lent a C-like syntax to FORTRAN programs. That was the language in which I learned how to write software tools and developed the methodology by which I have written high-quality, robust software ever since.

Software Tools was a seminal work in my early career that used Ratfor in all of its examples, because C compilers and Unix were not generally available at the time. (I still have this book by Brian Kernighan and P. J. Plauger.)