Is Fortran compiled or interpreted ?

(Note:  We may earn commissions from products/services you click on.  This is at no extra cost to you.)

Table of Contents

The compiler is responsible for generating an executable program from the commands placed in the program’s source file. The basic idea is to create a text file containing the language’s command lines, so we use a compiler to generate another file that can be executed on the computer. The executable file is a binary (non-text, acai) file with low-level instructions, as close as possible to the computer language or machine language. We can say that the compiler is a computer program that translates between the text file with specific language commands (FORTRAN, c, c ++) and the executable file, a translator.

Within GNU / Linux, we have a 90/95 FORTRAN compiler known as FORTRAN. Among other photo compilers, we have the Intel compiler (ifort ) 3 . 2, Portland (pgif90) 3. 3, NAG FORTRAN Compiler 3. 4.

To use a compiler and have an executable program, we first need to build a source code that contains the instructions for what we want to do.

Take your career to the next level.  Click this affiliate link to register for the Data Science Certification Training Course. 

Comment: a computer is a machine that was made to take orders and execute them; however, when you realize that the laptop is strangely performing the tasks or as you would not like, make sure that the order was poorly given. There is no point in being nervous. If the computer is showing the wrong result, you are telling to do the wrong thing. If you want to do the right thing, tell it to do the right thing.
The first program that we will do is make a program that writes a sentence on the screen. With a text editor ( joe prog1.f90 command ), create a file called prog1.f90, with the contents below:
With the program file saved, compile with the command:
We are telling the compiler not to generate object 3 . 5 and asking it to develop an executable prog1.x from the file prog1.f90. Run the generated program as follows:
The most common language implementer is the compiler. It translates the code into a format executable by the computer, generating new software. Once translated, the program runs very fast when compared to an interpreted program, so that compilation is the fastest method with execution in mind.
A compiler has several internal tasks, such as analyzing the code and checking its rules, then turning on all the resources the software needs, and, finally, generating the executable file with all its other necessary files. It acts on the code and does a lot. However, a programmer hardly uses “only” the compiled.

Is Smalltalk still revelant?

What type of language is Fortran?


FORTRAN is a programming language that is oriented and adapted for numerical applications and scientific computing.

With Fortran, modern programming was born. Through it, concepts such as scientific computing, or code complication, among others, have been put into practice.

The origin of this programming language dates back to 1954 and is attributed to John Backus, an experienced American computer scientist who belonged to the IBM company.

His proposal focused on launching a programming language whose objective was to translate in a simple and accessible way different mathematical formulas in code that a computer could understand.

As a curiosity, this computer specialist was working on a previous project called SSEC (Selective Sequence Electronic Calculator) to get this program to calculate the positions of the moon.

Evolution of Fortran

There was some reluctance when it came to introducing themselves since everyone was used to its predecessor, the assembly language that emerged in 1949.

But the general perception soon changed as there were many advantages to using FORTRAN. It was considered a high-level programming language, which managed to translate entire programs without doing it manually as with its predecessors. In addition, its use was more straightforward than, not as restrictive as the previous existing programming languages​were.

One of the things that managed to revolutionize the world of programming was that it allowed the code to be written more quickly and did not require such specialized professionals, which made it more accessible to anyone.

It is a language that has never stopped evolving. It has varied over the years until Fortran 2018, which has included new features and improvements since its inception.

Fortran has served as the inspiration and basis for the creation of other types of programming languages ​​such as Lisp (1958), COBOL (1959), or ALGOL (1958).

Undoubtedly, it is one of the languages ​​that are still taken into account when working with them, and that has served as information to create other aspects of programming derived from it.

Advantages and disadvantages of Fortran

Its advantages include the following:

Easier to learn than its predecessors.

It is still used as one of the most prominent languages ​​when it comes to performing a numerical calculation.

It is considered a revolution and the beginning of modern programming.

Its implementation and years of use have resulted in proven and efficient libraries that confirm its effectiveness as a programming language.

Its disadvantages must also be taken into account when being used:

It is a programming language in which there are no classes or structures.

It makes it impossible to make a dynamic memory reservation.

For the processing of highly complex texts, lists, and data structures, it is a somewhat primitive language.


It is characterized by its power in mathematical calculations but is limited in management applications, file management, character string handling, and report editing. It is a notorious language for the ease with which it allows to express an equation. FORTRAN was designed taking into account the use of the 80-column punch card, so the order of the instructions had to be sequential, that is, the programming of the algorithms was linear, to produce any alteration of the order of the logic, it is introduced the Goto instruction. Due to the development of programming methods, FORTRAN was also evolved from version to version, new functions, control structures, and Dynamic memory allocation, it has short commands to perform mathematical operations with matrices, and it has types, these improvements provide useful information to the compiler.

Is Fortran a procedural language?

The first high-level Programming Language (LP) was designed during the 1950s. In that decade, the FORTRAN (1957) and COBOL (1959) languages ​​emerged, the first high-level languages. The first was designed for mathematical applications involving complex formulas and calculations, hence the name FORTRAN for Formula Translator. At the same time, the second was intended for commercial and administrative applications, oriented to solve business problems, hence the name COBOL for Common Business Oriented Language.

Take your career to the next level.  Click this affiliate link to register for the Data Science Certification Training Course. 

Procedural Programming: conventional programming style where programs are broken down into processing “steps” that perform complex operations. Routines are used as modularization units to define such processing “steps.” Examples of languages ​​with this paradigm are Pascal and C.

Functional Programming: programming style originates from the theory of mathematical functions, making extensive use of functions and expressions in programming. Emphasizes the processing of values ​​through the use of terms and functions. Functions are the primary building blocks of the program; they can be passed freely as a parameter and can be constructed and returned as parameters resulting from other functions. Some LPs that support this paradigm are ML, Scheme, and LISP.

Programming of Abstract Data Types: recognizes abstract types of data as the unit of the program’s modularity. CLU was the first language designed to support this paradigm.

Object-Oriented Programming: emphasizes the definition of object classes. Class instances are created through the program as needed during the execution of the programs. This style is based on the purpose of class hierarchies and runtime selections of units to execute. Smalltalk, Eiffel, and Java are representative languages ​​of this class. C ++ and Ada also support this paradigm. 

Declarative Programming: emphasizes the declarative description of a problem rather than decomposing the problem into an algorithmic implementation. These programs are closer to the specification than traditional implementation, where the programmer defines what should be done instead of how it’s done. Logical languages, such as PROLOG, and rule-based languages, such as OPS5 and CLIPS, represent this class of languages.

Aspect-Oriented Programming (POA) – programming style that promotes the separation and organization of the program code according to the importance of aspects to the program. Security, Logging, and Transactions can be considered important aspects of a program and are therefore separated from the rest of the code that deals with business rules. The AspectJ language is the most popular aspect-oriented language. However, there are other languages ​​that support POA, like C and PHP.

Is FORTRAN still used?

In the industry, Fortran is rarely used today – on one of the popular language lists, it was 28th. But Fortran is still the primary language for large-scale simulations of physical systems – for astrophysical modeling of stars and galaxies (for example, Flash ), large-scale molecular dynamics, electronic structure counting codes ( SIESTA ) climate models, etc. In the field of high-performance computing, a subset of which are large-scale numerical simulations, today only two languages ​​are used – C / C ++ and “Modern Fortran” (Fortran 90/95/03/08). Popular open MPI libraries code parallelization tools have been developed for these two languages. In general, if you need fast code that runs on multiple processors, you have only two options. In modern Fortran, there is a feature like “array, “which allows you to work directly with the language in parallel programming. Coarray appeared in the Fortran 95 extension and was later incorporated into Fortran in 2008. The active use of Fortran by physicists often confuses computer scientists and others unrelated to that area who think Fortran is a historical anachronism.

Before delving into the subject, I want to discuss the story because when people hear the word “Fortran,” they immediately imagine punched cards and codes with numbered lines. The first Fortran specification was written in 1954. The initial Fortran (then its name was capitalized, FORTRAN) was, by modern standards, an infernal language, but it was a significant step forward compared to previous assembler programming. As Professor Miriam Forman from Stony Brook University recalls, FORTRAN used to be programmed with punched cards without pleasure. Fortran had many versions, the most famous of which are standards 66, 77, 90, 95, 03, and 08. It is often said that FORTRAN is still used due to its speed. But is he the fastest? In

There is a comparison of C and Fortran in various tests between different languages. In most cases, Fortran and C / C ++ are the fastest. Favorite Python programmers generally lag behind at 100 times speed, but that is in the order of things for the interpreted code. Python is not suitable for complex numerical calculations, but it is suitable for another. Interestingly, C / C ++ outperforms Fortran in all but two tests, although in general, they differ little in the results. The tests in which Fortran wins, the most “physical,” are the simulation of a system of n bodies and the calculation of the spectrum. The results depend on the number of processor cores; for example, Fortran is behind C / C ++ in the quad core. 

When was Fortran invented?

The FORTRAN programming language offers an excellent opportunity to learn about and reflect on the history of this technology, which is the first high-level language invented. For IBM in 1954 and commercially launched in 1957.

The history of this language dates back to 1957 as a programming tool for the IBM 704. Only a year later, IBM released a revised version of it, called FORTRAN II. It provided support for procedural programming by introducing declarations that allowed programmers to create subroutines and functions, thus encouraging code reuse.

Become an industry expert.  Click this affiliate link to register for the Data Scientist Masters Program.

The growing popularity of FORTRAN led many computer manufacturers to implement versions for their machines. Each manufacturer added their customizations, making it impossible to guarantee that a program written for one type of machine will compile and run on a different kind. IBM responded by removing all machine-dependent features from its version of the language. The result, launched in 1961, was called FORTRAN IV.

In the early 1960s, there was pressure to create a standardized version of FORTRAN that was not tied to any computer. In 1962, the American Standards Association (ANSI’s predecessor, the American National Standards Institute) agreed to pursue this goal. The result, published in 1966, was a document that defined the language that became known as FORTRAN 66.

FORTRAN 66 marked an important milestone in computing. It was the first programming language defined by a formal standard. In just a few years, FORTRAN 66’s shortcomings became apparent, especially compared to other programming languages ​​like C, Pascal, and Algol. Computer manufacturers re-added language customizations to try to fix some of these bugs.

This forced the ANSI FORTRAN standards committee, known as X3J3, to begin work on a new version of the language in 1969. The resulting standard would take eight years to reach maturity, but the language, defined as FORTRAN 77, represented a significant improvement. Among the features that were added was a block IF statement, a CHARACTER data type directs access I / O, and the PARAMETER statement to define constants.

FORTRAN 77 faced competition from languages ​​like C, allowing programmers to dynamically allocate memory and define heterogeneous data structures. FORTRAN 77 could not do any of these things. The next version of FORTRAN to emerge from the ANSI X3J3 committee was designed to address these deficiencies. It was tentatively called FORTRAN 8X, but in the late 1980s, the committee didn’t seem to release the new standard, and there was a popular joke among computer scientists that ‘X’ would have to be a hexadecimal digit.

Fortran full meaning.

The meaning of the acronym FORTRAN refers to any of the expressions or nomenclatures indicated within the following list:

It is analyzing the meanings of the acronyms. It’s observed that generally, the 7 characters that form up the abbreviation FORTRAN coincide with the primary letters of the words that frame the names indicated within the list.

This rule isn’t always the case, and sometimes several letters of the words you wish to abbreviate are often used so they “sound” sort of a word (this is understood as an acronym) or perhaps use numerical parameters to catalog similar elements.

Does FORTRAN always mean the identical thing?

No, the meaning of FORTRAN isn’t exclusively derived from the list mentioned above; this abbreviation may produce other definitions or meanings. That is, it’s going to be the case that the initials or acronym FORTRAN consult with different connotations not included within the list, since betting on the language or the country, the identical initials may produce other meanings.

So if you ask yourself, “What does FORTRAN mean?” it undoubtedly refers to any of the names indicated, although it should have a distinct meaning looking at the language or context during which the abbreviation is employed.

What are acronyms or acronyms for?

The acronyms are accustomed to abbreviate the name of a selected element or institution to avoid wasting letters or space in writing this; for instance, FORTRAN allows to shorten any of the terms mentioned above.

Therefore, using this acronym that begins with the letter F and features a length of seven characters will allow that after you want to say any of its meanings. This abbreviated name may be used, and it’s understood in an abbreviated and simple way without mentioning the name fully.


Fortran has an extensive library of math routines: sine, cosine, tangent, exponential, logarithm, etc. Each of them is implemented through a concept called a function, a common term from a mathematical point of view. In a programming language, functions are an element for the organization and reuse of the code; They consist of a group of instructions closely related to each other and that perform a specific task. Let’s take an example: the implementation of the real variable mathematical functions. Let $ f $ be a real function of real variable, that is, $ f: \ mathbb {R} \ to \ mathbb {R} $. So, $ f = f (x) $, with $ x \ in \ mathbb {R} $. Any mathematical function can be approximated by a finite series of sums; the magnitude of the error will depend on how many terms this sum has. For example, the sine function can be approximated from its Taylor series expression.

$ \ sin (x) = x – \ frac {x ^ 3} {3!} + \ frac {x ^ 5} {5!} + R (x ^ 7) $

Python vs Fortran: 

Python and Fortran are both quite easy-to-learn languages. It’s probably easier to find good Python learning materials than effective Fortran learning materials because Python is used more commonly, and Fortran is currently considered a domain language for numerical computing. Python is comparatively slow than Fortran. This is due to a fundamental aspect of Python that it is an interpreted language. This infers a significant overhead to each instruction. Hence it slows down massive computations. 

Python is used more extensively overall as a general-purpose language, whereas Fortran is mainly limited to numerical and scientific computing, and it is generally competing with C and C++ for users in that specific domain.

Take your career to the next level.  Click this affiliate link to register for the Data Science Certification Training Course. 

In computational science, Python normally doesn’t race directly with compiled languages due to the performance penalties. Python is used for cases where high productivity and performance are a secondary concern, such as in data processing, prototyping numerically intensive algorithms, and visualization. On the other hand, Fortran (or another compiled language) will be used where one has a good idea of what your algorithm and application design should be, and one is willing to spend more time writing and debugging the code and performance is utmost. 

However, the strengths of Python are multiple approaches to problem-solving. Scientists are no longer using uni-dimensional tactics for problem-solving. Instead, there is a widespread insight that understanding our universe requires a multidimensional approach. The best approach to solving a set of problems may vary, and thus we need different implementations for each approach. Python serves as an ideal toolkit with which to integrate all the problem-solving tools into one container. Python provides scientists a powerful way to wrap special-purpose tools and make them effortlessly handy from a common application layer.

In using Python, one gives up performance for productivity. Whereas, in Fortran, one will write fewer lines of code to complete the same task, which generally means it will take you less time to get a working solution. The effective performance penalty for using Python varies and is eased by assigning computationally intensive tasks to compiled languages. The programming in MATLAB does the same job. When a matrix multiplication is carried out in MATLAB, it calls BLAS; the performance penalty is virtually zero, and there is no need to write any Fortran, C, or C++ to get the high performance. The same situation exists in Python. If one can use libraries (e.g., NumPy, SciPy, petsc4py, dolfin from FEniCS, PyClaw), then all the codes can be written in Python, and good performance can be achieved (a penalty of maybe 10-40%) because all of the computationally intensive parts are calls to fast compiled language libraries. However, if everything is to be written in pure Python, then the performance penalty would be a factor of 100-1000x. So if one wants to use Python and has to include a custom, computationally intensive routine, one would be better off writing that part in a compiled language like C, C++, or Fortran, rather than wrapping it with a Python interface.

Luis Gillman
Luis Gillman

Hi, I Am Luis Gillman CA (SA), ACMA
I am a Chartered Accountant (SA) and CIMA (SA) and author of Due Diligence: A strategic and Financial Approach.

The book was published by Lexis Nexis on 2001. In 2010, I wrote the second edition. Much of this website is derived from these two books.

In addition I have published an article entitled the Link Between Due Diligence and Valautions.

Disclaimer: Whilst every effort has been made to ensure that the information published on this website is accurate, the author and owners of this website take no responsibility  for any loss or damage suffered as a result of relience upon the information contained therein.  Furthermore the bulk of the information is derived from information in 2018 and use therefore is at your on risk. In addition you should consult professional advice if required.