Hacker News new | ask | show | jobs
Opinion HN: Fortran 90 (F90) doesn't look terrible (cesm.ucar.edu)
2 points by monopolemagnet 3922 days ago
2 comments

I'm not totally sure it's fair to bring up a version of a language that is twenty four years earlier than the one under discussion. (and for a thought to make some people feel old, 1966 is closer to 1990 than 1990 is to today).
I am. The point is to show Fortran 90 evolved a lot, which is indeed, a good thing. Remember, F66 was influenced by Speedcoding which was, in turn, influenced by assembly, because practical, high-level languages were still in the learning phase. In other words, early Fortran (e.g., FORTRAN for the IBM 704 on punchcards, which my mom coded in at NUQ) was just barely higher level than assembly, but later versions improved to gain additional features which made coding in it less onerous and more productive.

Age is an irrelevant, consumerism fallacy; the contextual history including the players involved, machines available, problems to solve and lessons learned, is far more important.

More (salient links from various sources):

Generally

- https://gcc.gnu.org/wiki/GFortranStandards

F60

- https://www.fortran.com/FortranForTheIBM704.pdf

F66

- ftp://ftp.nag.co.uk/sc22wg5/ARCHIVE/Fortran66.pdf

F77

- http://web.stanford.edu/class/me200c/tutorial_77/

- http://www.fortran.com/fortran/F77_std/rjcnf.html

F90

- http://www.nccs.nasa.gov/tutorials/f90studentnotes.pdf

- ftp://ftp.nag.co.uk/sc22wg5/N1801-N1850/N1830.pdf

- http://www.j3-fortran.org/doc/year/10/10-007.pdf

- http://www.fortran90.org/

F95

- http://www.j3-fortran.org/doc/year/04/04-007.pdf

F2003

- http://www.j3-fortran.org/doc/year/04/04-007.pdf

F2008

- http://fortranwiki.org/fortran/show/Fortran+2008

One problem I find in fortran is that subroutines quickly have a lot of arguments. In this example, glint have 30ish. I have seen fortran subroutines in the aerospace industry with more than 100 arguments.
Oh god. Reminds me of simulated processor pipeline stages (VHDL, etc.), which tend of have a huge amount of state.

I'm no Fortran expert. Were there no composite types (i.e., structures or tuples) at the time or other reasons to do that (i.e., code testing tools)?

Edit: Last q: Yes, as a vendor extension

https://gcc.gnu.org/onlinedocs/gfortran/STRUCTURE-and-RECORD...