# **💾 Booth: Fortran (1957)**

* **Creator:** John Backus (IBM)  
* **Design Philosophy:** "Formula Translation" — designed to make scientific, mathematical, and statistical calculations easier to translate directly into high-level programming instructions.  
* **Key Innovations:** First commercially successful high-level language; introduced compiler optimization, variables, structured loops (DO), and arithmetic conditionals (IF).

## **📏 Punch Cards & Column Rules**

Classic Fortran (specifically Fortran 66 and Fortran 77\) relied on physical paper punch cards, meaning the placement of characters in specific columns was strictly enforced by the compiler:

* **Columns 1–5:** Statement label (numeric value, optional).  
* **Column 6:** Continuation marker (any non-blank character indicates this line continues the previous card).  
* **Columns 7–72:** Statement body (the actual source code).  
* **Columns 73–80:** Sequence/Identification numbers (ignored by the compiler, used to reorder cards if dropped).

## **🚀 Hello, World\! (Fortran 77 Fixed Format)**

C      THE 'C' IN COLUMN 1 INDICATES A COMMENT LINE  
       PROGRAM HELLO  
       PRINT \*, 'Hello, World\!'  
       END

## **🎨 Showpiece: Factorial Calculator**

This program showcases mathematical functions, variables, and the classic arithmetic IF statement.

We can express the factorial function mathematically as:

![][image1]       PROGRAM FACTOR  
       INTEGER N, RESULT, I  
         
       PRINT \*, 'ENTER A POSITIVE INTEGER:'  
       READ \*, N  
         
       IF (N) 10, 20, 30  
         
C      If N \< 0 (Arithmetic IF branch 1\)  
10     PRINT \*, 'FACTORIAL OF A NEGATIVE NUMBER IS UNDEFINED.'  
       GOTO 40

C      If N \== 0 (Arithmetic IF branch 2\)  
20     RESULT \= 1  
       GOTO 35

C      If N \> 0 (Arithmetic IF branch 3\)  
30     RESULT \= 1  
       DO 32 I \= 1, N  
          RESULT \= RESULT \* I  
32     CONTINUE

35     PRINT \*, 'THE FACTORIAL IS: ', RESULT  
40     STOP  
       END  


[image1]: <data:image/png;base64,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>