We have the answers to your questions! - Don't miss our next open house about the data universe!

Demystifying Fortran: A Comprehensive Introduction to the First Programming Language

- Reading Time: 5 minutes
fortran

Fortran is a computer programming language widely used by scientists. Its popularity has declined over the years, but it remains widely used by scientific programmers. It is also used by companies for use cases such as weather forecasting, financial trading, or engineering simulations.

Programs written in Fortran can be optimized to run on high-performance computers (HPC). It is used for program benchmarking and ranking the world’s most powerful supercomputers. This language is generally ideal for producing code where performance is important.

Only a handful of other languages rival Fortran’s performance, including C++. It also offers preferable features for developers over C++, such as not having to worry about memory allocation or optimization.

It is an “ahead-of-time” compiled language, meaning that a special compilation step must be performed on the written code before it can be executed on a computer. This is a major difference from interpreted languages such as Python and R, which run through an interpreter executing the instructions directly. The disadvantage is that the interpreter reduces computing speed.

The history of Fortran

Created by Konrad Zuse, Plankalkul was the first high-level programming language. However, the inventor’s ideas and projects were only written on paper. The first real programming language was Fortran, created by John Backus.

With a bachelor’s degree in mathematics from Columbia University, he invented this language in the 1950s while working as a programmer at IBM. Its purpose was to support the Selective Sequence Electronic Calculator: an electromechanical computer with 23,000 relays and 13,000 vacuum tubes, manufactured in January 1948. It was with this computer that Wallace J. Eckert, director of IBM’s Watson Scientific Computing Laboratory, carried out the SSEC calculations that would be used 20 years later in the Apollo space program.

However, after the SSEC was invented, no one could find a suitable method of programming it. For three years, John Backus worked on trying to program the machine.

At the end of 1953, he presented his superiors with a concept for a programming language for the IBM 701 mainframe computer. The idea was approved by IBM, and John Backus was put in charge of a small team in 1954 at the IBM Watson Scientific Laboratory.

As his work progressed, Backus decided to design a faster, simpler programming language for programmers.

In 1957, the first version of Fortran was launched after three years of effort. It contained 25,000 lines of code on a magnetic cassette included with every IBM 704 installation. The language was widely adopted by scientists and mathematicians for writing numerically intensive programs.

The second version of Fortran was released in 1958, adding complex number data types. This made the language suitable for technical applications such as electrical engineering. The main improvement was to allow user-written functions to enhance procedural programming.

Less than a year later, IBM launched Fortran III with new features. However, this version was never offered to the public as a product. By 1960, several versions of Fortran were available for IBM computers. The language’s popularity continued to grow, and competing manufacturers began to offer compilers for their own machines. By 1963, more than 40 such compilers were available.

In 1961, IBM began work on Fortran IV in response to public demand. This version eliminated the machine-dependent features of Fortran II and added new functions such as logical data type. By 1965, Fortran IV had to conform to the standards of the American Standards Assocation. It had already become a widely used language in education.

Despite the warm welcome given to this standardization by the community, various variants continued to emerge. Several revisions were made by new versions such as Fortran 77.

Even today, Fortran is still widely used by many scientific communities. However, it is often regarded as an obsolete and ancestral language.

The most recent Fortran standard dates from 2018, and has brought new features while preserving the language’s high performance and ability to meet the modern challenges of scientific computing.

The language has evolved over time. Once a purely procedural programming language, it now supports object-oriented features such as type extension and polymorphism.

More recent versions have introduced new concepts such as “block if” and “end if” declarations, aimed at improving structured programming. Many of these features can be found in modern programming languages such as C++, Java or Python.

Over the past 40 years, Fortran has inspired a number of programming languages, including C and Basic. The language has also influenced the evolution of compilation techniques.

What's Fortan for?

Even today, Fortran is still widely used in research fields requiring the use of scientific computing. Among the most famous Fortran programs are NEMO (Nucleus for European Modelling of the Ocean), the OFF fluid dynamics code, and the models of the Goddard Institute for Space Studies.

What’s more, this language remains popular for a wide variety of climate modeling programs. Mathematical formulas are easily converted into code.

Performance is high, and most of the climate modeling community understands the syntax.

TIOBE India, which measures the popularity of hundreds of programming languages, ranked Fortran twentieth among the most popular languages in April 2021. Although it has been eclipsed by other languages over the last few decades, it remains firmly rooted in the field of High-Performance Computing.

The best Data Science languages

When it comes to data science, not all programming languages are created equal. C and C++ are commonly used for high-performance data analysis, but languages such as Python can help boost productivity. There are specific frameworks and languages for Big Data processing, just as there are languages for scientific research. Fortran, however, is surpassed by several languages in this precise field.

C Language

C is a general-purpose language that can be used for a wide range of applications.

For Data Science, it offers two advantages. Firstly, it’s a popular language with a broad user base, and it’s also one of the most powerful.

In addition, C supports digital sources and libraries, enhancing its performance for Data Science tasks. In this field, however, Python is clearly superior.

Many programming languages come with a vast ecosystem of libraries and tools designed for the development of Data Science applications. The main ones are Python, R, Julia and Fortran.

Python

Python is the most popular programming language in Data Science. It’s a language originally designed for learning programming, but its simplicity has made it one of the most widely used for development. It is the language offering the largest number of libraries for Data Science.

Among the most widely used are the SciPy toolkit for optimization, integration, interpolation and linear algebra, NumPy for matrices and multidimensional arrays, scikit-learn for Machine Learning algorithms, and the Natural Language Toolkit module.

The R language

R is both a programming language and a text-based, graphical environment for statistical computing. It first appeared in the early 1990s, but quickly gained in functionality and popularity.

Programs can be defined and tested incrementally, using this language in batch form to run programs interactively.

Like Python, R brings together various Data Science libraries. There are over 11,000 packages available via the Comprehensive R Archive Network. Most are developed in R, but they can also be developed in C, Java and Fortran.

There are also specialized R-based environments such as Bioconductor, focused on genomic data analysis.

Julia language

Created in 2009, Julia is the most recent data science programming language. It focuses on high performance, and supports procedural, object-oriented and functional programming. It is a dynamic language for distributed or parallel computing.

Over 1,700 packages are currently available on the Julia package manager. They are written in Julia, C and Fortran and cover all areas of Data Science. The language can also be used to call Python functions via the PyCall package, or to call C functions directly.

How to learn programming with Fortran?

Computer programming is widely used in a wide variety of scientific fields. However, Fortran is not the best language for Data Science. Python is a more suitable and powerful language.

To learn how to master Python programming, choose DataScientest.

Our Data Analyst, Data Scientist, Data Engineer and Data Management courses include a module dedicated to programming.

The Data Analyst, Data Scientist and Data Manager curricula cover the fundamentals of Python, and the Numpy and Pandas libraries. The Data Engineer program covers Bash, Linux, Python and object-oriented Python.

Other modules include DataViz, databases, CI/CD, Machine Learning and Business Intelligence. At the end of these courses, you’ll have all the skills you need to work in the Data Science profession.

At the end of the program, our students receive a certificate issued by MINES ParisTech / PSL Executive Education and Université Panthéon Sorbonne as part of our partnerships. Our courses are recognized by industry, and 80% of our alumni find immediate employment.

All our programs adopt a Blended Learning approach, combining e-learning on a coached platform and Masterclasses. Depending on your situation and preferences, you can choose between Continuing Education and an intensive BootCamp mode.

As far as financing is concerned, all our courses are eligible for state financing. Don’t wait any longer and discover DataScientst!

You are not available?

Leave us your e-mail, so that we can send you your new articles when they are published!
icon newsletter

DataNews

Get monthly insider insights from experts directly in your mailbox