| Home | Book Reviews | Photography | Pictures | Art Prints | My Camera Bag | Contacts | Links

I’ve been fortunate
to see the development of computer technology from mainframes to cell
phones. Here is my personal history of
the computers I have seen and owned and my thoughts on the key technologies
that made it all happen. It has been great and fascinating. I found out that I’m not the only one that
has a great interest in older computers.
Check out the computer collection at Futurebots! I guess the few computers I have in the
basement aren’t too bad…
In
Grade 7 everyone had to take typing and I didn’t see the value in that. I wasn’t too bad a typist for my raw speed,
but you got docked 10 words for every mistake you made. It was estimated that you could fix a mistake
in the time it took you to type 10 words!
The IBM Selectric® had a error key that remembered what you typed and
type backwards using a correction ribbon greatly speeding this up. I can still type well. My real first contact with programming was on
my HP-25 calculator. It recorded the key
strokes you typed in and had a “GO TO” function so you could branch based on
number values. It was very slow, but is
could help you with custom or tedious calculations.
A computer programming
course was available in my senior year of high school, but I didn’t take this
course. Since none of the high schools
had a computer you marked your program onto mark sense cards with a pencil with
one card per line of code. All the cards
from the class were put into a box, sent to the North York Board of Education
computer and you found out next week if you program worked! Most of the time you made an error that you
had to correct which went into the next week batch of programs along with your
next assignment.
First Contact 1976
The first time I
ever saw a computer and worked with it was in my freshman year at the
University of Toronto where computer science was a compulsory spring semester
course. Programming was done on punch
cards which were fed into a card reader.
By the time you went around the corner, the line printer had finished
and your program and the results were there for you to tear off. I’ll have to introduce a few pieces of
machinery here since these are no longer used.
The IBM
Model 29 card puncher (Courtesy of International Business Machines
Corporation copyright © International Business Machines Corporation) was a rugged, desk sized
piece of equipment with a keyboard and two magazines for storing card. A card was fed from the blank card magazine
on the
right by pushing a button and as you typed the text appeared on the top
of the card. The corresponding EBCDIC code for each character
you typed was punched into the card with small rectangular holes. When you were finished the card was ejected
and another card fed into its place.
Each card had the capacity for 80 characters. Your program storage media was the cards so
you had to carry them around with you which was no problem when you were
new. Later when I wrote more
sophisticated programs I would have to carry a box of cards around with me!
Of course we never saw the IBM
360/370 computer which was somewhere else on the campus. This was an amazing concept for me at the
time to think that the computer was somewhere else and it was handling requests
from many different locations at the same time.
Our computer room – which was typical of several on campus – was filled
with card punchers, one card reader an on line printer. The computer was a mystery. The print out always showed how much computer
time was used to do your program. It was
generally less than one tenth of a second which seemed fast back then. Assembly language programs were finished much
faster.
The IBM 360 and its
successor the IBM 370 were great computers for their time and extremely
successful for IBM. They could handle up
to 248 stations while working on other computations. Unlike previous mainframes which were
custom-made for their application, the IBM 360/370 could be configured to handle
scientific or business needs with the same system. Its storage was from 8,000 to 524,000
characters. A character is roughly one
byte of data, so this is 8K to 524K of RAM. This was the best and fastest
general computer of the time…
The IBM line printer
was an interesting piece of mechanical equipment the size of two refrigerators
back to back. The main feature of the
printer was a drum formed of 80 disks where each disk had all the printable
characters on it. In front of the drum
was a ribbon of ink that went completely across the sheet and advanced slowly
so that the fresh ribbon was always coming in.
The paper was behind the ribbon and behind the paper were 80 hammers,
one for each wheel. So in order there
was the drum, the inked ribbon, the paper and the hammer. During operation the drum turned at high
speed and when the appropriate character was in front of the ribbon the hammer
would be timed to strike putting that character on the page. Once all the characters were printed for a
line the fan fold paper would advance one line.
Sometimes there were timing issues and the characters were a little high
or low on the line. It was fast, but
very noisy so the entire printer was encased in a sound proof housing. Naturally, there were no graphics, but
graphics were still to come in the future…
The programming
language of choice for the engineering department was FORTAN, specifically
WATFIV which actually stands for “Waterloo FORTAN IV” from our arch rivals at
the University of Waterloo. WATFIV was
particularly well suited for engineering applications as it could handle double
precision floating point numbers and there were a number or preprogrammed
solver functions – for example for differential equations – that made it useful. There were other programming languages
available like SPK (a subset of PL/1) and of course COBOL – which for some
amazing reason continues to be used in business today.
I had a great
interest in the IBM 360/370 so I decided to take a course in assembly language
programming. There was a steep learning
curve and many of the students in the class actually worked on the mainframe
and had helpful suggestions for the professor on how to program more
easily. Imagine taking introductory
Spanish in Mexico… I still have some of
the programs I wrote at this time, but the best keepsake of all is the quick
reference guide to assembly language programming shown here. There are massive numbers of assembly
language instructions. One typical
assignment from class was to take a stack of up to 20 cards, read them, and
arrange them in alphabetical
order using the first four
characters of each card. The key to this
assignment was to leave the original text in the same place and manipulate the
pointers to the records with indirect references.
The good news about
assembly language programming on any computer was that you really understood
how it worked. The bad news was that it
had very little error handling so finding mistakes took some time. Later on I programmed some assembly language
on the 6502 processor in the Apple II.
Programming like this is basically over, but it lives on in Excel
functions and object oriented programming for macros.
You can see that
there was very little interaction with the actual computer. You got very quick feedback, but in reality
you had to find an open card puncher to correct a card and then stand in line
to run your cards through again. With
the capability of the computer it couldn’t operate a personal workstation for
you and as a student you didn’t store anything on it. Since processor time was so valuable you had
an account that had a certain number of runs that you could make.
This is the end of Part
1. In Part 2
I actually get to program at a terminal with a one-line display!
First
Contact | HP | Undergraduate
Thesis | Apple Growing | The IBM Revolution | Work Gets Personal | My First
IBM Compatible | Gateway 2000 | The Internet | Dell
| Home | Book Reviews | Photography | Pictures | Art Prints | My Camera Bag | Contacts | Links
All text and photos are copyright 2009, Frank
Hada. Contact me at frank@fhada.com.