The review article nicely wraps up 2021, which was a very good year for Fortran. Thank you all!
What should be the goals for Fortran for 2022?
What would you like to see, what is realistic to achieve?
The review article nicely wraps up 2021, which was a very good year for Fortran. Thank you all!
What should be the goals for Fortran for 2022?
What would you like to see, what is realistic to achieve?
I’d like to see (and help with)
More tutorials with an emphasis on scientific programming and numerical methods
Examples of Modern Fortran for competitive programming; that is a good way to attract a younger demographic and show others what Fortran can do.
Improve the docs so motivated high school and undergrad students can contribute to Modern Fortran projects.
Addendum: Better integration with VS Code and the javascript/webassembly ecosystem, so Fortran developers don’t have to re-invent the wheel
Would like to see a good modern Fortran course appear on Coursera, taught by experts such as @sblionel , @certik , etal.
Maybe not quite realistic for just a year: I would like to see more and more “classical libraries” written in old-style Fortran get modulized and modernized (using Fortran >= 2003, keeping in mind that it probably has to be done in F20XY one day), faithfully, reliably, and robustly. A recent example discussed on this forum is Lapack.
I have spent a major part of my 2021 working on such a project for Powell’s optimization solvers. To be honest, it is a painful, frustrating, and unrewarding job. What supports me to continue is the belief that modernization is the only way to make such treasures continue to be alive. I do hope I will have finished this job when I review my 2022.
Think about Lapack for instance, think about how much of today’s scientific computing is based on Lapack, think about how much of today’s human civilization is based on scientific computing. The old-fashion Fortran libraries must be modernized before there is nobody on earth who can understand/maintain/extend them.
The modernization does not need to be done in Fortran — I hope our community is not a group of narrow-minded people who refuse to use any other language. It should be done in languages that fit scientific computing well. Fortran is obviously/fortunately still one of the best of them as of today, despite the criticism from the people who do not know modern Fortran; I hope the situation for Fortran will become better and better instead of the opposite. C and C++ are also good ones, of course. I note that Lapack has been/is being modernized in C++, for example.
Happy new year and all the best wishes!!! May 2022 be a better year!!!
The Fortran Wiki lists videos, including one by Steve Lionel, Modern Fortran: Features for High-Performance Computing, 3+hours long.
Here is what I would like to see:
I would love to see significant progress on automatic python bindings via LFortran in 2022. I’m going to try to set aside time to work on this.
Writing documentation is always high on my list, especially for those (fpm) tutorials, which use features yet to be implemented ;). Maybe it is worth to revisit the stdlib-docs as well and model them after the new fpm-docs.
The fronts I want to progress fpm on are:
And packaging of course, we want easy access to all the cool Fortran projects on many platforms!
Definitely! Please ping me when you have time, and let’s meet over video and I’ll get you up to speed.
I would also add:
Not the most insightful suggestions as I think most are being focused on already but just to say I’d love to see
LFortran usable for simple interactive terminal tasks (eg I currently still have issues with trying to use arrays interactively — this generates seg faults for me).
Standard library further developed (admittedly I haven’t properly looked at where this is at). Simple things like easily reading and writing csvs, common linear algebra, statistical/probability computations etc all made easy and standardised.
Combining above, it would be nice to have a simple demo interactively reading csv data and then plotting (perhaps via gnuplot?). I also think it would be great to have data frames as a stdlib structure. Reading csvs into a data frame, extracting and operating on columns, plotting them etc, gets you pretty close to enough for many basic data science tasks. Although not necessarily the main goal of using Fortran, I think showing that this is possible would help attract new users
Automatic differentiation capabilities. I’ve been working with some folk who developed a new modern Fortran geophysical simulator (https://waiwera.github.io/ — hence getting back into Fortran!) and we currently do some combined analytical-numerical differentiation to get derivatives wrt parameters etc. Would be nice to do proper autodiff. Someone suggested enzyme for autodiff but this relies on LLVM (https://enzyme.mit.edu/) which cannot currently compile our simulator to an executable (according to our developer)
I’d like @FortranTip on Twitter to celebrate 2023 with 700 followers (currently there are 400). If the current pace of 1-3 daily posts slows to 1-2 a week I think followers won’t unsubscribe, as long as content is relevant. The focus is the Fortran language now, but I think topics such as tooling, algorithms, and libraries would also be of interest. Tips and suggestions through the GitHub repo (which has an index of tweets and codes) are welcome, as are additional contributors.
Thanks for the feedback. Let me fix this now. Arrays work in compilation to binaries, so it should not be hard to make them work interactively also. Can you report the exact bugs you are getting? I can see your report here: Experiences with LFortran (#574) · Issues · lfortran / lfortran · GitLab, but that issue doesn’t seem to show the segfault. If you have time to report the segfaults you encountered, I’ll fix them.
Great thread. What I’d like to see happen:
What I’d like to work on:
Thanks! I’ve quickly ssh’d into my home machine from my phone (still on holiday!) and reproduced some example issues. Added to the gitlab issue referenced above. Hopefully these make sense!
Thanks again
Very interesting thread with nice goals!
I agree with you @awvwgk. Revisiting the stdlib-docs would be worthwhile.
Regarding my principal wishes for 2022:
@jeremie.vandenplas If you’re interested in helping with an intro to Modern Fortran course, check out this thread: Modern Fortran Carpentries course - #5 by samharrison7. I was pondering whether it would be worth developing a Carpentries course on Modern Fortran, which I think aligns nicely with your third aim.
My personal goal is to become a bit more involved in this community and try and set aside some time to contribute to the various initiatives. We have quite a few Fortran developers in our organisation, but I think most are stuck in the 90s, so my second goal is to be an evangelist for Fortran Lang and go spread the word of all the amazing new stuff that’s happening here.
What I’d like to see happen:
Flang codegen (Fortran 95 + OpenMP 1.1) is available in llvm-project.
A few Flang Fortran plugins are available.
What I’d like to work on:
What else I’d like to see:
I think the community has built up a lot of momentum and if we keep it up I think we can accomplish a ton this year. I’m very optimistic about the future.
With our interest in more and better documentation, we might consider applying for Google Season of Docs (GSoD) or Outreachy as well. Conda-forge very successfully improved their docs last year with several Outreachy internships.
I think all of my wishes for Fortran already got mentioned, so I just want to highlight the most important for me:
Another personal goal for me and Fortran is a big one:
The technical college where I completed my master’s degree in Scientific Programming one year ago offers a Fortran lecture. But since the professor of this lecture retired some years ago and he wants to teach it for the very last time this February, I am going to take over his lecture! So this time I will assist him with the hands-on sessions, but next time (probably February 2023) I am going to be the new lecturer of Fortran. Therefore, I will use this year to refactor the lecture notes or maybe even create my own. I plan on sharing these under some kind of open-source licence, but I think this is enough for a own topic here in the discourse group. I will open a thread for this soon.