deng 8 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 7 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 5 hours 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.

aragilar 11 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.

  • pklausler 2 hours ago

    Language-wise, it's all of F'2018 less coarrays and "LEN" derived type parameters, plus a pile of portable &/or popular language extensions.

wiz21c 9 hours ago

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

  • pklausler 2 hours ago

    My approach throughout was to maximize portability of existing code to this new compiler. The list of extensions that are supported is quite long (https://flang.llvm.org/docs/Extensions.html), and the general policy is to support anything that people need so long as the feature is well defined and portable among compilers that support it.

  • melodyogonna 8 hours ago

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

pandemic_region 10 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 9 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 9 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 9 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 9 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 9 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.

    • pklausler 2 hours ago

      I think "codes" is peculiar to what is now called HPC, where it's been common since at least the 70's. It's not specific to Fortran; there are C/C++ HPC codes too.

    • seanhunter 6 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

      • gpvos 2 hours ago

        Yeah, I figure there's a large overlap between those two groups.

HexDecOctBin 10 hours ago

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

  • froh 10 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 7 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'.