Comment by vintagedave

4 days ago

May I ask: why did you write that library in Fortran? That is, what was your answer to your question at the time you wrote it?

I have heard that Fortran is very very good at optimizing array processing due to lack of aliases. That may be one answer today. There’s also value in continuity: in using a language for your task because it can build on what others have built. That applies to any established language, of course… but I could see it reasonably applied if someone wrote some kind of numerical processing library today. They’d write it in Fortran and call it from Python!

The answer was “my adviser insisted because that’s the language he used”. I had to fight to use Fortran 95 and not 77. So I think like you say value was building on an existing community’s codebase in a language they were familiar with and comfortable with.

  • Source code is meant to be read, and, occasionally, compiled.

    If nobody with domain knowledge can understand the program because it's written in a language unfamiliar to them (such as C) with tons of traps and pitfalls (such as C), the value of its contribution to the corpus of knowledge is diminished.

    • I agree with this and think this is the only argument I’m aware of for real decisions to use of Fortran, which I suppose means its future is doomed with human turnover + ease of porting in these AI days…

  • Do you realize F95 is over 30 years old? The latest standard is 2023. When people talk about modern Fortran, they usually mean Fortran 2008, 2018, or 2023, or, at worst, Fortran 2003.

    • But ‘95 is really the last standard to all be reliably portable across implementations. Features in later ISO standards aren’t always so.