Reviewing all "Fortran" Wikipedia pages & improving Fortran imagery

Why?

When typing “Fortran” in most search engines, the national (and/or English) Wikipedia page is at the top of the page. The English page is just below one half of the total views: Langviews Analysis.
If the English page is very complete and accurate, non-English pages can be of various lengths and quality. Many suffer from what we could call the dusty museum syndrome. The objective of the Wikipedia page is not to attract new users to Fortran, but neither is it to scare them away.

I therefore propose that we review, update and improve the Wikipedia Fortran pages in all our languages. Of course, the shorter the page, the easier to improve it! The English page can be seen as a reference, but your national page does not need to be as long and complete, just to give correct and up to date facts.

What?

  • The latest cited Fortran Standard can be old (e.g. Fortran 95 in the Simple English page). I think the latest standards should always appear in the introduction (and in the language infobox).
  • Some pages show only old style code (generally Fortran 77, or Fortran 90 in a mixed free/fixed form). Although, it can be pertinent in an encyclopedia to show historical code, it is also important to show modern code.
  • Not all pages have an infobox which resumes information about the language, especially the latest version (stable release), and the homepage of the language (verify that fortran-lang.org is listed). You can copy a frame of another language in your national Wikipedia and adapt it to Fortran. Note that some information is taken from the database Fortran - Wikidata (website, file extensions…)
  • There is often an “External links” section at the end of the page: fortran-lang.org can also be listed there. For the moment, in the English page we have: fortran-lang.org—the new home of Fortran on the internet (2020).” Do you think we should improve that description? I think the creation of the Fortran-lang.org community and its work on stdlib and fpm deserves to be mentioned.
  • Information about compilers can need updating. And new compilers in development like LFortran, Flang, and new Intel Fortran Compiler ifx should appear. See the page Fortran Compilers - Fortran Programming Language
  • Idem for libraries. See Fortran Packages - Fortran Programming Language
  • All the internet links should be verified and updated if needed.
  • Add books about Modern Fortran. See Learn Fortran - Fortran Programming Language
  • The plan of the article may need reordering.

How?

  • You must keep in mind that Wikipedia is an encyclopedia based especially on the following principles: neutral point of view and verifiability. You can read the Wikipedia:Simplified ruleset - Wikipedia or the more complete guide Wikipedia:Contributing to Wikipedia - Wikipedia. See also Wikipedia:Simplified Manual of Style - Wikipedia
  • Don’t forget to have a look at the tabs “Talk” and “View history” to understand the history of the page: controversies, choices… Identify other contributors.
  • Make rather atomic modifications, like in git, with clear titles. If another contributor disagrees on a specific point, he can then easily undo only the problematic point (or launch a talk).
    • Big modifications could be interpreted as vandalism by survey bots.
    • Pages can also be surveyed by other editors.
  • You don’t need a Wikipedia account to edit a page, but it’s probably better for big edits.

Where?

The list of “Fortran” Wikipedia pages is at the end of this page, with other related resources:
https://www.wikidata.org/wiki/Q83303
There are 77 languages, including English and Simple English. Note also that secondary Fortran pages can exist in your language: “High Performance Fortran”, “Fortran 95”, etc.
This message is of course based on my own work on the French page those last days.

3 Likes

A reverse chronology can be useful to emphasize that Fortran is also a modern language.

3 Likes

We should have a look in the Wikipedia style guide if there is some recommendations considering the chronological order.

I have found no advice concerning chronological lists in Wikipedia.
But I have found no computer language with an anti-chronological history (but feel free to do what you feel in your own Wikipedia version).

It is also possible to add subsections in the summary. For example, we could arbitrarily define two historical periods:

  • 1954-1990 (or 1989): legacy Fortran
  • Since 1991 (or 1990): modern Fortran

Just my impression, but the Wikipedia page (in English, at least) put too much
emphasis on old history, and does not highlight very much what modern Fortran
can provide to the user. For example, the code example below says:

but those features are not particularly special to Fortran (indeed, many other languages provide those features), so making it unclear what the selling point of Fortran (from this page). I think the current Wikipedia page of Fortran is probably interesting for someone interested in computer history itself, but otherwise I believe it is just boring to read…

Edit: I also noticed that the above code example is using “implicit save” like

  integer :: number_of_points=0
  real    :: average_points=0., positive_average=0., negative_average=0.

which is to be avoided IMO (by attaching the save attribute explicitly).
But I think this is more of a design failure of the standard itself.

3 Likes

FWIW save attribute is meaningless in program scope, so in effect this is initialization. But if someone were to adapt this code as is into a subroutine, they better know about implicit save.

1 Like

I agree and there should soon be sections on stdlib and fpm. :slightly_smiling_face:

3 Likes

The French page is already talking a little about stdlib and fpm: Fortran — Wikipédia :wink:

I think it is really important to work on the Wikipedia pages: personally, when I need to learn a new language or software, the first thing I do is to look at the Wikipedia pages (French and English).

I will soon post here a message about Fortran imagery and what we can do. The Fortran-lang.org site says “Fortran is the dominant language of High Performance Computing, and is used to benchmark the fastest supercomputers in the world.” But the Wikipedia pages (including English page) only show IBM 704 and punched cards…

1 Like

Fortran popular imagery

Diagnostic

I have browsed the 77 Fortran Wikipedia pages (Fortran - Wikidata) and counted the images:

  • 28 programmers reference manuals (IBM 704)
  • 24 punched cards + 3 coding forms to prepare punched cards
  • 15 “F” logos (Fortran-lang logo)
  • 12 IBM 704 computers
  • 5 Fortran 77 listings
  • 2 John Backus portraits
  • 1 BSD terminal with the Fortran 77 man page
  • 1 genealogy tree Algol & Fortran family (& Cobol)
  • 1 NEC Earth Simulator ES2

Fortran suffers from a poor image. IBM 704 and punched cards are ruling. Happily there are 15 Fortran-lang logos, but most of the time it is still the IBM 704 reference manual which is used as a logo. The Japanese page saves the honor with the only modern supercomputer picture! And the figure of John Backus, Fortran’s father, is honored only in two pages…

Fortran needs a new imagery!

What the community can do

We should have a reflection about the usage of images in the Wikipedia encyclopedia. Our objective is not to wipe out the past, but to find an equilibrium between past, present and future of the Fortran language. And an equilibrium between mere illustrations and pictures bringing more comprehension of the features of the language.

Let’s start especially discussions about:

  • Punched cards: those pictures can be useful to understand the fixed form format. They can be kept or we can decide that the reader can click on the “Punched card” Wikipedia page to see what it was.
  • Some other pictures are only there to illustrate the article but don’t bring more comprehension about the language: I think the IBM 704 reference manual picture does not bring much to the reader. It can be put in references. The IBM 704 computer picture is in the same category, but we could imagine to put just below a picture of a modern supercomputer running a Fortran simulation to show the contrast, and also the perenniality of Fortran.
  • I think John Backus should be honored, like Guido van Rossum on the Python page. In the French page, I have added File:John Backus 2.jpg - Wikimedia Commons with the legend “John Backus, inventor of Fortran, 1977 A.M. Turing Award laureate.”
  • The Algol&Fortran family graph File:Algol&Fortran family-by-Borkowski.svg - Wikimedia Commons could be updated with the latest standards and languages. The graphviz source code is available.
  • I have kept the Fortran 77 listing picture File:Ftn-elim-1240x1709.jpg - Wikimedia Commons but put it next to a modern Fortran code example (in the text) to illustrate the differences between legacy and modern code.
  • Should we put visualizations of a big simulation (climate ?) to illustrate the applications of Fortran?

Let’s add new Fortran pictures in Wikimedia Commons

The Wikipedia pictures all come from the Wikimedia Commons database, where you can upload your own files under a free license or choose public domain: Login required - Wikimedia Commons

At the moment, if you type “Fortran” in Wikimedia Commons you will find the above cited pictures, but also mostly covers of old Fortran reports: Search results for "fortran" - Wikimedia Commons

Many picture formats are accepted but for diagrams vectorial formats are better because they can be easily modified or updated by other users.

Some ideas:

  • a modern Fortran program in a modern IDE: Eclipse/Photran, Visual Studio Code…
  • Scientific visualizations of Fortran results.
  • Diagrams to illustrate features of the language: modules and submodules, coarrays, ordering of elements in an array… You can look in your Fortran books to find some inspiration. There is generally not many diagrams in Fortran books, but still a few.

Share here the links to your uploaded files so that everybody can use them (or not) in their national Wikipedia page (or on other Fortran related sites).

Since anyone can edit Wikipedia, making an article conform to your vision is impossible. Others will revert it to what they want. I’d guess that a significant fraction of readers of the Wikipedia Fortran article are high school students writing an essay on the first programming language, or other people not interested in actually using the language, so the current emphasis on FORTRAN history may suit them.

Michael Metcalf created a Wikipedia article Fortran 95 language features years ago. Could a page such as Modern Fortran or Fortran 2018 be created>

It depends. It maybe more difficult with the English page because there are more regular contributors who could disagree with you.

For other languages, there are less contributors: <=11 in 2019 for the French page. And most of the time, people just modify some words, a sentence, or a reference. Bigger contributions are rare (I have made a lot of modifications in the Fr page and it represents many hours of working…). And there is a “talk” tab to discuss modifications in case of disagreement. As a Wikipedia contributor, you can choose to receive notifications when the page is modified. Many Wikipedia pages are surveyed by passionate voluntary people.

If you compare the 2006 and 2021 versions of the “Fortran 95” page you cited:
https://en.wikipedia.org/w/index.php?title=Fortran_95_language_features&oldid=68543308
https://en.wikipedia.org/w/index.php?title=Fortran_95_language_features&oldid=945881839
you will see it has become far longer and better (and the 2006 punched card has disappeared :+1:).

Some Wikipedia pages about languages have a Governance and/or Community section:
https://en.wikipedia.org/wiki/Julia_(programming_language)#Julia_community
https://en.wikipedia.org/wiki/Python_(programming_language)#Development
https://en.wikipedia.org/wiki/Rust_(programming_language)#Governance

The French Fortran Wikipedia page has now a “Governance and community” section:
https://fr.wikipedia.org/wiki/Fortran#Gouvernance_et_communaut%C3%A9
where I tried to explain how the Fortran standard is managed, and the places where Fortran developers communicate and work together, starting from the early 80’s. Concerning Fortran-lang, the projects and tools of the community are presented and the Toward Modern Fortran Tooling and a Thriving Developer Community preprint is cited as a source.

Such sections could be added in other Wikipedia pages (English and national pages), either written from scratch or using an automatic translation tool to obtain a text that you can start from.

3 Likes

Slight correction: I didn’t create that page: I was so horrified by the original version that I completely rewrote it.

Mike Metcalf

4 Likes

The English Fortran Wikipedia page itself could be improved:

  • It does not say much about the way the standard is managed. What are the roles of the WG5 and J3?
  • It lacks paragraphs about the Fortran community(ies). It’s true there are two links (at the top and at the bottom) toward Fortran-lang.org but without any comment or explanation. Nothing about the Fortran Wiki or comp.lang.fortran, etc.
  • The article is mainly about the history of the language. There are links toward pages with lists of compilers and libraries, but the rest of the ecosystem is ignored (IDE, build systems, preprocessors, unit tests, code analysis, doc generators…)
  • The Fortran 2018 standard description is short.
  • Nothing about Fortran 202X.

In the present state, in my humble opinion it’s not a good starting point for a newcomer (that’s what I personally expect from a Wikipedia page, to be a good starting point to explore something).

@awvwgk has released fpm artworks in public domain:
https://github.com/awvwgk/fpm-artwork

That “fpm features” graphic is already available in Wikimedia commons and can be used in Wikipedia pages:

:white_check_mark: Done for .fr

5 Likes

Following @themos post about the The Black hole accretion code , I have contacted someone of their team (O. Porth) who kindly accepted to post in Wikimedia (license CC BY-SA 4.0) a beautiful Fortran simulation of the accretion around a black hole:

I have put it in the French and English Fortran Wikipedia pages as an illustration of Fortran applications:
https://fr.wikipedia.org/wiki/Fortran
https://en.wikipedia.org/wiki/Fortran#Science_and_engineering

I plan also to ask permission to the author of those ocean simulations to upload its velocity field picture (bottom of the page) in Wikimedia (CC BY 4.0):
https://www.nemo-ocean.eu/gallery/

Maybe those pictures could also be used in Fortran-lang.org?

Let me know if you have or find other Fortran simulation visualizations under free license that could be uploaded in Wikimedia. Let’s rejuvenate the imagery of Fortran.

4 Likes

I have suggested on GitHub that fortran-lang Have an image from a Fortran simulation, mentioning the images at the course page of High Performance Computing in the Physical Sciences .

2 Likes