Postcard from Software Development (2)

Don't let anyone tell you otherwise, a lot of the arguments you hear and read about software development` come down to fashion.

Let me give you an example. A long time ago I worked for BNFL (British Nuclear Fuels Ltd) in the UK. They used an odd mix of languages, which makes sense when you understand the varied platforms they had. One system I wrote ran on a commercial Unix variant and checked the availability of a number of other Unix machines in various parts of their network. It was written in C as you'd expect. One person, who really should have known better, made a point of telling me in meetings that it ought to be written in APL "because the US military write everything in APL" .

I don't know how many people have actually seen an APL program - not many I suspect, and there's a reason for that. APL was intended to be a general purpose langauge which would produce programs that could be proven to be right. Take a few minutes to think about that. Not just how useful it would be, but how it's even possible for the varied software products out there, let alone the systems every programmer has fought with. The bizarre, APL-specific character set didn't help it's acceptance much either.

The person in question made no claim to be a software engineer, I think he may have been an IBM systems programmer, but he had clearly read an article that impressed him, and he wanted to appear "up to date". Thankfully my boss was more interested in asking my opinion than telling me to go ahead and change everything to take acocunt of a new toy.

The reality is, of course, the US military at the time probably wrote far more PL/1 than APL, and PL/1 was pretty much restricted to IBM mainframes. Of course I doubt there was a reliable APL compiler for the particular Unix platform anyway, an argument that I recall having no effect.

Don't get stuck in the past, but watch out for the IT fashion police, they can be a menace.

© 2015-2016 Woodbrook-Wilson   |   Postcards   |   Archive   |   Home page