This page has links to all those in the section on 'Importance in computing' https://en.wikipedia.org/wiki/Jacquard_machine
And now back to my HS math department. The head of the department had taught the calculus course I had taken as a junior. He was substituting for the regular calculus teacher who was pregnant. He had trouble writing high up on the blackboard and said it was bursitis. Unfortunately, he was fibbing and it was liver cancer and he died that next year. And in the second semester that year, I was self learning how to program that calculator in the math office. So after that, I talked to him about learning more about computers. He was able to get me in to audit Brooklyn College's computer classes. This was very convenient as the campus was across the street from my HS. So that summer of 1974 I started to learn real coding on punch cards.
The students (including me!) were given accounts on the City University of New York's (CUNY) IBM dual CPU 370/168.
https://en.wikipedia.org/wiki/IBM_System/370_Model_168
https://www.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3168.html
For us at the time, this was a batch oriented system. This was done using the RJE (remote job entry) system which is in its own room on the campus. It had a punch card reader, a connection to the mainframe in Manhattan and a 'high speed' line printer for output. You entered your 'job' by putting your stack of punch cards with your code on them, into the card reader's hopper. Usually card readers were reasonably quick and you could get your card stack back in a couple of minutes.
So in order to use the computer we were going to have to punch out the code into cards hopefully making as few typos as possibly could. You punched your cards on a keypunch machine like this one which seems to be what we were given to use. A bunch of these were in the hallway outside the RJE (remote job entry) room and that was away from the jet engine noise of the line printer. You put blank cards into the hopper on the left. What you typed would be punched in EBCDIC codes onto the cards. Editing was not possible on basic keypunch machines so if you wanted to make a small change in one card, you had to retype it all. Higher end models has a simple 1 line display that would allow it to read the old card and then you would edit to the new line code. Then punch it out.
https://upload.wikimedia.org/wikipedia/commons/e/e8/IBM_card_punch_029.JPG
There are all sorts of odd tricks and systems to manage hundreds or way more of punch cards. The last 8 columns could be reserved for card numbering and ignored by the compiler. Just something you wouldn't ever contemplate today.
So now you loaded that job into the system and waited. And waited.
The real slowdown was the very fast (but not fast enough) line printer. It was rated at 2000 lines a minute. That is 33.3 lines per second with all mechanical stuff going hyperactive to make an ear shattering din. No matter how fast this printer ran, it was usually about 2 hours for you job to come out. You spent this time going over the code in your head and thinking of what new stuff to add to it. Then you repeat the cycle of coding on an hourly scale of time.
And this will kill you! In the 60's program/analysts (yes, that term is what was used in job ads) would code on special paper forms which would then be sent to keypunch operators. Can you think of the creative delays in that process? They regarded keypunching as secretarial work vs. the people (almost all men) who wrote code. And to put on more gasoline to this dumpster fire, most of the code was COBOL (by a massive percentage)! Would you like to not be able to type in code and run it in seconds?
But did you ever use a Teletype and paper tape?
ReplyDeletei used worse at my first real programming job. it will be covered in another post. picture this - 8 track style cartridges with a tape loop!
ReplyDelete