Comparative Architectural Evolution
Source video: FORTRAN in 100 Seconds (Fireship, 2:38) · at 00:37. The video says only that the language has many versions. It does not compare old and new standards.
The language has steadily incorporated modern computational abstractions while maintaining high numerical performance. The differences between legacy FORTRAN specifications and modern standards are highlighted below:
| Architectural Domain | Classical FORTRAN (FORTRAN 66 / 77) | Modern Fortran (Fortran 90 through Fortran 2018+) |
|---|---|---|
| Source Formatting | Strict 80-column fixed format; punch-card-oriented layout6. | Free source form; up to 132 characters per line; fully case-insensitive5. |
| Typing Discipline | Implicit type mapping based on initial letters (I–N integer convention)7. | Strict type checking via explicit declarations and mandatory implicit none7. |
| Memory Management | Static memory partitions; no heap support; shared COMMON blocks5. | Dynamic heap management via allocatable arrays and type-safe pointers5. |
| Array Processing | Element-by-element iterative loops (DO loops)7. | Native array slicing, matrix vectorization, and whole-array algebraic operators7. |
| Control Flow | Extensive reliance on line numbers, computed GOTO, and arithmetic IF6. | Structured blocks (do … end do, select case, if … then … else)7. |
| Procedural Design | External subroutines/functions without compile-time interface verification1. | Module procedures with strict compile-time interface and intent checking1. |
| Parallel Computing | External platform-dependent pragmas (OpenMP, MPI runtime libraries)10. | Native Single Program, Multiple Data (SPMD) parallelism via Coarrays1. |
Review findings for this part
Section titled “Review findings for this part”The findings come from ../../findings/ (pass 1). The script matches them to this part by source line.
| ID | Severity | Evidence | Status | Location | Problem |
|---|---|---|---|---|---|
| D07-C1 | critical | DOC | open | L5-89, L93, L98 | Claim: The superscript numbers cite sources for each sentence.. Problem: The citations do not support the text. Source [1] is a Facebook group post about formatted input and output. The report cites it about 15 times for history, uppercase letters, character sizes, functions, intent and coarrays. Source [6] is a Hackaday article. The reviewer read it (WebFetch). It does not discuss card columns, keypunch models or errors in the video. But the report cites [6] for these (L11, L15, L20, L53). |
| D07-M1 | major | KNOW | open | L66 | Claim: Modern Fortran has “mandatory implicit none”.. Problem: This is not true. The standard, up to Fortran 2023, still uses implicit typing when a program does not declare a variable. implicit none is a strong best practice, not a rule of the language. Fortran 2018 added implicit none (type, external). A learner can think that a modern compiler catches every typo. It does not, unless the code has implicit none or the learner uses a compiler flag such as -fimplicit-none. |
| D07-M2 | major | KNOW VERIFY | verify | L71 | Claim: The classical column lists OpenMP and MPI. The modern column says “native SPMD parallelism via coarrays”.. Problem: The classical column is out of time order. MPI (1994) and OpenMP (1997) came after FORTRAN 77. The modern column gives the wrong picture. Most modern Fortran HPC code uses MPI and OpenMP, and now GPU offload. Coarrays are a small part of real use. In gfortran, coarrays need the OpenCoarrays library, which uses MPI. |
| D07-m2 | minor | VERIFY | verify | L20, L65 | Claim: Free form permits lines of up to 132 characters.. Problem: This is true for Fortran 90 to Fortran 2018. Fortran 2023 increased the limit to 10,000 characters. |
| D07-m6 | minor | KNOW | open | L69 | Claim: Classical FORTRAN relied on computed GOTO and arithmetic IF.. Problem: FORTRAN 77 already had block IF ... THEN ... ELSE. The contrast fits FORTRAN 66 better than FORTRAN 77. |
| D07-m8 | minor | KNOW | open | L63, L71 | Claim: “Fortran 2018+”. Problem: The current standard is Fortran 2023. The report does not name it. |
Review worksheet
Section titled “Review worksheet”1. Goal of this part
Section titled “1. Goal of this part”What does this part try to show, or help the reader decide?
2. Key claims to test
Section titled “2. Key claims to test”| # | Claim | Evidence given (citation / data) | Verifiable? |
|---|---|---|---|
| 1 |
3. Adversarial review
Section titled “3. Adversarial review”- Strongest counter-argument:
- Unsupported, overstated, or outdated claims:
- Source quality (primary vs. blog/forum/marketing):
- Omissions / what a skeptic would ask:
- Internal consistency with other segments:
4. Evaluation
Section titled “4. Evaluation”- Does the segment achieve its goal? (Yes / Partly / No)
- Confidence: (High / Medium / Low)
- Required fixes: