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
  • subnet (subnetwork)

    A subnet, or subnetwork, is a segmented piece of a larger network. More specifically, subnets are a logical partition of an IP ...

  • Transmission Control Protocol (TCP)

    Transmission Control Protocol (TCP) is a standard protocol on the internet that ensures the reliable transmission of data between...

  • secure access service edge (SASE)

    Secure access service edge (SASE), pronounced sassy, is a cloud architecture model that bundles together network and cloud-native...

Security
  • cyber attack

    A cyber attack is any malicious attempt to gain unauthorized access to a computer, computing system or computer network with the ...

  • digital signature

    A digital signature is a mathematical technique used to validate the authenticity and integrity of a digital document, message or...

  • What is security information and event management (SIEM)?

    Security information and event management (SIEM) is an approach to security management that combines security information ...

CIO
  • product development (new product development)

    Product development -- also called new product management -- is a series of steps that includes the conceptualization, design, ...

  • innovation culture

    Innovation culture is the work environment that leaders cultivate to nurture unorthodox thinking and its application.

  • technology addiction

    Technology addiction is an impulse control disorder that involves the obsessive use of mobile devices, the internet or video ...

HRSoftware
  • organizational network analysis (ONA)

    Organizational network analysis (ONA) is a quantitative method for modeling and analyzing how communications, information, ...

  • HireVue

    HireVue is an enterprise video interviewing technology provider of a platform that lets recruiters and hiring managers screen ...

  • Human Resource Certification Institute (HRCI)

    Human Resource Certification Institute (HRCI) is a U.S.-based credentialing organization offering certifications to HR ...

Customer Experience
  • contact center agent (call center agent)

    A contact center agent is a person who handles incoming or outgoing customer communications for an organization.

  • contact center management

    Contact center management is the process of overseeing contact center operations with the goal of providing an outstanding ...

  • digital marketing

    Digital marketing is the promotion and marketing of goods and services to consumers through digital channels and electronic ...

Close