Why Do I Program In <insert language name here>?
MartinPacker 11000094DH Comments (2) Visits (3200)
I’ll admit it: I have a dirty little secret. All I can say is it was in my youth - and I didn’t know any better.
And folks I’m exclusively revealing my secret here in this blog…
I learned to program in BASIC.
Actually the “I didn’t know any better” bit is a lie: My Dad can attest to the fact he had Elsevier Computer Monographs in the house, which I read avidly. (Actually I added to the collection when at university and these books are among the few paper Computing books I still have.) And his view, which I think was the prevailing industry view, was that BASIC rots the brain and Algol is much better.
I don’t disagree about Algol being a superior language. I do disagree that BASIC teaches bad habits you can’t overcome. But you use the language you have available to express yourself. And, by learning enough languages or gaining experience, you develop programming maturity. (You’ll’ve guessed, I hope, that Algol wasn’t available to me.)
To be fair to the “BASIC is horrid” camp it is horrid but I don’t think longitudinal studies had been conducted that proved it to be a stupefiant (great French word) And, to my mind, getting people programming is more important: We can work on points of style later.
The next steps in my programming career (verb or noun?) were Z80 Assembler, a dialect of OPAL, and CORAL. Again used in the “program in what’s available” mode.
I don’t think descending into Z80 Assembler (and actually, more interesting to me, machine code) did me any harm. And I found structured programming really quite easy to do - in OPAL and CORAL.
University saw FORTRAN, C, a functional programming language called SASL, Pascal, amongst others.
So, even before joining IBM, I’d seen a fair few programming languages.
This isn’t going to be a taxonomy of programming languages, you’ll be pleased to know.
Here’s an interesting one: A debugger for the Amstrad CPC–464 (I learnt Z80 Assembler on) allowed you to write macros in Forth. I loved it. “What a weird (reverse-Polish) language” you might say. But, and here’s the reason for mentioning it, it was the language that was available to do the job. And that’s a theme I’ll return to.
Now I’m coming to the point: This post, I think (sometimes I’m not so sure), came from conversations about programming languages on IBM-MAIN and further reflection on this blog post of mine.
I’d like to talk about why we chose the programming languages we do (or at least why I do).
I think I’m in the third category with a nod to the first, and sometimes I’m forced to worry about efficiency. (Some of our tools wouldn’t be feasible without the tuning we’ve given them: CPU Time isn’t the factor, completing sometime before two years after hell freezes over is.) So, for example:
It’s horses for courses, and I won’t swear I’ve necessarily made the right choices. But each of these have magical superpowers because of the environment they run in and libraries/built-ins they come with.
A while back someone “threatened” me with having to learn SAS. My response was along the lines of “bring it on, as it’ll be about the 20th language I’ll’ve become familiar with.” I guess that makes me a geek.
Or maybe a nerd.
I guess it also explains why this blog contains as much programming as it does. I’m thinking of renaming it to [“Ma
The discussion in IBM-MAIN and ruminating about Dragging REXX Into The 21st Century? got me thinking about how fit languages are for the future, and REXX in particular.
I’d say “don’t expect the REXX language to evolve”, whether IBM ports [htt
Another is BPXWUNIX - which I’ve mentioned many times in this blog. It allows you to use all the Unix functionality z/OS offers.
One thing I’d admit we lack on z/OS is support for some thumpingly good modern programming languages - Python, node.js and (recent) PHP being but three. And I mention this here because of why:
So there you are, some stray thoughts on programming languages - on a gloriously sunny Sunday afternoon. And if the tone got tetchier (not techier) as you go through it’s because I sat down to write in stages after pulling tall stinging nettles out in the garden. (In provably pessimal shorts and t-shirt.) And it’s a well-known fact (to those who know it well) that everyone in the UK thinks their garden’s stinging nettles are the most potent in the world.