Fortran & other language memes

This came across one of my social media feeds today:

So naturally I created this and posted it as a reply:

16 Likes

xD

2 weeks ago, I summed up my students’ language options for the course in this meme.

18 Likes

I stole this one from Jeff Hammond.

It probably won’t make sense without context. Jeff went through some arcane steps to link together libraries compiled by different Fortran compilers.

Edit: found the source at blog/Dealing_with_imperfect_Fortran_compilers.md at main · jeffhammond/blog · GitHub

4 Likes

Those two notes on Fortran compilers should be mandatory reading! they cover a lot of why the Fortran compiler ecosystem is how it is

2 Likes

I agree, Jeff has an interesting perspective. I noticed this sentence. “Unfortunately, CFI is only a standard API, and the ABI is not specified.” This to me looks like yet another missed opportunity by the fortran standard committee and by the fortran community at large to make things easier for the programmer. [Another example of this, dating back to f90, was the lack of a standard format for compiled module files, which would have allowed one fortran compiler to use compiled libraries from another compiler.] Perhaps the answer is in this sentence. “The real hero is, of course, the all-powerful C language, which can communicate with any other programming languages thanks to its lack of support for the type of expressive language features that would get in the way.” Fortran does of course have those aggressive language features, so maybe the lack of interoperability among fortran compilers is an unavoidable consequence of those aggressive features.

2 Likes

I have often wondered why this wasn’t seen by the various Standards Committee’s over the years as a high priority. Was it a fear by the commercial compiler companies of betraying trade secrets or just that few members of the committee had the experiece of being tasked to maintain something lke openMPI on an HPC systems that provides the users with several compiler options. Just being able to build one copy of mpif08.mod would be a god send. As it stands now, you have to do a separate build of openMPi for each compiler you wish to support. Frankly, in my perfect Fortran world this would have had a higher priority than say templates or co-arrays.

I installed modules on my laptop because of:

because I have some local testing procedures that use multiple compilers and they all require MPI…

However, the new MPI standard has an ABI so this will help.

The unsolicited commentary deserves a meme too, I think.

12 Likes