Computer Programmer Circa 1960

I don’t know how many out there with knowledge of programming in 1960.
I worked in a retail store at that time. One of my associates (a part timer) had recently been discharged from the Navy where he was a programmer. His full time job was now a Programmer for General Motors. I had no Idea what a programmer does. I think I sorta fingered they ran around in back of a monster device changing an re-arranging wires. Of course now I know he would have been sitting at a keyboard doing magic.
Any input you may have on what it may have been like in those days will be appreciated. Computers must have been monsters, and the time to preform functions long.

2 Likes

In the 70’s I was programming computers as well. PDP-8’s! Actually had to load programs in by toggling switches on the front panel to load the boot loader then loading code with a paper tape reader!!!

3 Likes

I’ve not read it [yet], but “A History of Modern Computing” by Paul E. Ceruzzi looks promising to have some details of the earlier days when computers were rare and had to be locked in a special room to keep them from starring in “War Games” :wink:

3 Likes

My dad worked on an old valve-computer in the 60s. He wasn’t a programmer. The valves used to make whistling noises at different pitches. One of the programmers came up with a program that actually activated the valves in the right order and it would play “Teddy Bears’ Picnic”.

I first started programming on a VAX 11/750 in 1981, a bit of DCL. But it was my first experience with a computer. Sitting in a computer room in 1981 in south England and chatting over instant messenger with the operators at the computer room in the HQ in Houston, Texas.

2 Likes

The VAXen were an amazing bit of tech, I’m really disappointed that they didn’t survive into the future. (DEC was purchased by Compaq which was later purchased by HP.) I worked at a company that had more than a dozen different VAXes at various different sites and were networked together over DECNET. Being able to move files between hosts on the command like was as simple as COPY [HOST1]pathToFile [HOST2]pathtodestination . Today you can achieve some of the same with SMB or SCP but it is still nowhere as nice/seamless as it was in the 80’s on DECNET.

1 Like

Pretty sure your associate was not sitting at a monitor to write or input code in the 60’s. More likely sitting at a desk writing code one line at a time on a large 80 column sheet of paper, then either sitting at a card punch machine or teletype, typing in the code in a very precise format. Or handing in the sheet to the data entry clerks who sat at the card punch machine all day. Then handing in the cards or tape to a computer operator, who sometime later, maybe overnight, ran the card deck or paper tape, and returned the fan fold 14”x11” green and white stripped printout and card deck to programmer. The card reader was a large machine about 4 feet high, and 4x3 foot square. Most of the time you got back a printout that told you which card had a format error in which column. You correct it, hand it in again, and come back later for your output.
The computer room was a cold, very noisy place. Usually a raised floor environment with refrigerated cold air going through 6 foot high racks. Large, single door refrigerator sized reel to reel tape drives in a line whirring away, tape hanging down several feet between reels (one tape per unit). Loud clacking impact printers banging away. Card readers and punch tape readers making noises.
Hard cased 1mb 14 inch disk drives, each one in a unit about the size of a Maytag washing machine.
Imagine one or two computers for an entire company or University.
I remember Steve Gibson making some unkind remarks about the white coated operators who spent 8-12 hours per day running those machines. Hanging tapes, swapping 14 inch disks, loading fan fold paper. Maybe it didn’t take a college degree to do it, but they were dedicated, and I don’t know many engineers who would spend the time running other people’s programs all day. Yup, I was one of them.

4 Likes

The first time I (and some co-workers) played a Zork variant it was on a VAX 11/70! We would hang out after work, one of us on the keyboard and the VT-100 terminal, a couple of us drawing the maps and 1 of us writing up the walkthrough!! Good times…

2 Likes

That was exactly what my first computing environment in the early 80s was like. Those card readers were fast though. 2 foot-deep stack of cards, put them in the hopper, tell it to read - brrrrrrrp - done!

1 Like

My first introduction to Zork was on a small IBM mainframe, something from the 43xx series. Being the only person playing it meant my progress was slow. Until I found the FORTRAN source files - that improved my navigation abilities no end :wink:

1 Like

Ah those punch card days. Our Company had about 30 or 40 of those keypunch operators.punccard

images (13) IBM.CardComputing.19xx.102645452.lg

Some would call that cheating, but old Marines like me would call that Adapt and Overcome :joy:

2 Likes

This video seems relevant at this time

3 Likes

I wrote my first program (actually a programme) in 1965 on an English Electric Leo Marconi machine at Leeds University. I was in high school and a few of us, all mathematicians, spent a week at the university to learn something about computers. Of course, we wrote the code on paper and received printouts in return and saw nothing of what happened in between. All I remember is that my first attempt failed. After graduating from university in 1969 I did become a programmer, using Fortran on an IBM 1130, with punched cards and chads everywhere. I spent the rest of my career involved, one way and another, in what was subsequently called IT eventually becoming CIO of a vey large organization. It’s worth noting that the lessons I learned in those early years about good systems development practice remained valid throughout.

2 Likes

Yes. We learnt the hard way to get it right and to make it efficient from the beginning.

Getting it wrong meant a lot of time and money waiting for a recompile, so you actually thought things through more, before entering them into the computer.

And the code had to be efficient, otherwise it would take days to complete. I remember monthly reports that would take days to complete, after optimization!

Nowadays, you can bash a bit of code together and hope it works. And if it isn’t efficient, probably nobody will notice until you have moved on.

Yet with everything connected together these days, it is actually more important to get it right first time.

But most startups, including much of big tech don’t even look at making their code secure until after it has become a success. I’d have been out on my ear, if I had programmed like that.

1 Like

The company I work for still uses Vaxes; even crazier is that the Alpha-based machines have all been retired but there is still a 4000-300 being used for some custom Basic program running on VMS.

I’ll be honest, I’ve never been a fan of VMS; I have still never gotten a good explanation about why changing a directory is SET DEF(AULT) and that you can SET DEF into a non-existent directory is still mind-blowing to me. That said, having a versioning file system is amazing and I wish Linux had something like it (I like it enough I’ve even looked into what it would take to write something in Fuse).

1 Like

As a long time OpenVMS administrator and programmer, and having initially questioned SET DEFAULT, I’d like everyone to know why it works this way. OpenVMS has a feature named Logicals. There are multiple tables of logicals, including SYSTEM, GROUP, JOB, and PROCESS. Additional tables can be created. They can also exist in three levels: Executive, Supervisor, and User. When you specify a name for a device, directory, and/or file, there will be an attempt to translate any of these, if they are found to be a logical name.
A full file specification on OpenVMS would be
node-name::device-name:[directory-name.subdirectory-name.another-subdirectory-name]filename.extension;version
When you omit the node-name::, the current node is assumed.
When you omit the device-name:, the logical SYS$DISK is translated to find the actual name.
Translation can occur 10 times.
You can create a logical which points to a particular file, for example:
DEFINE MY_FILE USER_DISK:[FUN.EXAMPLE]GREEN.TXT
Defining the logical doesn’t create the file. It is simply a string I’ve defined in my process. If I was to logout, the logical would disappear. You can try to make this equivalent to environment variables in DOS/Windows or in *nix, but OpenVMS has more options and it is used in ways these other operating systems don’t implement.
When you issue the SET DEFAULT command, the device portion change the value of the SYS$DISK logical, and the directory portion is retained elsewhere. As I mentioned above, it is a reference, so there’s no reason that the directory must exist at that time. You can actually create it after you set default.
If anyone wishes to explore a bit of OpenVMS, you can navigate your way to eisner.decus.org
You might find it interesting that the NOTES database of messages contains content from as far back as 1990.

1 Like

VMs is still the most pleasant operating system I have ever used. I wrote a complete, parameter driven menu system, with either Lotus 1-2-3 style menus or vertical menus, you could use the arrow keys or a hot key for each menu entry, defined in the parameter file, all written in DCL, with a 5 line C program for the key scanner.

The C could have been smaller, if I had ignored the arrow keys, but they generated ANSI escape sequences, so I had to decipher them and return something useful, up, down, left and right.

I used it to make a nice batch job management tool. A friend wrote one in C that allowed jobs to be copied and pasted between queues and between machines within a data center. It worked like a multi sheet spreadsheet program. Very advanced for the end of the 80s.

1 Like