Stack Overflow 2022 survey

The Stack Overflow 2022 survey results are out. There are definitely some interesting things to take away from it. Specifically to Fortran what stuck out to me was the Most loved dreaded and wanted programming languages section. There we collectively got a 26.47% “approval”, which is not great.

I am not sure what that “approval” stat ultimately means, but to me it seems to indicate that there might be a communication problem for Fortran.

3 Likes

The question behind these results is:

Which programming, scripting, and markup languages have you done extensive development work in over the past year, and which do you want to work in over the next year? (If you both worked with the language and want to continue to do so, please check both boxes in that row.)

My interpretation is the following:

  • Has worked with and wants to work with next year → Loved
  • Has worked with and doesn’t want to work with → Dreaded
  • Hasn’t worked with and wants to work with → Wanted

26.47% loved may actually be a very good result for Fortran. I’m happy that Fortran even appears on the list–I don’t recall seeing it in prior years of SO surveys, granted, I don’t follow it every year.

I don’t think this has anything to do with communication. Instead, I assume that most responders to the SO survey that have worked with Fortran, did so not by choice but by requirement, and likely in the context of some legacy code. So, it’s possible that 3/4 of the responders merely had to do it to get the job done and move on. So, this specific result may have more to do with culture and history than communication. Fortran is not for everybody. It’s not even for most people. That’s fine.

And 1/4 of the responders who worked with Fortran seem to enjoy doing it. It may be reasonable to assume that these people program Fortran by choice.

Perhaps more relevant result is that 277 (0.39%) of the survey responders haven’t worked with Fortran but want to. IMO this is the target audience that we should aim to reach. For comparison, the Fortran Discourse has 467 users that have posted at least once.

5 Likes

That level of approval is roughly similar to what we notice among those doing technical computing in industry where Fortran is already present (often due to legacy reasons).

My hunch is an enhanced modern Fortran language standard that includes just a few better facilities (Generics, improved error termination control, intrinsic type for strings and bits, enhanced OO, and constexpr functions) in conjunction with better ecosystem overall - the kind heralded by @certik, @milancurcic , @awvwgk , @jacobwilliams , @gnikit et al. - here with LFortran, stdlib, Fortran Discourse, fpm, modern *PACK libraries, VS Code, etc. can place Fortran in the upper echelon of approval - similar to or better than Python and Julia at the SO survey - among those who have to use it in their work, particularly scientists and engineers.

Modern Fortran has a very strong foundation, it comes across as very elegant and highly performant. It is mainly being held back because of a few glaring gaps in the language standard and the tooling and the support environment.

6 Likes

My takeaway was the trend for new users to train and learn from on-line (free?) resources. They do not provide information on what percentage of on-line training is free and what is purchased, but many languages have extensive free on-line materials; where-as Fortran has not traditionally had this, partly because it predates on-line material and partly because the standard is an ISO document (with associated restrictions) . Perhaps fortran-lang should prioritize providing at least an introductory user manual; which would complement the LLVM/LFortran/gfortran projects at a minimum. Not having free on-line documentation raises the bar substantially for entry-level users.

4 Likes

Modern Fortran has a very strong foundation, it comes across as very elegant and highly performant. It is mainly being held back because of a few glaring gaps in the language standard and the tooling and the support environment.

That’s totally true. In fact, there remain a lot of improvements, in particular, “string handling”. A key to spreading Modern Fortran in the realm of machine learning, specifically Natural Language Processing.

1 Like

I’m of the mind that the SO survey is increasingly nonsensical because treating “developers” as a homogenous mass has about as much validity as grouping together people who “use math” and asking them whether they like using real analysis or non-Euclidean geometry more. Webdev is fundamentally different from tools development is fundamentally different from hardcore number crunching is fundamentally different from data analysis, and trying to shove them all together into one tidy chart because of the data scientist mindset that “more data is more gooder, we’ll postprocess data later” leads to pointless popularity contests and not much else.

Nevertheless, I would like to know what the breakdown is between FORTRAN and Fortran, which is critically missing from the question. If the issue is people think of FORTRAN when they read the question and don’t like it, then it’s fundamentally a messaging issue. If the issue is people think of Fortran when they read the question and don’t like it, then it’s a issue of language features/tools/community outreach/etc.

This I agree with. Data is not the plural of anecdote, but I’ve found when browsing Hacker News and other general-purpose programming resources, whenever Fortran comes up, its status as an unsung-hero enabler of ML comes up in a positive light.

2 Likes