cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1079
Views
6
Helpful
3
Replies

Trivia Tuesday: Formula Translation

yawming
Cisco Employee
Cisco Employee

yawming_0-1680018888860.png

If I say, "Formula Translation is the first high-level programming language," some of you might respond with, "What?", "Nonsense!", or "You don't know what you're talking about!" However, if I rephrase it as "Fortran, an acronym for Formula Translation," then most of you might respond, "Ah, that's possible

A High-level programming language is designed for humans to read, write and understand, in contrast to low-level languages, which are specific to the hardware architecture. For example, in machine language, there are only “0” and “1”, making it difficult for humans to understand.

Fortran, formerly known as FORTRAN (short for FORmula TRANslation or FORmula TRANslator), was invented and implemented by a team led by John Backus. It was created in 1954 and commercially released in 1957. Some people consider it to be one of the most influential software products in history.

On July 20, 1969, American astronauts Neil Armstrong and Edwin Aldrin became the first humans to step on the moon. Fortran played a significant role as well. Most of the programs used in the Apollo 11 mission were written in Fortran, primarily for the guidance and navigation systems on the spacecraft. They even developed a special version of Fortran for the Apollo missions called "Apollo Guidance Computer(AGC) language”.

In the early days,  writing Fortran was not as easy as writing the modern programming languages. Imaging writing an early version of Fortran, FORTRAN 66, to print out “Hello World !”. It would look like this:

1. PROGRAM HELLO
2. C
3. C     THIS IS A SIMPLE FORTRAN PROGRAM TO PRINT 'HELLO WORLD !'
4. C
5. INTEGER OUTPUT
6. EQUIVALENCE (OUTPUT, TEXT)
7. DATA TEXT / 8HHELLO WO, 8HRLD !   /
8. WRITE (6, 10) OUTPUT
9. STOP
10. 10 FORMAT (2A8)
11. END

You might say, “That’s not too bad”. However, that’s not all. In early days, we needed to convert the code into punch cards, one card for each line of code. We have 11 lines in the above code, but the lines 2,3 and 4 are comments, so we need at least 8 punch cards for the “Hello World !” program in FORTRAN 66.

One IBM punched card weighs approximately 2.5 grams, so if we write 1000 lines of codes with FORTRAN 66, it will be very heavy, around 2.5 kilograms(~ 5.5 pounds).  We should appreciate the modern programming languages we have today.

Fortunately the Fortran is still very much alive today. The “Hello world !” program in Fortran 2018 would look like this:

program hello_world
    implicit none
    
    write (*,*) 'Hello World !'
    
end program hello_world

It’s much easier to understand, isn’t it ?

Nowadays, Fortran may not as popular as other programming languages like Python or JavaScript, but Fortran remains relevant and plays an important role in scientific and engineering fields.  Fortran's numerical computing capabilities, efficiency make it an important language for applications such as high-performance computing, airplane structures, factory automation, weather modeling and many more.

Fortran is still evolving, with new revision and updates continuing to enhance the language. the latest revision of Fortran is Fortran 2018. The next revision, Fortran 2023, is planned for release in 2023.

For the programming enthusiasts:

Unlike the old days, now you can use most modern computers with Windows, macOS, or Linux operating systems to run Fortran code. For example:

On macOS:

You can use the Homebrew package manager to install the GNU Fortran Compiler (gfortran). Once Homebrew is installed, open a terminal and run ‘brew install gcc’.

On Windows:

You can install a Fortran compiler, such as the GNU Fortran Compiler (gfortran), which is part of the GNU Compiler Collection (GCC). You can download the GCC, including 'gfortran' for Windows from the MinGW-w64 project.

Alternatively, you can have some fun on Fortran Playground.

Not in the mood for Fortran today? Just need some ideas for working with Cisco APIs, SDKs ? You may want to check out Cisco Code Exchange.

 

 

3 Replies 3

davidn#
Cisco Employee
Cisco Employee

Ahh... reminiscing about the olden times spent punching codes in BASIC, Assembly, and FORTRAN onto punch cards. It brings back a wave of nostalgia. Thanks for sharing Yawming!

WendellO
Level 5
Level 5

Wow. I never would've guessed Fortran still existed... and matters to some people in the world. 
And the Cisco Code Exchange is cool, too. Thanks for the post! 
(And good to see your name here, old friend!)

It's an honor to have you here  
Great to hear from you again.