Posts

Fortran features that fascinate me

Recently, I’ve been working on a package intended to add zero overhead monadic error handling into Fortran. I mostly just wanted to see if it could be done, and apparently I enjoy doing silly things in niche (at least nowadays) programming languages. Like most people who write code for scientific number crunching I have a bit of a love/hate relationship with this language; it has so many weird quirks, but it is also just so easy to write high performance code in. Even if you don’t like it, you definitely have to respect the fact that the first high level language worked so well that it’s still the goto language for supercomputing. Speaking of goto: writing this package got me thinking about some of the weird, interesting features Fortran has had throughout its life that you don’t really see in most other languages. Wome of these features are really interesting, and can really get you thinking about just how different programming can be from the heavily C influenced style most modern languages have adopted.

Prolog: if Stockholm syndrome was a programming language

I have an embarrassing admission to make that will probably raise many eyebrows but please, hear me out:

I love Prolog

And before anyone says it: yes, I know I shouldn’t. I know it’s an obsolete, slow, unoptimisable borderline undebuggable language. I know it is based on a programming paradigm that is long since dead and that most programmers (if they’re even aware of it) spit on the grave of and bid an enraged “good riddance” to. Some people might describe it as a kind of Stockholm syndrome I experience as somebody who spends a lot of time working on symbolic AI concepts but I promise you: you just don’t know Prolog like I do! Prolog really does love me, I swear! It’s just that we’re going through a rough patch right now, that’s all…

What is this?

If you’ve stumbled across this, you’re probably asking yourself: “What the hell is this?”. Or you might have any one of a number of questions about it. I highly doubt anyone but me will ever read any of this blog but, in case they do, I feel it should probably begin with an overview of what the hell this is so it doesn’t get mistaken for the ramblings of a madman in the vein of eccentric classics like the “timecube” guy (anyone else remember that craziness?). Here, I will attempt to anticipate and answer questions that might be in any reader’s heads.