Fortran returns to top 20 TIOBE index

Just for the record: Fortran on position #11 (again) in September 2023, ratings 1,28%.

Personally, I really can’t judge about the metrics behind this. But what I can see is a realistic chance for that programming language to become THE first class dataflow-programming language within the next few years, based on serious research (in the RMA/PGAS area) over the past decade already.

Nevertheless, it’s also the programmers job to solve some major issues with MPI RMA through a qualified programming model, namely to massively reduce the cost of synchronization: https://arxiv.org/pdf/2111.08142.pdf

9 Likes

Ok, this is interesting. According to TIOBE Index - TIOBE :

The last time the ranking was higher than the current rank of 1.28%, was on November 28, 2001, which is almost 22 years ago (the same ranking of 1.28% was also temporarily reached on June 29, 2002).

It’s hard to say if it means anything at all, without understanding how they rank it.

That being said, I see less and less of the “Fortran should die” mentality at conferences. People are very very slowly, but surely being more positive towards Fortran.

11 Likes

The fact remains right there. We are dwarfed by an interpreted language taking up #1. And I don’t have much kind words to say about most of the others on the top of the list either.
Who knows, maybe we will eventually see Intercal high-ranked as well - and not as a joke. Ah wait, Intercal is too old, and as everyone knows old is always bad. We need something more “modern”… Maybe BS then, with 17-bit integers (sic), normal scalar variables that must be freed or memory leaks occur, and many many other amazing features… Yes, that one sounds like a good candidate for high ranks in the lists.

O tempora, o mores…

Thank for pointing out the diagram’s span is larger, than the recordings of archive’s waybackmachine previously used provide (entry 86). Starting now with June 2001, the local .csv now stores 260+ records (for six months the present diagram does not provide data) one may access with AWK, grep, etc. Though the readings of percentages eventually yielding an integer rank* are affected by the number of programming languages each Tiobe survey considers significant enough, summer 2023 indeed was fruitful one:

| highest percentage | 1.46% | August  2001                              |
| lowest percentage  | 0.22% | February 2020                             |
| highest rank       |    11 | July 2023 (1.25%), September 2023 (1.28%) |
| lowest rank        |    50 | July 2020 (0.22%)                         |

* The .csv retains this starting with the record about July 2016.

3 Likes

And the definition and sources of the rank are probably ever evolving. 20 years ago the Web was so different: for example, no Facebook (2004), no Twitter/X (2006), and, more important concerning development, no GitHub (2008)! (it was the era of SourceForge (1999))

But on a shorter term, we can see that Fortran was in the TOP 20 for 9 months in 2021 (the year it went back), 5 months in 2022, and already 7 months in 2023. A total of 21 months on the last 33 months (if we start in January 2021). Being in the TOP 20 for 2/3 of the time looks like a signal, isn’t it?

6 Likes

October TIOBE index:

Rank             	Ratings 	Change
16    Fortran      1.02%	  +0.23%

“I have fallen but I am still there!” (8th month in the TOP 20 in 2023)

8 Likes

November TIOBE index:

Rank             	Ratings 	 (annual)Change
12    Fortran      1.30%	     +0.74%

“I don’t know if it means something, but the last time I was so high in ratings was at Fall 2001, that is a fact”:
https://www.tiobe.com/tiobe-index/fortran/
“A little more noise and I could surf on the 10th rank…”

8 Likes

There are posts earlier in this thread that show it was ranked at 11 in July.

@vmagnin solid. It’s important to take a screenshot:

6 Likes

Yes, but the rating was 1.28%.

The ratings are calculated by counting hits of the most popular search engines.

The plot I linked to is the evolution of the rating and Fortran is at the highest since October/November 2001.

And it is its 9th month in the TOP 20 in 2023.

6 Likes

Both July 2023 (1.25%) and September 2023 (1.28%) put Fortran highest at rang 11. In percentage, however, August 2001 (1.46%) was the best. This however is in the (somewhat) «dark ages» as I did not find a record by archive’s waybackmachine to add the rang into the curated .csv of entry 86 in this thread.

Regarding percentage and rang, it seems worth to add some of Tiobe’s information about the metric. To quote:

«The data set runs from June 2001 till today. It started with 25 languages back in 2001, and now measures more than 150 languages once a month.» (source, below the pull down how to access the complete data set [for 5k US$] / nominate an additional programming language)

2 Likes

In the magazine Linux Format of October 2023, you can read at the bottom of the cover:
“FORTRAN DAYS - The oldest of codes remains the fastest”

I have an official access to the paying content. The article is 4 pages long and its title is: “FORTRAN - the first high-level language” (uppercase is used in the whole paper). And the chapeau says:

It might have been the world’s first high-level language, but Mike Bedford discovers that FORTRAN is still alive and well today.

On the left of the first page, there is a frame about LFortran (@certik). And also a frame about the TOP500 and exascale computing.

On the last page, the section “FORTRAN today” talks about its 14th place in the TIOBE index (it was in August). They interviewed Rafik Zurob, IBM Open XL Fortran compiler development manager, and this is the conclusion of the article:

So, what are the benefits of FORTRAN that have contributed to its use today, and how does it compare, in this respect, to more modern languages? According to Rafik, “FORTRAN is a high-level language that gives the compiler more opportunities to optimise. An example of this is in the design of pointers. FORTRAN lets the user specify targets a pointer can address. This allows the compiler to construct a more precise aliasing analysis than other languages like C, in which pointers can address anything.” It remains to be seen whether the likes of Python and Java are still attracting such favourable comment in another half century.

See also the website of the magazine: https://linuxformat.com/archives?issue=307

10 Likes

I don’t get to start many new Fortran projects these days (indeed, I don’t get to write much Fortran at all). But I had the opportunity a few weeks back and it was probably the first time I had used a few of the things coming out of this community in angst (rather than just on toy projects or testing with existing code). I’m convinced this is a big part around why Fortran is now consistently high in the TIOBE index.

I used fpm to build and pull in two libraries that I didn’t know existed before (@jacobwilliamscsv-fortran and argparse-f) and one that I’ve wanted to find an excuse to use for a while (Fortran Lang’s test-drive). I also used LFortran to build the code. And honestly, it was magical joy where everything just worked. The libraries are excellent and well documented, fpm made building them seamless and LFortran worked without a bug in site*.

When I think back to the pain of many years ago - of manually downloading libraries, trying (and failing) to build them, deciding whether to install and have as a dependency vs copying the code into my project - this is a monumental improvement. Back then, if a student wanted to do some simple coding, modelling or data analysis, I would have probably recommend Python as quicker and easier to get started (with more libraries). Today, I would be happy recommending Fortran**. I’m sure this is being replicated in many institutes and hopefully, as the Fortran Lang tools (etc) mature, this will become more and more true.

The future is very bright for Fortran!

*Sort of - LFortran compiles the internals of the code correctly but doesn’t yet work for csv-fortran, which is just used for a wrapper around the main code.
**Though we don’t have something like Pandas for Fortran (yet), so if their analysis is heavy on 2D data processing, I might revert to Python…

19 Likes

The new numbers (December 2023) are compiled (cf entry 86 of this thread)

2023-12, 1.07%, yearly comparison +0.64%, rank 12

This puts Fortran into the top 20 for the 10th month in 2023 (continuously, since and including March). And while rank 20 was assigned twice in 2021, it only was once in 2023:

|---------+--------+------|
| 2023-01 |  0.45% |   27 |
| 2023-02 |  0.58% |   24 |
| 2023-03 |  0.79% |   17 |
|---------+--------+------|
| 2023-04 |  0.59% |   20 |
| 2023-05 |  0.78% |   19 |
| 2023-06 |  0.99% |   15 |
|---------+--------+------|
| 2023-07 |  1.25% |   11 |
| 2023-08 |  1.03% |   14 |
| 2023-09 |  1.28% |   11 |
|---------+--------+------|
| 2023-10 |  1.02% |   16 |
| 2023-11 |  1.30% |   12 |
| 2023-12 |  1.07% |   12 |

Addition: data already in hand were reused for two visuals highlighting the year-to-year comparison:

ezgif.com-gif-maker

The combined scatter/Box plot, each dot is one distinctive level / «Tiobe rank». On occasion, a level was assigned more than once, leading to a superposition of the dots. In the violin plot, the more frequent a «Tiobe rank» assigned, the wider the horizontal dimension of the shape. Though there are nicer ways to do this (Python pandas/seaborn?, R?), a brief copy-paste into PAST4 did the job good enough to yield the overview (raw data shared below).

2023-12-10_brief_inspection.zip.txt (164.0 KB)

6 Likes

We can also notice that it is cited in the text:

December Headline: C# on its way to become programming language of the year 2023
Yes, I know, we have been here before. At the end of 2022, it looked like C# would become the programming language of that year. But at the final moment, C++ took the title unexpectedly. This year we are a bit surer that C# is going to win. It gained +2.38% in 1 year, whereas its closest contenders Fortran and F# only gained +0.64% and +0.48% respectively. It might look a bit strange that most of the top 20 languages lost popularity in 2023. So what happened? The answer lies in the long tail, where all the small languages reside. Those are all moving up a bit and are getting closer to the big languages.[…]

Anecdotal things like this can be positive, as it could lead to a few articles in the tech journals. I don’t know if the paper in the Linux Format magazine came from reading the TIOBE, but it could.

1 Like

While updating the readings by Tiobe for January 2024 (rang 12, the eleventh month in a row Fortran is listed among the top 20), I notice Jansen’s comment to review 2023 (emphases added):

For the first time in the history of the TIOBE index, C# has won the programming language of the year award. Congratulations! C# has been a top 10 player for more than 2 decades and now that it is catching up with the big 4 languages, it won the well-deserved award by being the language with the biggest uptick in one year (+1.43%). Runners up are Scratch (+0.83%) and Fortran (+0.64%). C# is eating market share from Java and is getting more and more popular in domains such as web application back ends and games (thanks to Unity). C# can be used free of charge and evolves in a steady pace, making the language more expressive every new release. C# is here to stay and might even surpass Java soon.

Apart from C#, there were a lot of interesting changes in the TIOBE index last year. Fortran and Kotlin became permanent top 20 players replacing old-time favorites R and Perl. Fortran is very fit to crunch numbers with good libraries and remains a university favorite in lots of domains. Kotlin is the easy to learn/write competitor of Java. Interesting question: what languages will enter the TIOBE index top 20 in 2024? This is very hard to predict. Julia touched the TIOBE index briefly in 2023, but couldn’t keep that position.* Maturity of the Julia language and community is needed to get a second chance. […]

The violin plot below can illustrate a little the evolution with readings available (each dot one record of entry 86), a doodle by a snippet of R obtained with ChatGTP:

* In the present reading for January 2024, ranked at position 28.

4 Likes

Our Fortran logo appears in this blog post, at the beginning of a paragraph about the first FORTRAN compiler:

Sandrine Blazy, Professor at the University of Rennes and Deputy Director of IRISA, is a specialist in compilers and secure software. She developed with Xavier Leroy, CompCert, the first compiler for the C language to be verified with Coq.

The blog Binaire is edited by the Société Informatique de France on the site of the journal LeMonde.fr

5 Likes

Professeure Blazy taught sessions on CompCert at the Oregon Programming Language Summer School (OPLSS) last year (2023). I was really looking forward to these. (I got to attend some of the sessions before I caught COVID and had to isolate before leaving.)

I think a noble goal would be to see CompCert Fortran some day.

1 Like

Surprised by the rise of Fortran in the TIOBE index, Txreq created an 8min20s video about learning enough Fortran from the fortran-lang.org site to make a spinning donut. At 8:00 he says, “the single thing I hated about it is the fact that you have to declare all of your variables right at the start of your program”. This is incorrect because of the Fortran 2008 block construct.

Codee, a tool vendor, has started a repo open-catalog

to consolidate the collective wisdom of performance experts on the best practices for performance. It consists of a glossary and a list of checks for the C, C++ and Fortran programming languages.

They make a similar mistake, writing

The Fortran programming language does not allow to declare variables inside loops, in the statements of the loop body.

about which I raised an issue Fortran allows declaration of variables within loops, contrary to what PWR002 says · Issue #1 · codee-com/open-catalog · GitHub. There needs to be more awareness of the block construct of modern Fortran. It could be discussed at Variables — Fortran Programming Language.

11 Likes

I’m always amazed by people who learn <whatever a bit complex> in a few days and then teach the whole world about that. humility = tiny(x)

5 Likes