The block construct is indeed quite useful in this situation.
In some specific cases the associate construct can also be quite handy to store the result of a function that returns a pointer without having to declare the variable.
associate(x => get_logger())
x%write("")
end associate
...
function get_logger() result(res)
type(logger), pointer :: res
res => null()
if (.not. allocated(internal_logger)) then
call logger_initialize()
end if
res => internal_logger
end function
In the TIOBE Index for February 2024, Fortran is #11, its highest position (the same as in July and September 2023). And its rating (1.40%) is the highest since 2001-09-28.
Worth to add: February 2024 (cf. entry 86) is the twelfth consecutive month Tiobe reports Fortran on rank 20, or better. A residence in the set of «top 20» this long is a first time since 2017 with records by Tiobe in archive’s waybackmachine. We’ll see if the data continue to move towards the favourable direction (in reference to the violon plot of entry 181).
April 2024: for the first time since July 2016, Fortran is among Tiobe’s top 10 languages on rank 10. Percentage-wise, 1.47% as for Delphi/Object Pascal (permalink).
Glad to see this, but I strongly doubt that #11 Delphi/Object Pascal is more popular than #19 Rust or #20 R. The top 7 (in order, Python, C, C++, Java, C#, JavaScript, Go) seem right, but starting with #8 Visual Basic I wonder about the rankings.
We know the Tiobe Index is fishy, but hopefully some people will be encouraged to try Fortran because of its top-10 Tiobe ranking.
Maybe yes, maybe no, depends what “popular” means… Delphi/O.Pascal has probably an existing code base that make it “popular” to some degree.
I would say that starting from #7 Go, all the percentages are clustered and the intervals are probably smaller than the uncertainty of the “popularity” measure.
How the data are queried and processed by Tiobe is a black box (or is there a public repository of their algorithm used, allowing a replication?). With the advent of new programming languages, climbing to 1% today in 2024 probably is of different value, than it was in 2002 (or are the tokens of popularity limited, as for Bitcoin?). Which is why the eventually assigned rank, e.g., #10 for April 2024 could be slightly more meaningful, than the percentage – though without knowing the number of all competitors considered, still vague.
May Headline: Fortran in the top 10, what is going on?
I have received a lot of questions why Fortran entered the top 10 again after more than 20 years. The TIOBE index just publishes what has been measured. There are for instance more than 1,000 hits for “Fortran programming” on Amazon, which is the leading company in books. New cool languages such as Kotlin and Rust, barely hit 300 books for the same search query. So, what is going on? First of all, the Fortran language is still evolving since its inception in 1957. Less than half a year ago, the new ISO Fortran 2023 definition was published.
The main reason for Fortran’s resurrection is the growing importance of numerical/mathematical computing. Despite lots of competitors in this field, Fortran has its reason for existence. Let’s briefly check the competition out. Python: choice number one, but slow, MATLAB: very easy to use for mathematical computation but it comes with expensive licenses, C/C++: mainstream and fast, but they have no native mathematical computation support, R: very similar to Python, but less popular and slow, Julia: the rising new kid on the block, but not mature yet. And in this jungle of languages, Fortran appears to be fast, having native mathematical computation support, mature, and free of charge. Silently, slowly but surely, Fortran gains ground. It is surprising but undeniable. –Paul Jansen CEO TIOBE Software
It is easy to start with a conclusion and then find reasons for it. So often people have started with the conclusion that Fortran is obsolete and then justified that assertion based on what is in FORTRAN 77. The TIOBE quote is unfair to other languages, for example the assertion that C++ has “no native mathematical computation support”. The native array in C and C++ is lacking, but there are C++ array class libraries such as Eigen and Armadillo. C++ has special functions that are not in the Fortran standard. It has a wider range of uniform RNG and has non-uniform RNG that Fortran does not have. People knowledgeable about C++ could say more.
If I were an academic who wanted to disseminate a statistical algorithm, I’d create an R package (perhaps with underlying Fortran code). There is no Fortran equivalent to the massive CRAN package repository, although efforts are underway.
Hi Beliavsky I taught C++ at King’s College and it is very heavily used in the area of financial mathematics. Here is a link Mathematical finance - Wikipedia I taught C++ to the maths department students doing a one year financial mathematics masters. Talks with the last bunch of students mentioned salaries in the 60 - 80 K range in the first few years, and some mentioned salaries over 350 K with several years experience. The last course I did at King’s was in 2002.
Instead, he should have said C/C++: mainstream and fast, but more complex and not as easy to write high performance numerical code.
How things have changed from 2019! Instead of complaining and being surprised that Fortran is rising, now we are justifying it that “it has to be that way, given the fundamentals”. Absolutely! But it’s not out of nowhere, it’s thanks to the massive effort the Fortran community has done. Thank you all!
Even if the TIOBE index were a meaningful indicator, Fortran being in a tie with Delphi Pascal for tenth place shouldn’t really be a cause for celebration for its few remaining enthusiasts.
This is NOT my opinion, but I think it should be heard by this community.