dark mode light mode Search Menu
Search

Fortran

crabchick on Flickr

So which is more important, computer hardware or software? Did you know hardware and software used to be the same? People customized software to work with one kind of computer hardware. Today that sounds crazy. Microsoft Office, for example, works on all kinds of computer hardware, from desktops to laptops to tablets. Office works on hardware running Mac OS X and Windows operating systems, even different versions of Windows.

In the 1950s, however, hardware determined what software did. If you coded software for IBM, for example, you tweaked your software to manage the allocation of memory and other hardware details. Different computers required different custom software.

FORTRAN provided the first programming language with a complete compiler, the software needed to translate a high level language humans could use to write software easily into assembly language or machine code computers could understand.

Until the early 1990s, Fortran also was called FORTRAN, all capital letters. The name came from FORmula TRANslation. It was developed at IBM and shipped with their IBM 704 line of computers in 1957. John Backus led the development team, starting in 1954 when he was 29 years old. They required several years to create what we know as modern software. If the Lisp programming language is perhaps the more creative, minimalist software language that led to Clojure and other modern variants, FORTRAN is the ancestor of modern software built and engineered thoroughly with all the bells and whistles. For example, the C languages and many others can trace back to concepts and methods of working first created by FORTRAN.

John Backus, the IBM project leader, also did not have the typical computer scientist background. He reportedly did not study very hard. For example, he studied chemical engineering then quit to join the US Army in World War II. He studied to become a medical professional but left his studies incomplete. A move to New York City led to work as a radio technician then Columbia College where he received a Masters degree in mathematics. A friend suggested he talk to IBM who hired him in the early 1950s.

What makes Fortran Special?

Fortran is the first software programming language designed to be independent from computer hardware. Your code was compiled into what used to be called software, a set of instructions to run on a specific mainframe. But you the coder did not have to worry about these details. With Fortran, you could focus on solving the math or science problem your software had to solve.

While FORTRAN did not invent compiler software (Grace Hopper and others got there first) to translate high level programming languages to machine code, FORTRAN was the first systematic use of a compiler as part of a high level programming language. It made life much easier for programmers, expanded the realm of what software could do, and created a number of concepts still in use today in many programming languages.

Aside from hardware independence, one key problem FORTRAN solved is precedence. Imagine this calculation:

5 + 3 x (6 x 3)

There is a natural order to solve this equation which humans agree upon. You do the multiplication (6 x 3) first. But how do you teach software the correct order of calculation? Backus and his team created FORTRAN to translate these formulas, in the correct calculation order.

This is one of the many problems FORTRAN solved. Other inventions included commented code, DO statements, subroutines, and formatted input and output.

However, the primary benefit of FORTRAN was speed. The software development process took less time with FORTRAN, in large part because programmers could write software to work on different computer hardware. FORTRAN, the initial version of the language, ran 20% slower than custom software but that was enough to not matter, especially as computer hardware speed increased.

How is Fortran Used?

Fortran is still used today in scientific and research projects, for example, weather calculations, computational fluid dynamics, and computational physics and chemistry. You can still learn the language in many college computer science programs. And the language has evolved through a number of specifications, with its key ideas adopted by C, C++, and other languages. There’s also an object oriented version and a concurrent version of Fortran, which reflect two ways to solve modern computing problems.

Fortran also is still a comparatively easy language to learn. Learning Fortran helps programmers connect to the past history of computing and software programming. For example, it is one thing to learn DO statements in a modern language, another to learn FORTRAN where the concept first appeared. The latter provides depth of knowledge plus a bit of fun.

Learn More

Fortran (Wikipedia)

http://en.wikipedia.org/wiki/Fortran

The FORTRAN Programming Language

http://groups.engin.umd.umich.edu/CIS/course.des/cis400/fortran/fortran.html

John W. Backus

http://www-03.ibm.com/ibm/history/exhibits/builders/builders_backus.html
http://en.wikipedia.org/wiki/John_Backus

FORTRAN Tutorials

http://folk.uio.no/hpl/scripting/doc/f77/tutorial/
http://www.cs.mtu.edu/~shene/COURSES/cs201/NOTES/fortran.html
https://www.tacc.utexas.edu/documents/13601/162125/fortran_class.pdf
http://exodus.physics.ucla.edu/Fortran95/PSTIResearchLecSeries1.html
http://www.ucs.cam.ac.uk/docs/course-notes/unix-courses/Fortran
http://people.ds.cam.ac.uk/nmm1/Fortran/index.html
http://www.nsc.liu.se/~boein/f77to90/f77to90.html
http://nf.nci.org.au/training/FortranBasic/
http://nf.nci.org.au/training/FortranAdvanced/
https://www.youtube.com/watch?v=JGPj5cTGd58 (Windows)
https://www.youtube.com/watch?v=OK6GSvpGZfk (Linux)

FORTRAN/Fortran Compilers

http://www.personal.psu.edu/hdk/fortran.html
https://www.fortran.com/compilers.html
http://www.silverfrost.com/11/ftn95/ftn95_fortran_95_for_windows.aspx
http://www.silverfrost.com/23/ftn95/ftn95_documentation.aspx
http://hpc.sourceforge.net/ (Mac)

Related Posts