One of the dishearteningly large number of things about which I had no idea about what my instructors were talking in my first IBM training class was JCL – job control language.
From the vantage point of years and intervening experience JCL looms ever larger.
Somewhere in the months after I nearly washed out of CST – that first IBM class (I was 41 of 42 graduates (but number 42 ultimately became a Vice president of one of IBS’s many Divisions) – I had some projects assigned to me that caused me to have to learn what I had either resisted learning in CST, or had been too stupid to learn, and, as I learned those things, I became increasingly agitated: why had I not paid attention in class at CST?
This stuff was really interesting
It was probably because I just didn’t give a shit when I was in CST; that is a direct allusion to part of Saigon 1967.
But for some reason, after I got back to the Portland Branch Office after my amazingly deflating experience at CST, and had been given an assignment that was going to require me to know some stuff that I had apparently eluded knowing from CST, I began to give a shit.
And I began to learn some stuff.
Rather than making this post boringly longer that it needs to be, I am just going to say that one of the things I had to learn was JCL.
JCL at CST had been an alphabetic mystery.
It had something to do with making files and things do what you wanted them to do; but that was all I knew about JCL.
That was all I knew until I had been given an assignment that required me to make disk files do what I wanted them to do.
Anyway, it all boiled down to three JCL statements as far as my project was concerned:
Those were for sure the statements; I am not totally sure they were spelled that way.
//VOL gave the hard wired address of the disk drive that was expected to be on line for whatever operation you wanted to have happen; that drive had to have its “on” switch activated.
//DLAB gave the name of the file that the computer needed to look for once it had addressed the volume indicated in the //VOL statement.
//XTNT gave the tracks upon which the referenced disk drive contained the desired file of the specified (DLAB) name.
I think those statements worked equally well whether you were ‘getting” or “putting” a file, but I can’t remember for sure.
The project I had been assigned was a success and the various JCL statements to make it a success had worked as they had been supposed to.
I was elated.
As a side effect of that success, began to wish – as I have to this moment – that I had given a shit in CST; there were a lot of interesting things to have been earned there; but I hadn’t learned them.
But I had more significant fish to fry, real soon; IBM had decided not to fire me but instead, to “put me on quota” which for most of the next year was a state of owing IBM more money every month; so I totally forgot about JCL.
In fact it wasn’t until about 30 years later that the thought ever came up again.
I was a fairly early fan of the WORLD WIDE WEB (WWW).
It made the world my disk drive I used to tell people.
They all tried to change the subject.
Since I really didn’t give a shit whether they knew what I was talking about I always let them – change the subject: “hey that welfare reform thing looks to be a big step forward”, etc.
But I couldn’t help thinking: “how is it possible to get from having to tell one single computer the physical address of one single disk drive, and a physical disk drive that has to be electrically engaged with the computer you are trying to address, including the file name you have given the space on the disk pack that someone has – hopefully – put on that machine, and then telling it what is the place on that unique drive where the information you are trying to access, to being able to enter http://noelmckeehan.com/ and get everything that was resident on my personal repository of experience?
And the same protocol worked for anything.
Somehow somebody had magically taken the human race from needing to use arcane weird non human statements that could access something on a specific physical piece of computer hardware that understood a specific computer operating system from a specific computer manufacturer to being able to click on something and get anything.