What are your favorite and least favorite things about Fortran?

Favorite:

  1. Self-documenting-code features (naming constructs, associate construct, intent(in/out)
    – These features, including the necessity of including all variable definitions at the top of subroutines/programs, seems oddly verbose. However, as a programmer who sometimes has to dive into a large Fortran codebase but who doesn’t want to know the entire codebase, these idiosyncrasies of the language are immensely helpful. Not saying I see large codebases use associate or name constructs, but I personally plan to if I ever make larger codebases.
  2. Native multidimensional array support
  3. Simple language but fast and robust (with recursion, modules, derived types, interfaces, etc)

Least favorite:

  1. Writing to file in binary; the format isn’t specified enough and so one has to use an external library for cross-platform file communication. My ideal would be an intrinsic numpy-like easy interface for saving multidimensional arrays compactly, that is guaranteed to be readable by any standard-compliant Fortran compiler.
  2. Can’t think of anything else right now!
4 Likes