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.
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?
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.
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.
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!
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.
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.’
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.
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?
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.
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).