Readit News logoReadit News
deng · a year 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 · a year 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.
pandemic_region · a year 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.

enriquto · a year ago
it's a fairly common usage in numeric computing. If you read, for example, the wikipedia entries for "computational fluid dynamics" you'll see that they consistently speak of "codes" when referring to programs.

https://en.wikipedia.org/wiki/Computational_fluid_dynamics

kergonath · a year ago
Same for computational Chemistry, computational Physics (solid state, neutronics, astrophysics), etc.
thenoblesunfish · a year 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 · a year 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 · a year 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 · a year ago
I'm seeing it here for the first time, and from multiple people. Maybe it's specific to the Fortran community?
adrian_b · a year 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 · a year 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
pklausler · a year 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.
jmclnx · a year 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 · a year 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 · a year 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.
aragilar · a year ago
Also, it would be good to know how well it handles older codes of the f77/g77 era (as gfortran is not always well behaved on those).
wiz21c · a year ago
How compatible is it with the current code bases developped under proprietary compilers ?
pklausler · a year 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 · a year ago
It says in the article that some of these companies contribute their test suite
HexDecOctBin · a year ago
Now someone go convince the C committee to stop trying to turn C into Fortran.
froh · a year 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 · a year 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'.

Deleted Comment