A few random thoughts on this, the 110th anniversary of the birth of the legendary Grace Hopper:
I drifted into the realm of stored program computers by accident, sometime in 1965 or 66. Keith Marcellius was a programmer for Blue Cross Blue Shield of Alabama, and they had a state-of-the-art IBM 1401. That milestone machine was to be IBM’s arrow through the heart of unit-record-equipment, and their insane patch-panel program boards. I did not work for BCBS, but Keith liked my company and I was delighted to hang around. I think I was “between engagements” then. Town and Gown theater was just a few blocks up the hill from Five Points. I can believe that Keith was as mystified by theater as I was by computers. Moths and flames….
CoBOL was still in the future and BCBS was using AutoCoder. The big thing about the 1401 was it could do variable word-length instructions.
I am unsure whether AutoCoder is technically compiled, or assembled, or just translated. It was NOT human readable without very specialized training, but it did not require specific memory addressing, and thus was a very big deal.
Keith habitually worked the hoot-owl shift, so he had exclusive use of the machine. I sat with him while the 1401 churned decks of cards into payroll and AR/AP programs. I will call it compiled, even though many would argue the point.
The process was long, and the debugging of the ultimate crash was a matter of tracing through crash dumps in HEX or even binary printed out on green-line paper looking for the problem.
It was challenging but enormous fun.
One night, when Keith solved a particularly knotty problem, we wrapped up in the wee-small hours, cleaned up our gameboard and roaches, and walked up through Five Points.
Among his many talents, Keith played the carillon at the big church on the intersection (ropes-and-bells, children. This was very pre-electronics). On a whim he unlocked the front door, we went up in the bell tower, and opened the big wooden shutters, and Keith treated the stumbling drunks to a concert. I think it was “Ode to Joy”, but don’t quote me.
It was a magic moment, to be sure.
A few years later, I became employed at State Farm’s regional office. They handled Auto, Fire, and Life insurance for 3 states.
I was no programmer then. I calculated loss ratios and such things on a mechanical calculator.
I got a “ten-key” calculator, a big thing on the desk and a large suitcase thingy on the floor connected by a thick cable. It was a great boon, because it printed a paper tape with those twelve decimal place numbers.
About that same time, State Farm upgraded their 1401 to a PAIR of IBM 360’s.
They were running in 1401-emulation mode, but State Farm had decided to embrace this new-fangled programming language, CoBOL!
Although “the machines” (always said in a near-whisper) were intended primarily for Policy Records, AR/AP, and Payroll, they decided to include the “math” people in the mix.
I thought I had suddenly gotten a top-of-the-line Cadillac.
I soon found out State Farm had gone for the Full Monty…. errrrr… Rolls Royce. We had CoBOL, ForTran, and Assembler at our disposal.
Nobody knew how this stuff worked then, and IBM trainers were on-deck all the time, and we made it up as we went along.
The first time we tried to close the books on Dec 31 (I think it was 1967) it took over twenty runs to get a legal balance sheet.
My boss said he would fire anybody that got champagne on “the machine”.
Nobody did… most of us were too tired to drink any.
State Farm Springfield apparently liked what we were doing down in Dixie. They decided to open a new regional office in Monroe LA, and rearrange the corporate blood flow.
My boss offered me the option of relocating there, and they FLEW me to Monroe to see if I would like it there! Not just me, but INCLUDING me!
Holy \\JOB card, Batman!
Coincidentally, I was about to fall in love and move to PA, to a town with no computers at all, but sometimes, late at night, after a few beers, I kind of wonder where that thread might have led…
So, how does Amazing Grace figure into this, you ask?
CoBOL was hardly universal then. I was doing IBM CoBOL, not to be confused with NCR CoBOL, or ControlData CoBOL, or…. or later ANSI Cobol.
State Farm’s largess meant I (we) could drop in an Assembler subroutine if CoBOL would not do what we wanted, and i used a LOT of ForTran math subroutines.
ForTran was great for math, which was important to me, and CoBOL was great for handling the business end of things.
We did what we did, compiled, debugged, compiled, debugged, compiled and linkage-edited, and debugged, and so on over and over… once we generated the necessary number of boxes of green-line crashdumps, we punched out an object deck (cards punched with the actual machine-language instructions) and “handed it to the operators”.
That Rolls-Royce of compiler packages probably led to some of the sloppiest code imaginable.
I am sure that without Amazing Grace, I would have gotten the same results with three drawers of Assembler Language cards, but I surely would not have done it before I turned 1111 years old.