To quote from the article:
A lot of people, when they hear ‘Fortran’, are like, ‘Oh, my God, I don’t want to program in that.
At some point you will need to answer the question what you value more, performance or readability (to some extent also in Julia ). I personally think much of the criticism towards Fortran originates from the fact that it’s traditional field of application has a strong focus on performance, which combined with a lack of decent software design inevitably results in ugly code.
In defence of Frank Giraldo (they’re doing incredibly great work over at CLIMA and contribute a lot to the Julia ecosystem), I point out that HPC and climate modelling are still dominated by Fortran and C-ish languages. What people coming from Matlab and Python often neglect is that performance has extremely high value in that field. While the situation is changing, receiving funding to implement stuff in non-standard languages, is still not easy and you need to justify for that. I think the goal of his statements is to make clear, that you can get really good performance with Julia while retaining nice and readable code. It’s not dead simple but it’s also not overly hard, especially when compared to traditional languages.
Some time ago I also implemented an unstructured 3D MPI-parallel discontinuous Galerkin solver for Navier-Stokes derived from the DG solver Flexi. “Surprisingly”, performance was not simply miraculously available for off the shelf code, you really need to embrace Julia, for performance of the same order of magnitude as Fortran and C++ in a complex code base. The first trivial thing is that you’re lost once you need the GC. What was frustrating however is that I sometimes found myself writing code which was unnecessarily ugly and un-Julian to squeeze out the last couple of percent for some critical code paths. I think that this situation will or has already improved in newer Julia versions and a more mature ecosystem (or with improved personal skills). Despite this criticism the code of the solver was significantly shorter, more readable, maintainable and extendable compared to a similar Fortran version.