-
Notifications
You must be signed in to change notification settings - Fork 63
Update homepage with new faqs #609
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Changes from all commits
b2dfdd7
4719968
498a66c
66b4dbc
da51179
fe79442
1ed8801
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -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. | ||
| > 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/). | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. computational solid mechanics seems to be missing from this nice summary
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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? | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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.
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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. | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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> | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
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: