Ken Vaughn
Experienced Member
The first computer I ever programmed was a UNIVAC File Computer, vintage late 50's. It was a gigantic machine with drum memories -- a primary (fast) drum with fixed heads, and a secondary (slower, but larger) drum with flying heads on a moveable boom. The system had 16 tape drives, each separated from each other by around 6 feet to allow for proper cooling. The card reader and punch used UNIVAC 90 column cards (round holes) and the printer used a rotating drum rather than print trains.
The machine was programmed in machine code -- we called this absolute programming. Each machine instruction contained not only the op code and operands, but also the location of the next instruction somewhere around the drum, but not necessarily under the same read head. Proper programming technique took into account drum latency -- if the instruction was a simple add, then the location of the next instruction need not be very far around the drum, but if the instruction was a divide, then the location of the next instruction would be farther around the drum. I remember when UNIVAC first developed an assembler which took this all into account.
Today while looking for something in my old documents folder, I ran across a USENET (newsgroup) post which I had saved from the early 80's. This post was a classic in the computer science newsgroups. It describes this sort of programming in a humorous manner which I could never do. I thought you might enjoy this post. It is long, but well worth the read.
http://home.comcast.net/~kvaughn65c/Real_Programmers.txt
The machine was programmed in machine code -- we called this absolute programming. Each machine instruction contained not only the op code and operands, but also the location of the next instruction somewhere around the drum, but not necessarily under the same read head. Proper programming technique took into account drum latency -- if the instruction was a simple add, then the location of the next instruction need not be very far around the drum, but if the instruction was a divide, then the location of the next instruction would be farther around the drum. I remember when UNIVAC first developed an assembler which took this all into account.
Today while looking for something in my old documents folder, I ran across a USENET (newsgroup) post which I had saved from the early 80's. This post was a classic in the computer science newsgroups. It describes this sort of programming in a humorous manner which I could never do. I thought you might enjoy this post. It is long, but well worth the read.
http://home.comcast.net/~kvaughn65c/Real_Programmers.txt
Last edited: