Potential of the Julia programming language for high energy physics computing

I would like to draw your attention to:

Some comments on Fortran are misleading from my point of view, to give an example:

“It explores the possible benefits
of the adoption of Julia as the main programming
language for HEP, in place of C+±Python, in
a similar way as happened with the switch from
Fortran to C++ in the late 90’s.”

Working in HEP, I cannot see this change from Fortran to C++ reflected in my experience. There are countless of codes written in Fortran that are actively used and developed in HEP, and this is not only due to legacy reasons. In HEP there are many good reasons to use Fortran.

It is also not common at all to see a paper on hep-ph in which the authors advocate one programming language over another.

I’m on the Fortran team, but I don’t think the comments about Fortran are wrong. Quoting Programming languages and particle physics (2019) by Jim Pivarski, listed in the Fortran Advocacy and Language Comparisons section of the Fortran WIki

Physicists drove programming language development in the 1940’s and 1950’s but
stuck with FORTRAN until the 21st century.

In fact, FORTRAN (pre-Fortran 90) wasn’t even a good fit to data analysis problems.

It didn’t handle jagged data well, much like SQL.

This gap was filled with a library: ZEBRA provided a graph of structures and dynamic
memory management, even though these were features of Ada, C, Pascal, and PL/I.

“The whole concept of ZEBRA is a manifestation of one of FORTRAN 77’s needs.”
| Bebo White in 1989

A later slide shows that the number of GitHub particle physics projects using C and C++ dwarfs Fortran.

The shift from Fortran to C++ was a decision made by collaboration leaders.
What we see here are individuals choosing a language for their own work.

ETA: In 1985, Michael Metcalf, then working in the Data Handling Division of CERN, wrote Has FORTRAN a Future?

Abstract

For over 25 years FORTRAN has dominated all other programming languages in the field of scientific and engineering computation. Although much denigrated by computer-science purists, it has consistently shown itself to be attractive to scientific users because its basic simplicitly and power of expression appeal to non-specialists. Can this situation continue? Will the introduction of FORTRAN 77 lead to an upsurge in the use of the language, providing it with momentum sufficient to carry it through to the end of the decade? Shall we witness a conflict between FORTRAN 8x and ADA?

This lecture will take stock of the present status of FORTRAN and describe its likely development, before going on to speculate on possible trends until the turn of the century.

I am sure that it depends on the precise field, and that you can always find examples for either direction. However, I think the statement in the paper is so general that it requires some data to support the argument in a convincing manner (I don’t think that the number of github repositories is a good measure in this context).

I personally come from the collider theory perspective. In this field, many important MC tools are written (at least in large parts) in Fortran (Madgraph, whizard, powheg, …), and in general the list of tools for theory predictions written in Fortran is endless really (SPHeno, SuShi, FeynHiggs, HDECAY, DarkSusy, LoopTools, …). From the top of my head, the only example I remember where they switched from Fortran to C++ is Pythia.

Just to give some context on why I find the statement misleading.

2 Likes

I think this comment is somehow generalizing about the move to ROOT and Geant4. Both of those were large-scale transitions from Fortran to C++ – I could imagine that, especially for experimentalists, one spends a majority of one’s time using C++ for data analysis and only very rarely interacts with Fortran directly. The experimentalists I know personally certainly do not know Fortran, and may know only the parts of C++ necessary for interacting with ROOT and Geant4.

Thanks for your answer. It is true that most authors of the paper seem to be experimentalists, so you might be right.