My first programming language was Fortran IV.  Fortran, originally called FORTRAN for Formula Translation, has gone through several major overhauls since I used it in high school, college and graduate school with Fortran 77, Fortran 90 and Fortran 95.  Fortran, up until Fortran 90, was a language designed for punch cards.  The language had strict column formatting.  Columns 1-5 were used for labels in the form of numbers only.  Column 6 was used to denote continuation from the previous card.  Columns 7-72 was for each Fortran statement.  Columns 73-80 were ignored by the Fortran compiler and often used to sequence a deck of punch cards on the off chance that they were dropped and had to be resorted back into their original order, an event that happened far too frequently.  Fortran was the programming language of science.  It was excellent at number crunching.

Most of my programming in Fortran was with Fortran IV with Fortran 77 becoming available when I was in graduate school.  Fortran IV and earlier versions required the use of the infamous GOTO statement.  Not only did you have to use it, it was the only way to do any type of branching.  The GOTO statement which today is considered broken and sloppy to use was the only way to jump from one part of a Fortran program to another.  It was not until Fortran 77 that control statements such as the IF/THEN/ELSE and WHILE/DO loops were added making the GOTO statement less needed.

In college, I got to work on an old PDP computer, old by the standards of that time.  The only compiler on that system was for Fortran II.  There was no Internet and hence no online searches.  Without manuals, I had to work out what was legal in Fortran II and what was not compared to Fortran IV.  It made for an interesting summer working at the University of Lowell Van De Graaff accelerator.

In graduate school, one of the tools that I wrote was an analysis program in Fortran.  Looking back at what I did many years later, I realized that I had written an object oriented program in Fortran, one of the oldest procedural programming languages.  The program did not have classes though it did have a form of inheritance.  The program was designed so that there was a common function signature that allowed new commands and functionality to be dropped in.  It was a hardy program.  It had survived multiple operating systems, multiple graphic systems and was on version 22 when I left graduate school.  From what I heard, the program was still being used more than a decade after I left.  I am a firm believer in building things that last and that includes my programming.

Fortran References


Comments are closed