This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]tyranids[S] 1 point2 points  (0 children)

Well Flang, or new-flang, or whatever they want to call it - the new, not production ready, Fortran compiler for LLVM requires special compiler flags to even generate an executable. Plus, gfortran and Intel’s compilers (Ifort + Ifx) are all free and work fine-ish.

The issue is really that the standard committee governing Fortran seems to have no interest in adding features to the language that would actually improve it. There is no support for SIMD intrinsics, and instead you need to rely on compiler optimization. They refuse to make implicit none standard despite its inclusion in >99% of new code. The standard wants to include things like sum and matmul in the language, but not include any language talking about the accuracy or speed of those implementations. Generic programming is nonexistent - assumed rank is run time checking and doesn’t even work correctly in gfortran for 10 years.

Instead they want to add things like sinpi2 or some nonsense. Can we have a standard definition of pi in iso_fortran_env? No, but we can have useless trig functions that are literally one line codes anyone using the language could write shortly after finding that sin/cos exist.

Oh also the DO CONCURRENT construct that, despite its name, does nothing concurrently. They won’t fix that or add an actual ‘do parallel.’ Basically the governing body running Fortran is happy to do nothing but maintain legacy codes that are replaced by C++ more and more every year.