I'm truly enjoying writing Fortran again. The new compiler wants you to think of it as a modern language.
All the old or anachronistic stuff has been downgraded.
You can still compile the ancient stuff, and scream at the compiler in all caps rage with unformatted code if you like, but this is no longer considered the "correct" way to write it.
And doing it this way presents some incredibly elegant possibilities. On this latest project, I decided to treat it like the bastard child of VB and Python. At least stylistically, which is interesting.
Arrays and familiar grammar
Also, the array handling is just... correct in a way that's absolutely hot.
Fortran has always felt like basic to me. One of those language archetypes, like C or Erlang. It seeps down into the hierarchy computing paradigms in a way that feels familiar, even when you've never worked with it before.
You can feel the echo of it everywhere.
The outcome of this has this instinctive almost Lua-like quality to it. Lua's always been one of those comfy languages for me.
It's easy to work with, flexible, and that's what it reminds me of. Imagine Lua with clearer functional boundaries, and tighter execution.
But also, at the same time, all those generations of math optimizations make it much more capable than Lua.
All those case specific optimizations for genetic programming, and weather simulations, super computing architecture, and memory management. It's exciting because there are huge sections of it that outperform Assembly code, while being a lot more readable.
And you don't have to worry about writing an entire section of code per architecture, like we were struggling with on the BLAS libraries a couple weeks ago.
Also, I'm pretty sure that I've just proven that it's faster than Rust for matrix math and linear algebra, while being easier to work with, and less bureaucratic.
That is, if we're counting, which I'm totally not. ๐