Fortran returns to top 20 TIOBE index

It will be good to have a vision for Fortran to be the lingua franca for technical computing that inspires the Community for the language to include certain basic facilities such as Generics, built-in string type and bit type, and scoped and full featured enums.

This will naturally place Fortran permanently in the Top 5 on all measures, not just Tiobe Index. And Top 5 is Fortran’s rightful place.

6 Likes

As regards code documentation solutions I find placing the code in markdown files and adding a preprocessor that extracts the lines between “```fortran” and “``” works well. The markdown files display as-is in github repositories, can be pasted directly into Fortran Discourse dialogues, can link to more elaborate external documents are are more easy to edit and yet are reasonably readable with just an ASCII viewer. Admittedly there are a lot of markdown variants but I find this works well for my purposes. Assuming a Fortran preprocessor standard emerges or a simple preprocessor step in fpm(1) would allow for extracting code embedded in documentation or that something like the other languages could be supported as a new Fortran feature (perhaps as simple as allowing for block comments) what features of the other languages are desirable? Fortran originated when comments were generally not in the code files themselves (a few thousand comment lines of punch cards gets surprisingly heavy quite quickly!). It is about time Fortran supported documentation more robustly. Ford and Doxygen seem to be getting wider and wider support in the Fortran world. Should be direction be to extract documention from the code or allow the documentation to include the code?

I use my own methods to a large extent to allow code and basic documentation to be automatically maintained in single files and find it vastly reduces the effort needed to maintain the code. I think the need grows significantly with the upcoming
release of an official fpm package repository and the related desirability to access fpm package descriptions from the command line and when searching for procedures in an fpm search command.

It would be nice to define a standard for at least a TOC of repository packages that could be displayed with fpm registry packages and searched easily.

Another approach might be that all registry packages are scanned with ford(1) or that doing so is highly encouraged?

2 Likes

For a variety of reasons the trending is the most interesting aspect of the index to me.
Perhaps because we are dealing with a small percentage of the total historic Fortran
events do not show up the way I certainly would expect, though. I think a strong case can be made for g95 saving Fortran usage outside of HPC in particular; but I see little correlation to the releases; nor relatively recent newly freely available compilers (at least for personal use) and new standard releases and major compiler releases even though I am certain they all had very significant affects. The coincidence that the chart goes back almost to 2000 (the year g95 1.0 was released, I think) just got me thinking about other major Fortran-related events. The lack of correlation really does not convince me those events had no effect. The converse is true. It convinces me the data is likely very noisy; but I definitely have a preconceived notion in that direction anyway.

2 Likes

TIOBE’s accuracy oscillates: it is only correct if Fortran is in the top 20.

It’s been correct the last few months, and we’ll take it!

11 Likes

Searching for recent publications using Fortran on Google Scholar gives the following items on the first page, plus three that are not in English. The answer to “Where is Fortran used?” is “Where mathematical models are used.” This is also true for C, C++, Python, Matlab, and Julia etc. The main expertise of the papers’ authors is probably not computer programming. Surveys of computer programmers of what languages they use will tend to understate the overall usage of Fortran.

Research on the mechanism of severe unsteadiness of PAT braking condition during the power failure

A detailed process model of biomass gasification in bubbling fluidized bed: integration of hydrodynamics into reaction modeling

Nonlinear analysis of plane frames considering hyperelastic models through the finite element positional method

Thermal management of battery cell module using a hybrid nanofluid filled inverted right-angled porous triangular cavity through natural convection

Assessment of River Water Quality Under Hydrological Variability and Climate Change: A Case Study of the Namhan River

Finite Element Simulation of Dry Wear of Prosthesis Made of UHMWPE and 316LVM Stainless Steel

Parallel Implicit Solvers for 2D Numerical Models on Structured Meshes

2 Likes

Fortran continues to be far down in the 2024 IEEE Spectrum rankings, but they do say this:

As these other languages come and go from the rankings, I have to give the shout out to the immortals, Fortran and Cobol. Although they are around 65 years old, you can still find employers looking for programmers in both. For Fortran, this tends to be for a select group of people who are also comfortable with high-energy physics, especially the kind of high-energy physics that goes boom (and with the security clearances to match). Cobol is more broadly in demand, as many government and financial systems still rely on decades-old infrastructure—and the recent paralyzing impact of the Cloudstrike/Microsoft Windows outage incident probably hasn’t done much to encourage their replacement!

2 Likes

TIOBE Index for August 2024: rank #10, rating 1.79%

4 Likes

An effect of the TIOBE is that people talk about Fortran:

Good point, that video cites Fortran-lang.org at 8:43. On the other side, it does not present any Modern Fortran features (at 5:19 you can read “No class in Fortran!”). But we can hope people interested will go further and discover them.

1 Like

At 5:05 the video mentioned that Fortran lacks OOP. I’m quite surprised that many people still hold the view that Fortran is the same as the old FORTRAN. Maybe we should consider adding a page on the official website titled ‘Common Misunderstandings About Modern Fortran.’

5 Likes

On the front page of https://fortran-lang.org/, the word “class” does not appear! It talks about high-performance, parallel programming, but no mention of object at all. Somebody looking on that page is not informed that the language has evolved since Fortran 77.

A section stating that the language is still evolving would be catchy, I think.

1 Like

The page does say

Fortran allows you to write code in a style that best fits your problem: imperative, procedural, array-oriented, object-oriented, or functional.

1 Like

There is already such a section:

What is the status of Fortran?
Fortran is mature and under active development. The latest revision of the language is Fortran 2023.

And there is also:

Make Fortran better
Write proposals
Have an idea about how to improve the language? You can write new proposals […]

Want to collaborate on this issue?

ChatGPT does a decent job addressing this topic, see the chat I had: ChatGPT

3 Likes

Yes, I would like to collaborate. This is the first time I see this issue and I didn’t know it’s been sitting there for two years. By reading the articles/discussions you listed, it’s clear that fully debunking the “Fortran myths” will require more than one article. Maybe a whole section with several articles in the current “quickstart tutorial” would fit. You also mentioned there are two categories of misconceptions:

  • those affecting programmers with little or no prior knowledge/awareness of Fortran
  • those affecting Fortran programmers, who may only be familiar with a fraction of the standard

Topics like “Fortran does not have OOP” and “Fortran is essentially FORTRAN” fall into the first category. But other topics like “Fortran is faster than C” and “Fortran does not have pointers” probably needs in-depth explanations – like how aliasing works in Fortran compilers. So maybe we could start from creating a list of popular “myths” and decide how many articles/blogs we need and what each article needs to cover?

1 Like

According to Wikipedia:

In particular, creation myths take place in a primordial age when the world had not achieved its later form.

No wonder we have myths around Fortran :slight_smile:

1 Like

I overlooked this indeed, maybe just like the person who did the video. It’s a bit buried; given the importance of object in programmation teaching nowadays, I would highlight this more.

The fortran-lang site focuses on how to use Fortran in new projects. A less glamorous but important topic is helping people modernize legacy Fortran code, including transition away from it to another language, such as C++, if that is what they have decided to do. Many threads on the Fortran subreddit are about this, for example Seeking Advice on Familiarizing Myself with an Old Fortran Codebase and “automating” migration from implicit double precision.

1 Like

Good ideas here to improve the fortran-lang page. Let’s do it.

Send a PR with some ideas for improvements, and we can iterate.

1 Like

With a reading of 1.78%, Fortran is again on rank 10 of Tiobe’s index (out of a pool of 280 languages monitored, see their methodology). It is for the first time the language continuously is among the top-10 for six months/half a year (monitored in post 86 of this thread).

8 Likes

I opened an issue sketching what I think could be covered.

1 Like