Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 44 additions & 29 deletions source/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,74 +13,89 @@ Fortran <br> High-performance parallel programming language
:::

:::{div} sd-fs-3 sd-font-weight-bold sd-text-primary
Features
Why Fortran?
:::

Despite being thought by many outside the community to be an archaic (or dead) language, Fortran is very much alive. In fact, _because_ it is the oldest programming language in active use, it underpins multi-decadal computational efforts in Earth sciences, material sciences, engineering, physics and chemistry.
Copy link
Member

@certik certik Dec 17, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would not start with "fortran is dead", that puts the reader in a negative "state", that we then need to get him out of. Rather, we want to stay positive.

I would say something like:

Suggested change
Despite being thought by many outside the community to be an archaic (or dead) language, Fortran is very much alive. In fact, _because_ it is the oldest programming language in active use, it underpins multi-decadal computational efforts in Earth sciences, material sciences, engineering, physics and chemistry.
Fortran is the oldest programming language in active use and it underpins multi-decadal computational efforts in Earth sciences, material sciences, engineering, physics and chemistry.

> If you use electricity, fly in an aircraft, take medication, rely on weather forecasts or are defended by (the threat) of modern weapons, you depend on Fortran.
>
> -- <cite>[fortranfuture](https://fortranfuture.github.io)</cite>


:::{div} sd-fs-5 sd-font-weight-bold
High performance
What is Fortran used for?
:::

Fortran has been designed from the ground up for computationally intensive applications in science and engineering. Mature and battle-tested compilers and libraries allow you to write code that runs close to the metal, fast.
Fortran is mostly used in domains that adopted computation early--science and engineering. These include numerical weather and ocean prediction, computational fluid dynamics, applied math, statistics, and finance. Fortran is the dominant language of High Performance Computing and is used to [benchmark the fastest supercomputers in the world](https://top500.org/).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

computational solid mechanics seems to be missing from this nice summary

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Also electronic structure calculations.


:::{div} sd-fs-5 sd-font-weight-bold
Statically and strongly typed
My boss gave me 2M lines of old Fortran, what should I do?
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not convinced that this section title and section content are the best match... having to work with old-styled-large code bases is one thing. A quickstart guide about required software is another thing.

I do see an interest in such a section but it should have approprieate content and references dedicated on "how to navigate old style F77? how to start tackling modernization? etc etc" I think @arjenmarkus has written some interesting content which could be linked.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It again puts Fortran in a negative light, I would not use this header.

:::

Fortran is statically and strongly typed, which allows the compiler to catch many programming errors early on for you. This also allows the compiler to generate efficient binary code.
Check out our [Quickstart guide](learn/os_setup/index) to help you get set up.

:::{div} sd-fs-5 sd-font-weight-bold
Easy to learn and use
What is the status of Fortran?
:::

Fortran is a relatively small language that is surprisingly easy to learn and use. Expressing most mathematical and arithmetic operations over large arrays is as simple as writing them as equations on a whiteboard.
Fortran is mature and under active development.
The latest revision of the language is
[Fortran 2023](https://wg5-fortran.org/N2201-N2250/N2212.pdf).
There are over a dozen open source and proprietary
[Fortran compilers](compilers).
Further, open source projects like the
[Standard Library](https://github.com/fortran-lang/stdlib)
and the [Fortran Package Manager](https://fpm.fortran-lang.org) are
under active development.


:::{div} sd-fs-5 sd-font-weight-bold
Versatile
Should I use Fortran for my new project?
:::

Fortran allows you to write code in a style that best fits your problem: imperative, procedural, array-oriented, object-oriented, or functional.
If you're writing a program or a library to perform fast arithmetic computation over large numeric arrays, Fortran is the optimal tool for the job.


:::{div} sd-fs-3 sd-font-weight-bold sd-text-primary
Features
:::

:::{div} sd-fs-5 sd-font-weight-bold
Natively parallel
High performance
:::

Fortran is a natively parallel programming language with intuitive array-like syntax to communicate data between CPUs. You can run almost the same code on a single CPU, on a shared-memory multicore system, or on a distributed-memory HPC or cloud-based system. Coarrays, teams, events, and collective subroutines allow you to express different parallel programming patterns that best fit your problem at hand.
Fortran has been designed from the ground up for computationally intensive applications in science and engineering. Mature and battle-tested compilers and libraries allow you to write code that runs close to the metal, fast.

:::{div} sd-fs-5 sd-font-weight-bold
Interoperable
Statically and strongly typed
:::

Fortran's standardized C interoperability enables seamless integration into multi-language projects, enabling the optimization of performance-critical components.
Fortran is statically and strongly typed, which allows the compiler to catch many programming errors early on for you. This also allows the compiler to generate efficient binary code.

:::{div} sd-fs-3 sd-font-weight-bold sd-text-primary
FAQ
:::{div} sd-fs-5 sd-font-weight-bold
Easy to learn and use
:::

Fortran is a relatively small language that is surprisingly easy to learn and use. Expressing most mathematical and arithmetic operations over large arrays is as simple as writing them as equations on a whiteboard.

:::{div} sd-fs-5 sd-font-weight-bold
What is the status of Fortran?
Versatile
:::

Fortran is mature and under active development.
The latest revision of the language is
[Fortran 2023](https://wg5-fortran.org/N2201-N2250/N2212.pdf).
There are over a dozen open source and proprietary
[Fortran compilers](compilers).
Further, open source projects like the
[Standard Library](https://github.com/fortran-lang/stdlib)
and the [Fortran Package Manager](https://fpm.fortran-lang.org) are
under active development.
Fortran allows you to write code in a style that best fits your problem: imperative, procedural, array-oriented, object-oriented, or functional.

:::{div} sd-fs-5 sd-font-weight-bold
What is Fortran used for?
Natively parallel
:::

Fortran is mostly used in domains that adopted computation early--science and engineering. These include numerical weather and ocean prediction, computational fluid dynamics, applied math, statistics, and finance. Fortran is the dominant language of High Performance Computing and is used to [benchmark the fastest supercomputers in the world](https://top500.org/).
Fortran is a natively parallel programming language with intuitive array-like syntax to communicate data between CPUs. You can run almost the same code on a single CPU, on a shared-memory multicore system, or on a distributed-memory HPC or cloud-based system. Coarrays, teams, events, and collective subroutines allow you to express different parallel programming patterns that best fit your problem at hand.

:::{div} sd-fs-5 sd-font-weight-bold
Should I use Fortran for my new project?
Interoperable
:::

If you're writing a program or a library to perform fast arithmetic computation over large numeric arrays, Fortran is the optimal tool for the job.
Fortran's standardized C interoperability enables seamless integration into multi-language projects, enabling the optimization of performance-critical components.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add links to the section talking about the iso_c_binding module.



<div class="index_joinus_mobile">
<h3><p style="color:#734f96;">Join us!</p> </h3>
Expand Down