deng 4 hours ago

Congratulations to the team, this has been a long time coming. I still think that modern Fortran is actually a great language to write numerical code, especially when doing lots of linear algebra. Granted, it was many years ago, but I still remember struggling with C++ and libraries like Eigen, and one day, confronted yet again with agonizing slow compile times and error messages that look like binary, I ditched C++ for good and moved to Fortran95. Not only could I pretty much copy&paste a lot of stuff from my Matlab prototype, the resulting binary was actually faster than C++ with Eigen.

Not sure if I would use it today for new projects, probably Julia would be the better choice nowadays.

  • accurrent 4 hours ago

    IF we can get modern fortran working on top of GPUs via spir-v that would be really awesome. Modern Fortran is so nice for numerics.

jmclnx an hour ago

Congratulations, next is COBOL ? I am serious, we really need a free COBOL compiler.

Yes, GNU now has a front end for COBOL, so LLVM turn. Maybe IBM and the Navy Department will help.

wiz21c 5 hours ago

How compatible is it with the current code bases developped under proprietary compilers ?

  • melodyogonna 4 hours ago

    It says in the article that some of these companies contribute their test suite

aragilar 7 hours ago

There doesn't appear to be a link to the release notes, it would be nice to know what are the current limitations.

pandemic_region 6 hours ago

> Whilst many alternative programming languages have come and gone, it [Fortran] has regained its popularity for writing high performance codes.

I don't understand why sometimes people pluralize "code". It sounds a bit silly but maybe it's just me.

  • thenoblesunfish 6 hours ago

    It's because the types of things people write in Fortran (high performance science codes, for example) tend to be monolithic, single-purpose programs. It comes from a time when a code really was basically one compilation unit (and doing that is such a nice simplification that I support it, for science). With code written for the web, shared through package managers, etc. it makes more sense to use the uncountable noun instead of the countable one.

    • gpvos 5 hours ago

      I've never seen the word used in the plural (for computer programming code) until today, having been in computer science for 35 years. The uncountable form definitely dates from way before the web.

  • bradrn 6 hours ago

    As someone doing research in physics, I’ve noticed this usage before. It seems fairly frequent outside CS [EDIT: and as the sibling comment says, specifically in numerical computing]. From what I’ve gathered, for them ‘code’ has become a count noun, such that ‘a code’ means something like ‘a piece of code’ or even ‘a program’, and the plural ‘codes’ follows from that.

  • gpvos 5 hours ago

    I'm seeing it here for the first time, and from multiple people. Maybe it's specific to the Fortran community?

    • adrian_b 5 hours ago

      Yes, in some traditional Fortran environments "codes" has been used where in other environments one would have said "libraries" or "programs", e.g. "these are some codes for solving systems of ordinary differential equations" or "this is a code for solving boundary elements problems".

      So in this sense, as a synonym for a library or a program that accomplishes some function, "code" is countable.

    • seanhunter 2 hours ago

      It’s not, but it’s somewhat common among people making numerical models of dynamic systems and that sort of thing. People like Steve Brunton will often say all the “codes” are available to go along with his videos for example https://youtube.com/@eigensteve?si=IVLparAOZ9XDauTz

HexDecOctBin 7 hours ago

Now someone go convince the C committee to stop trying to turn C into Fortran.

  • froh 6 hours ago

    Q from out of the loop: what are you referring to? and if you could enlighten me how that then is a problem?

    • jabl 4 hours ago

      Not the OP, but I'll take a stab at it.

      In C99, C added the 'restrict' qualifier for pointers, which would make function arguments marked with it behave a bit like procedure arguments in Fortran. Idea being to allow the compiler to optimize more aggressively.

      Not specifically about making C more like Fortran, but there's been a lot of work over the years clarifying what compilers can and cannot assume. More recently, a lot of work going into things like 'pointer provenance', again in an effort to clarify where more aggressive optimizations can be done. And things like when can NULL checks be elided etc.

      Some people resent all this and just want C to be more like a 'portable macro-assembler'.