Fortran, a 70-year-old computer language, lands back on the top 20 most popular list

Aren’t we a bunch of old farts here.

I learned Fortran, Cobol and RPG II at a Perkin-Elmer after-school Explorer Scout program in the early '80s. Good times. Never got to touch the mainframes - had to write the code out on sheets and then got the printout back later.

I forgot everything about those languages though - but still making a living with code.


I always forget this possibility. I should use it more often. The ability to start indexing at -13 is sometimes very elegant, and a great way to keep your co-workers on their toes!


It was a CDC assembler course with ones-complement math baked right into its 60 bit words.


But are you limited to integers? Why not start an index at -0.5 so everybody can more easily avoid the fencepost problem?


I didn’t mean to say Fortran is the only option, but I find it hits a sweet spot between raw speed and writability. Easy dynamic arrays, good numerics.

I assume you’re familiar with the one about the scientist who spent two months optimising his/her code to shave 20 seconds off the runtime? I frequently face that kind of problem - most of what I write gets run <50 times so hand tweaking for the CPU is generally a step too far for me - but I’m happy when the libraries I use have done this.

GPUs are of course important, when your problem suits that approach. OpenCL I like a lot, as a generic interface to whatever accelerator you have, and it’s also available in Fortran (if a bit experimental).

Rust looks interesting. Based on your comments I’ve started to look into it, so thank you for that.


De chelonian mobile.

1 Like

I heartily recommend it. Once grokked, it’s incredibly satisfying to use. It’s a steep and long learning curve, but don’t be put off; the community is excellent and you’ll be a better person/programmer for it :wink:.


I don’t know of any women working in FORTH around here. I didn’t work for NRAO back then, I was at the U of A myself in the optical sciences department. I worked with a PhD astronomer who was really a computer programmer. He didn’t get back to telescopes for another 20 years. He ported FORTH to the Z-80 and the M68000 in the meantime.
NRAO had a programmer named Betty Stobie who did the other half of the radio telescope work, the data reduction. Here’s a newsletter describing her work.

In any event, the PDP-11s were tossed in the eighties, and we now use boring old PCs running a control program suite written in C under Linux.


Fortran can index arbitrary ranges, including negative ones, but yes it is based around element 1.

VB on the other hand…:scream_cat:

Very cool! Thank you.

How can I turn down an offer like that? Any (programming) language that can make me a better person is something I need in my life :wink:

I try to learn German. It certainly influences the way one thinks, although I’m not sure it is an improvement for me. I think maybe I am better suited to questions of memory allocation and execution order than philosophy. I will try Rust…


Because of the risk of being misunderstood on the interwebs, it’s worth noting I had my tongue firmly in my cheek. That said, when I started using Rust, i thought I could programme, having don’t it full time for the previous 10 years, but rust exposed me (in a good way) to areas of computer science I’d thirtherto ignored. On a purely intellectual level, it has definitely improved me.


So Douglas Adams was right, the answer is 42!

Blockquote De chelonian mobile.

Turtles, turtles all the way down!

For a f/s mountain bike?

Another endorsement for Rust from me.

It is a steep learning curve, but it is very satisfying to program in once you start to get it.

Games, drivers, and embedded systems are the main use cases today. I’ve been a software engineer since 1982 and still write assembly language every day, in between C# and other very high level languages.

Assembly is not going away. There will always be places where speed matters above all else and somebody still has to write your fancy compilers.


I learned and then promptly forgot both FORTRAN and calculus at university in the early '90s. But if I had to re-learn one of the two, I’d pick FORTRAN. My goodness, is calculus ever useless for actual engineering!

Also, someone has to implement virtual memory, interrupt/software traps and other low level code at the very foundation of the OS. That code always involves writing a little bit of very involved ASM.

(Example not chosen randomly, I have been.digging into NetBSD to try to get it to boot on RISC-V.)


This topic was automatically closed after 5 days. New replies are no longer allowed.