Browse Definitions :
Definition

Fortran

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

Networking
  • local area network (LAN)

    A local area network (LAN) is a group of computers and peripheral devices that are connected together within a distinct ...

  • TCP/IP

    TCP/IP stands for Transmission Control Protocol/Internet Protocol and is a suite of communication protocols used to interconnect ...

  • firewall as a service (FWaaS)

    Firewall as a service (FWaaS), also known as a cloud firewall, is a service that provides cloud-based network traffic analysis ...

Security
  • identity management (ID management)

    Identity management (ID management) is the organizational process for ensuring individuals have the appropriate access to ...

  • single sign-on (SSO)

    Single sign-on (SSO) is a session and user authentication service that permits a user to use one set of login credentials -- for ...

  • fraud detection

    Fraud detection is a set of activities undertaken to prevent money or property from being obtained through false pretenses.

CIO
  • IT budget

    IT budget is the amount of money spent on an organization's information technology systems and services. It includes compensation...

  • project scope

    Project scope is the part of project planning that involves determining and documenting a list of specific project goals, ...

  • core competencies

    For any organization, its core competencies refer to the capabilities, knowledge, skills and resources that constitute its '...

HRSoftware
  • recruitment management system (RMS)

    A recruitment management system (RMS) is a set of tools designed to manage the employee recruiting and hiring process. It might ...

  • core HR (core human resources)

    Core HR (core human resources) is an umbrella term that refers to the basic tasks and functions of an HR department as it manages...

  • HR service delivery

    HR service delivery is a term used to explain how an organization's human resources department offers services to and interacts ...

Customer Experience
  • martech (marketing technology)

    Martech (marketing technology) refers to the integration of software tools, platforms, and applications designed to streamline ...

  • transactional marketing

    Transactional marketing is a business strategy that focuses on single, point-of-sale transactions.

  • customer profiling

    Customer profiling is the detailed and systematic process of constructing a clear portrait of a company's ideal customer by ...

Close