Mixsonian Larry

A Programming Language

The University Computer Center had one of the earliest mainframe remote “time-sharing” systems that allowed multiple people to use the mainframe at the same time.    As more and more students were taking computer courses it became apparent that the system of punch cards, trays, card readers and printed output that they had in the lobby of the building wasn’t going to work and thus they came up with time-sharing.  The single computer terminal I had seen as a senior at GHS, one of a dozen at the time, had grown to hundreds of computer terminals all around campus.  Instead of punch cards, you would type each line of your program into the computer terminal which would save it, then you typed a command to submit it, the mainframe would process it, and in a few minutes, it would print the result on the computer terminal.  If your program printed lots of pages you would still have to go to the computing center to pick up your output, but smaller programs that students wrote could mostly print out on the terminal. It was basically the punched card system without the cards.    

The concept of interacting directly with a computer in what would become known as “real time” had only been around a few years in limited form at universities, one of the earliest was Dartmouth College’s BASIC computer language.  The University of Florida implemented Dartmouth’s BASIC on their mainframe allowing it to be access from the remote computer terminals.  It was amazing, you could write simple programs to play word games, they even had a whole library online of games you could play, like High-Lo in which you tried to guess a number and the computer tell you if you were high or low. One of my favorites was the game word game Hangman which we played with pencil and paper as kids.  I soon learned BASIC, after all it was basic, and soon was writing my own games.   I put my free computer account from working at the computer center to use.

Hi-Lo BASIC game codeHi-Lo Basic game

Hi-Lo Game OutputHi-Lo output

In 1970 a new real-time interactive computer language called APL that ran on the IBM mainframe was released. The language had been only a theoretical computer language presented in a book titled “A Programming Language” by Kenneth Iverson.  It was very different from FORTRAN and BASIC which had commands in English words.  APL used no words, but rather used special graphic symbols to represent functions and operators, leading to very concise code.   I loved it, no words, only concepts reflected in symbols, it was pure, it was powerful.

APL Keyboard
APL Keyboard peel and stick characters to put on keys

IBM released one of the earliest implementations of APL on their IBM 360 computers and called it APL\360.  To accommodate the special characters APL IBM made a special type ball for their Selectric computer terminal. With a lift of a lever on the APL Typeballtop of the ball you could exchange the standard ASCII character set with the special APL character set.   There was one problem with APL\360, it took the entire mainframe to run, no other programs could be run while APL\360 was running.  No punch card processing, no remote terminals for batch input, the terminals  would only run APL.  So, every day from noon to 1 PM they shut all other processing on the mainframe down and ran APL\360.  It seems the director of the Computing Center, who had a PHD in mathematics, had taken a special interest in the language and even taught a free course on the language, which, of course, I signed up for.  I found APL fun to program in, first writing simple programs for the class then writing simple games.  One of the challenges the professor gave to the class was to write an APL program to solve the eight queens chess problem which was to place eight queens on a chess board so that no queen can attack the another queen.  The director said he was able to do it with a single line of APL, the best I was able to do it was two lines.

One line APL program to find and print all the binomial cofficients up to order N. Example shows program running for the number 4.

APL program

A spent hours writing a three dimensional version of the game Battleship that had airplanes in the sky instead of boats on the water. On the ground were antiaircraft guns that tried to shoot down the plans while the planes on the ground dropped bombs on the guns on the ground.  The design for the game was found fifty years later in the back of my original APL Users guide manual.

Planes game design

Design of Planes game
Unfortunately no copy of the actual APL code was saved.

To accommodate the increasing number of students taking computer courses the University built a computer lab on the sixth floor of Weil Hall that had about twenty IBM Selectric computer terminals which I would spend considerable time at, first writing Basic programs, but later would spend every day from noon to one writing APL programs.  There were typically one or two other students in the computer lab during the APL hour which before long were asking me for help with their programs.  One day one of the other students approached me and said he was a PHD student in Soils Science and was trying to write an APL program to do statistical analysis of data for his PHD thesis and was having trouble getting it to work and asked if I could help him.  It seems he had designed his experiment with three variables and needed a three-way analysis of variance to analyze his data.  I agreed and after a few days he asked if I was interested in working in the Soils Science department as a student lab helper in which I could finish the statistical analysis program as well as helping with lab work. I agreed and he set up an interview for me.

Updated: 12-08-2022

Lab Helper