"Fortran... ok, and what’s next?", the English translation of our paper is available

The official English translation of our French paper published in November is now freely available here: https://hal.science/hal-04448657v1/file/paper.pdf

As the page format is A5, you can print it in landscape with two pages side by side.

Magnin V., Alves J., Arnoud A., Markus A., and Esposito Marzino M., “Fortran… et puis quoi encore ?”, Bulletin 1024, no. 22, pp.143–161, November 2023, DOI:10.48556/SIF.1024.22.143, also available in English: “Fortran… ok, and what’s next?”, https://hal.science/hal-04448657v1

The authors @vmagnin, @hkvzjal, @antoine, @Arjen, @mEm would like to thank @jeremie.vandenplas, @Pap, @PierU for fruitful discussions, and @JerryD for the final English review, and of course the whole community who made this adventure possible.

Some things are lost in translation, especially the style is probably less tasty. The title may sound a little flat in English whereas the original was a provocative pun (the alternative title “Fortran, Back to the Future!” was also discussed). But most important, the content is now internationally available.

This is not a research paper, this is not a highly technical report, this is not a love song. It was written with the reader’s pleasure in mind. It is the story of Fortran and its communities, alongside the history of computer science. We hope both beginners and experts alike will learn something and/or have a good time reading it.

It was published under a CC-BY-NC-ND 4.0 license: you can therefore distribute it freely and largely by all means.

Note: the original thread was Writing in French a paper about Fortran (now online!)

the English translation is now also available on:


There is a mistake on page 10: “The concept of
events allows images to communicate easily without requiring co-arrays.”

See Modern Fortran explained, page 395 (Fortran 2018 edition): “An event variable must be a coarray or a component of a coarray.”

When executing an event_wait or an event_query, the event variable is not allowed to be coindexed but it is still a coarray. Also, events are for (delayed) synchronization and we usually use further coarrays for the data transfer with them.

Collective subroutines, on the other hand, do not necessarily require the use of any coarrays and no explicit synchronization with them.



Thanks for pointing this confusing sentence. Indeed, I can see very clearly in the chapter 12 of @milancurcic 's book that the event variable is a coarray. The original intention behind that sentence was probably to say that events were a new way of communicating between images, added to the co-arrays way introduced in F2008.

I will fix the online PDF. The easiest way is probably to just remove the end of the sentence:

Images can be grouped into teams working in parallel on different tasks. The concept of events allows images to communicate easily. And collective subroutines allow performing, in a simple way, reduction operations such as computing the sum of the values of a variable in each image.

1 Like

Nice paper @vmagnin . One comment, though, I had the impression that the Cray compiler is fully Fortran 2018 compliant. If I am right, it may be good to also mention Cray along with Intel/GNU.

1 Like

Thanks @shamoradi

I have found this on https://cpe.ext.hpe.com/docs/cce/

HPE Cray’s proprietary Fortran compiler that fully supports the Fortran 2018 standard with some exceptions and deferred features as noted in the HPE Cray Compiling Environment Release Overview (S-5212).

I will try (the PDF is now in three deposits) to add a sentence like: “The Cray compiler also supports Fortran 2018”.

1 Like