Browse Definitions :


What is Fortran?

Fortran is an imperative programming language used for more than 60 years to create powerful, efficient and accurate applications, particularly in scientific fields. It has experienced many changes and updates over the years, making it a popular choice for high-performance computing; scientific, numerical and engineering computations; and other applications. Although Fortran may be considered a "legacy" language by many modern developers, its use continues in academia, supercomputing centers and government agencies today.

Origin and evolution of Fortran

In the 1950s, John Backus led a team of developers working for IBM to create the language. Frustrated by the tedium of writing computer instructions in binary or hexadecimal arithmetic, the IBM staffers set out to create a language that combined English with math equations in a shorthand form. The result was Formula Translation (Fortran for short), a language that caused a sea change in how humans and computers communicate.

Over the years, Fortran has received numerous updates, adding features with each revision. The different versions include the following:

  • Fortran I (1957). Allowed basic calculations, assignments, controls, subprograms and input/output.
  • Fortran II (1958). Added user-defined functions and subroutines, complex numbers and additional precision.
  • Fortran III (1958). Added machine-specific instructions, named constants and conditional compilation.
  • Fortran IV (1962). Removed machine-specific features and added logical types, logical expressions and do loops.
  • Fortran 66 (1966). Was the first standardized version of Fortran, also known as ANSI X3.9-1966.
  • Fortran 77 (1978). Added structured programming and character data, such as strings and files, as well as implicit typing, if-then-else blocks, and parameter statements.
  • Fortran 90 (1991). Added array programming, modular programming and generic programming. It also included custom data types, dynamic memory and modules.
  • Fortran 95 (1997). Added parallel processing of arrays across multiple processors.
  • Fortran 2003 (2004). Added object-oriented programming, which allowed defining classes, inheritance, polymorphism and dynamic dispatch. It also included C compatibility, type extension, parameterized derived types, deferred binding, procedure pointers, input/output and IEEE arithmetic.
  • Fortran 2008 (2010). Added coarrays, which allowed parallel processing using a shared memory model. It also incorporated features such as submodules, coarray teams and collectives, and block construct.
  • Fortran 2018 (2018). Added native parallel computing using coarrays or teams with images. It also includes collective subroutines, atomic operations, exception handling and C++ interoperability.

Advantages of Fortran

The main advantage of Fortran is its efficiency and accuracy when dealing with numerical operations. The precision makes it well-suited to scientific research, engineering projects, simulations and mathematical operations. Its debugging support also makes it easier for those who are new to programming or working on large projects that require speed and accuracy. It allows developers to quickly prototype programs with minimal errors and saves time on debugging.

Developers can also use Fortran with other programming languages such as C++ or Python using libraries such as Matlab or SciPy. This compatibility allows them to combine the strengths of both languages into one program. Fortran is also interoperable across multiple platforms including Linux, Windows and macOS.

Because Fortran is open source software, new users can learn it by accessing tutorials or official documentation. It has a simple syntax and grammar and fewer keywords and special symbols than other languages, which reduces the complexity and confusion for beginners. The language also has a long history of code reuse, which means there are many libraries and modules already available for various tasks and problems. The Fortran community is large and active, providing helpful resources and support for learning and troubleshooting.

How Fortran works

Fortran is a compiled language, meaning that it is not directly executable. Instead, the language compiler converts it into assembly language and then machine language before it can run. This process breaks the code down into parts and translates them into computer instructions. Once this is done, the program can run.

In addition to this compilation process, Fortran also includes intrinsic functions that provide predefined operations such as mathematical calculations, array manipulation and text manipulation. These functions provide quick solutions to common tasks without having to write additional code from scratch. Fortran also supports a variety of data types including integers, real numbers and complex numbers. It allows for multidimensional arrays that contain multiple elements in each dimension. Arrays are useful for storing large amounts of data in an organized way and make manipulating data easier.

Uses and applications of Fortran

Fortran is used to develop applications for a variety of tasks in modern programming environments. Its scalability and speed make it well-suited for high-performance computing, large-scale simulations and complex calculations.

In the physical sciences, Fortran can model physical processes such as fluid dynamics or aerodynamics. Data analysis and visualization applications often use Fortran due to its ability to handle large data sets. In the finance sector, Fortran can perform financial modeling tasks such as risk management or portfolio analysis.

Fortran is also suitable for developing applications for embedded systems such as microcontrollers or digital signal processors. The aviation industry commonly uses the language for aircraft simulation because of its reliability and accuracy. Also, space agencies use it to simulate spacecraft trajectories and missions.

In addition, supercomputers use Fortran extensively in research-related fields such as quantum mechanics or astrophysics. Its performance on parallel architectures makes it well-suited for computations involving massive amounts of data that require high levels of precision.

Examples of how supercomputers are used in research and industry

How Fortran is different from C++, C and Python

Fortran is an imperative programming language that stands out from other popular languages such as C++, C and Python in many ways. One of the main differences is dynamic memory allocation. Fortran does not have any automatic mechanisms for allocating or deallocating memory, meaning that users must manually manage their own memory use. This can make programs more efficient, but also more difficult to write.

Fortran's syntax also sets it apart. While C++ and C are procedural languages, Fortran is a mix of both procedural and object-oriented programming syntax. This makes it easier for developers to quickly code complex calculations or simulations that require multiple data objects with different properties.

Fortran's range of intrinsic functions and support for parallel processing also distinguish it, making it particularly appropriate for large-scale computations. Because it interoperates with other languages, developers can create hybrid environments that match the best language to the task.

Fortran's influence on computing

Developers still use Fortran 60-plus years after it was created, showing its legacy is strong. As one of the first imperative languages, it paved the way for many modern programming languages in use today. During its time, Fortran has helped advance many areas of computing, from aerospace engineering to weather forecasting. Computer historians view it as the first language to make coding accessible to nonspecialists due to its simple syntax and straightforward structure.

In addition, some universities use Fortran as an introductory language for students to learn programming. The language allows students to gain experience with basic coding concepts before moving onto more complex programming languages such as Python or C++.

Editor's note: The publisher has used AI technology in the creation of this content. The final text has been reviewed, fact-checked, edited and approved by TechTarget editors.

This was last updated in May 2023

Continue Reading About Fortran

  • remote infrastructure management

    Remote infrastructure management, or RIM, is a comprehensive approach to handling and overseeing an organization's IT ...

  • port address translation (PAT)

    Port address translation (PAT) is a type of network address translation (NAT) that maps a network's private internal IPv4 ...

  • network fabric

    'Network fabric' is a general term used to describe underlying data network infrastructure as a whole.

  • DNS over HTTPS (DoH)

    DNS over HTTPS (DoH) is a relatively new protocol that encrypts domain name system traffic by passing DNS queries through a ...

  • governance, risk and compliance (GRC)

    Governance, risk and compliance (GRC) refers to an organization's strategy for handling the interdependencies among the following...

  • total risk

    Total risk is an assessment that identifies all the risk factors associated with pursuing a specific course of action.

  • digital platform

    A digital platform is a web-based structural software package that speeds and eases transactions among users.

  • transfer learning

    Transfer learning is a machine learning method where a model already developed for a task is reused in another task.

  • enterprise IT (enterprise-class IT)

    Enterprise-class IT (also known as enterprise-grade, or enterprise IT) is hardware, software and other IT services designed to ...

  • employee onboarding and offboarding

    Employee onboarding involves all the steps needed to get a new employee successfully deployed and productive, while offboarding ...

  • skill-based learning

    Skill-based learning develops students through hands-on practice and real-world application.

  • gamification

    Gamification is a strategy that integrates entertaining and immersive gaming elements into nongame contexts to enhance engagement...

Customer Experience
  • Microsoft Dynamics 365

    Dynamics 365 is a cloud-based portfolio of business applications from Microsoft that are designed to help organizations improve ...

  • Salesforce Commerce Cloud

    Salesforce Commerce Cloud is a cloud-based suite of products that enable e-commerce businesses to set up e-commerce sites, drive ...

  • Salesforce DX

    Salesforce DX, or SFDX, is a set of software development tools that lets developers build, test and ship many kinds of ...