Why Do Programming Languages Rise and Fall?

Another bad Fortran take. Apparently, Fortran is retired while Javascript is immortal. :man_facepalming:

6 Likes

Interesting comparison with Latin.

Should Fortran be taught like Latin, to improve the understanding of later languages it influenced? :upside_down_face:

I was reading some news about the drought conditions in Germany and neighboring countries - the rivers Rhine and Danube have hit record lows. After following a few more links on the topic I found the Drought Monitor Germany webpage, which calculates a drought index based upon results of a hydrological model:

The scientific base underlying the UFZ Drought Monitor is the hydrological model system mHM (Samaniego et al. 2010, Kumar et al. 2013), which was developed at the UFZ. This “smart” environmental system model is able to mathematically describe ecosystem processes on a landscape-scale and works not only with an extremely good spatial resolution and with high precision but also integrates uncertainties in prediction into its calculations.

According to the mHM webpage, the model is implemented using Fortran, Bash and Python. Just some anecdotal evidence that Fortran is not retired.

10 Likes

There’s too much to unpack in that article, so I’ll leave it at the following:

I won’t list all the Fortran models models participating in the latest CMIP, CORDEX and other initiatives that provide the very basis for climate change adaptation strategies and long-term planning (government to industry), so here are just a few new, actively developed or frequently used Fortran models from my immediate professional surroundings:

  • ICAR (intermediate complexity climate model for downscaling; NCAR; Gutmann et al., 2016),
  • ICON (general circulation model; MPI-M, DWD, DKRZ, KIT, C2SM),
  • NAME (volcanic ash cloud dispersal; MetOffice),
  • HadCM3 (Hadley Centre Coupled Model),
  • New models (part of ExaGEO) for prediction of climate extremes.

Definitely a retired language.

3 Likes

This quote also made me chuckle:

Many FORTRAN veterans remind us proudly that it got astronauts to the moon

Dude, the trajectories that Orion flies to the Moon today (e.g., for the Artemis I test, the Artemis II crewed flyby, and eventually to return humans to the surface) are designed with a Fortran tool. It’s just a completely ignorant take on something the author doesn’t seem to know anything about.

By the way, don’t bother writing to tell me about places that are still using a language I’ve flagged as dead.

OK, I guess he doesn’t want to learn either. Yeah, Fortran isn’t used to make web pages, but not all computing is about web pages.

9 Likes

There is an old quote that I think applies here that goes something like " Nothing is as terrifying as ignorance in action"

1 Like

It seems like yet another case of Eppur si muove —i.e., the author wants the world to revolve around the new shinny languages he likes, but the world keeps doing its own thing, hehehe.

Banks will keep using COBOL until things break for good; 70% of the web will still be PHP-based (even with complex JIT pipelines like Facebook’s); for high-performance stuff C/C++/Fortran will still be the first choice; etc.

2 Likes

Any old age language is not just still living because of it’s huge code base it has, but also because it is still relevant, effetcive and even faster for the areas it’s prefered.

If we talk about Fortran, It is still the king of HPC. Must probably It still will be tomorrow.That doesn’t mean You should write all the any project of you with Fortran. But you can easily place it at the base of HPC layer.

1 Like

I am not sure I agree with this. C++ is coming fast and the number of codes I am seeing being rewritten to C++ leveraging things like Kokkos and AmReX is pretty big. Not a lot of new projects being written in Fortran mostly maintained.

This is a problem with not teaching Fortran anymore at many CS courses that are taking HPC courses. It is not taught anymore because it is not state of the art in the view of the people, and because it is seen as old and legacy people don’t write new code in it and it is a vicious cycle.

Compiler support for GPU access has gotten so much better lately and I think this might help the language overcome some of the hurdles it has had with users. But there’s still some proselytizing that we all need to do.

At some point that shall become institutional with a “Fortran Software Foundation” of the sorts that would become the active steward of most-things-fortran.

This is just as true in the AI era as it was before… maybe even more, when one-man AI assisted developement can produce gazilions of LoC, trustworthyness and relaibility are not so easy to earn.

A good read on the topic “Scientific computing in the age of agentic AI”:
https://openai.com/index/scientific-computing-agentic-ai/

2 Likes

I stopped reading after

C is quick and easy to learn…
:sweat_smile:

Whether we agree or not with definition of dead language is probably beyond the point.
The author has a point though, Fortran became invisible. I guess no one using scipy thinks about Fortran or no one training a neural network thinks about BLAS. But Fortran (or its legacy) is there hiding in the back. The best proof that Fortran ain’t dead is probably the number of new compilers under development

The question is always the same. What can we do as a community to make if more visible (and make sure it is not spelled FORTRAN any longer)?

We need good numerical libraries, but it’s not enough. Nowadays pieces of software have to evolve in complex environments with mixed architecture, databases, network, standard io, etc.
Projects like fpm, stdlib, Lfortran are really important for an easy adoption of the language.

This is not accurate. As of May 2026 or SciPy version 1.18, SciPy is completely Fortran free (META: FORTRAN Code inventory · Issue #18566 · scipy/scipy · GitHub). The exception is the dependency on BLAS and LAPACK; but vendor BLAS libraries (OpenBLAS, Intel MKL, ArmPL, BLIS, …) are usually implemented in C or C++ these day, with a thin layer to match the de-facto Fortran ABI conventions.

One of the SciPy developers is also trying to replace the reference LAPACK dependency with a porting to C: GitHub - ilayn/semicolon-lapack: C11 implementation of the venerable F77 LAPACK library · GitHub

So I think we should not use SciPy as an example of Fortran usage.

2 Likes

I think our task/mission is writing more code in Fortran and showcasing how it is a viable first choice for new projects while still acknowledging the limitations of the language. To be honest, the one thing that I have access to in C++ that I lack in Fortran is generics and being able to do a lot of stuff at compile time. But otherwise, I am super happy with real, allocatable :: a(:,:)

I think designing code that is portable and performant across multiple CPUs, GPUs, and compilers. I try to develop things that prioritise this and make cringy linkedin posts about them.

2 Likes

Thanks for the precision @ivanpribec. You are right. But even then, the legacy of the Fortran code remains. Up to us to make sure it does not disappear.

1 Like

That’s true . But it’s a little bit about where the language & community place itself. Hypothetically, you can write nearly everything (including commercial projects) using Fortran. The question is “why should you do that”.

In the other hand, Mr @jorgeg is right, becauese if the community has an answer the question above, only It can answer via coding projects in Fortran.

1 Like

or learning enough C++ that we can help the GNU, LLVM, and other compiler projects in implementing the generic in F2028 so that then we can write more and more Fortran code

1 Like

I agree that this is very important, and showcases can also help dispel some myths that create an aversion to trying it in the first place.

For example, it has been my experience that many newcomers comment on how surprisingly easy it is to learn as a language, compared to C and C++, but there aren’t many guides, tutorials, examples/showcases to demonstrate that.

There are commercial pieces of software written in Fortran. In Chemical engineering, programs like Aspen One and Pro/II still rely heavily on Fortran. But there development date from the 90’ and I am not sure they would use Fortran today. That said considering the core calculation involves finding steady states, or integrating non-linear systems, Fortran is as good as any.
Problem is that you also need a GUI, a thermodynamic database, online license checking,… and this is where Fortran falls a bit short.
You can always mix languages but then you need devs that can handle multiple tech stacks.

2 Likes

One of the most widely used structural dynamics (now morphed into a "multi-physics code cabable of a lot more than just car crash simulation) codes is Ansys LS-DYNA it is still mostly Fortran. I think the same is true for the Dassault/Simulia ABAQUS code which is probably LS-DYNAs main competitor as least in the U.S. Both codes are widely used in the automobile, aerospace and construction industries as well as major government defense labs. All things considered, your life is as likely to be impacted by something designed or simulated with Fortran as it is with most any other language.

1 Like

Nearly every structural component on an airplane, and nearly everything that is manufactured that you see in day to day life involved a CNC machine, whether used to create the molds, or to cut the part from raw stock. Nearly every single post-processor (inverse kinematic engine) used to convert the point-vector raw input file (almost always in the ANSI standard APT format, which was written in 1959 by John Parsons, and stands relatively unchanged to this day) was written in FORTRAN. And that’s all caps, because it’s all F77 fixed form. I still haven’t seen one (other than my own written in “modern fortran”. I sold twelve F77 built post processors last month in fact, and none were “resales”. All were custom built fresh for new customers running new state of the art modern CNC machines. The source code for the most popular post-processor building software is all written in FORTRAN. You can tell…crash the software and see the fort3 dump files. I am now converting to modern fortran for eventual ease of development, and I have some of them running airplane parts currently, but when I need one quick - it’s still fixed form F77 because my predecessor - well, his code is a work of art…and I have never seen a post run so fast. These posts are old and proven and must be supported…to keep airplanes up in the air. FORTRAN cannot die…

2 Likes