Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arjenmarkus/old-programming-idioms
Explain old-style programming idioms used in FORTRAN 77 programs
https://github.com/arjenmarkus/old-programming-idioms
fortran fortran-tutorial fortran77
Last synced: about 16 hours ago
JSON representation
Explain old-style programming idioms used in FORTRAN 77 programs
- Host: GitHub
- URL: https://github.com/arjenmarkus/old-programming-idioms
- Owner: arjenmarkus
- License: mit
- Created: 2023-05-31T04:12:54.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-19T16:09:17.000Z (14 days ago)
- Last Synced: 2025-01-19T17:24:28.156Z (14 days ago)
- Topics: fortran, fortran-tutorial, fortran77
- Language: TeX
- Homepage:
- Size: 3.2 MB
- Stars: 23
- Watchers: 6
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
I want to write about the typical idioms you find in old-style FORTRAN
programs:
- What do they mean?
- What are modern equivalents?This will typically be the common things from FORTRAN 77 onwards, but
perhaps also a wee bit about FORTRAN 66 (like one-pass loops?)These are the keyword/subjects I am thinking about:
- array(*) versus array(:)
- array(10) as the starting point
- COMMON blocks and BLOCK DATA, named and blank COMMON
- history of computers:
- hardware
- memory management
- tools like source code control systems
- connections between computers, Internet
- equivalence
- constants as actual arguments
- intent
- temporary arrays - non-contiguous arrays
- implicit types
- double precision versus kind
- checking interfaces
- separate compilations, the misunderstanding of one routine per file
- fixed form and spaces
- standard input and output
- LU-numbers 5 and 6 (and 7)
- command-line arguments for file names
- real do-variables
- entry
- SAVE-attribute and SAVE as compiler property
- ASSIGN
- arithmetic IF
- computed GOTO
- F66: one-pass do-loops
- statement functions
- six characters
- numerical binary representations versus IEEE (IBM, Cray, Convex)
- big-endian and little-endian
- double complex
- unformatted versus binary files
- list-directed input and output - also: /
- narrow formats
- input formats with decimals - F5.1 and there is no decimal point in
the input
- double precision :: x = 1.01 not the same as double precision :: x = 1.01d0
- use of d00 in input
- format statements