How Good was NASA at FORTRAN in the 1960s?

Like many scientist and engineers, I have always heard about the FORTRAN code used by NASA back in the 1960s. FORTRAN was famous for being well suited for their needs given its precision when it comes to mathematical calculations.

I wanted to see it!

Once, I stumbled upon parts of a program, but I had never really saw a complete FORTRAN program that could be used to calculate planetary movements and trajectories.

Until now!

Here is a link to the NASA Technical Reports Server page where I was able to access the document: NASA-NTRS

Here is the document: NASA-TN-D-1455

As you read through the paper, it is clear that the authors had a complete understanding of the planetary physics in which they were working within. There was no ChatGPT available to them.

(Would you actually trust ChatGPT do perform these calculations for you? Would you ride on that rocket? I don’t believe I would.)

At any rate, the document is a fascinating read and I wanted to share it with you. I think the way they documented their code was excellent as well. Creating lists and tables of all their variables, that must have been extremely helpful.

“Yeah, but we don’t need that now, we have object-oriented languages.” Yes, I hear you, but just because we don’t have to doesn’t mean we shouldn’t. The guy who taught me CSS spent the first 200 lines simply making comments and planning out what sort of variables, fonts, heights, colors, would be included in the rest of his style sheet. I copied him when creating the CSS style sheet for this site. I cannot begin to tell you how helpful it is when troubleshooting an issue.

If there is one lesson I have learned from NASA’s FORTRAN code, it would be this. Careful documentation and planning goes a long way in creating robust code. I am inspired to approach my projects differently, even the simple ones.

I think every coding project should have a planning markdown file explaining the following: - The purpose of the code - The science or math the code will be utilizing (Equations should be placed here) - A variable list (including the variable types) - A list of error handling required - A pseudo-code section - A copy of the code when finished

Yes, I know, you will use your fancy AI and create your project much faster than me. But I will actually know what in the world I did…and so will everyone else.

Jonathan Adams

August 6th, 2025