Truly ancient computing

Continuing the discussion from What Should Apple Users Take Away from the CrowdStrike Debacle?:

Thanks for the article. It links to a PC World article that has since expired, but here’s a Wayback Machine link to it:

I wonder where they can still get blank punch cards. The last time I saw them for sale in office supply catalogs was in the late 80’s (alongside spools of paper/mylar tape and 8" floppies, and where 5.25" 1.2M floppy media cost around $10 per disk.) Today, I can only find eBay listings from people selling them in very small lots for very high (“collectable”) prices.

But the most interesting instance of ancient computing I’ve ever seen was at the Titan Missile Museum, in Green Vally Arizona. The computer used to program the missile for launch was a very old IBM computer, using discrete logic components and which loaded programs from paper tape. It used this computer until the Titan missile silos were disbanded in 1987. According to the museum guide when I was there, this was deliberate - even though much better computers were available at the time the silos were being designed, they wanted a computer that could survive the EMP from a nearby nuclear detonation, which completely ruled out microchips and magnetic storage media.

When I was in college, common wisdom was: If you become an expert COBOL programmer, you will have a job for the rest of your life. But you will spend the rest of your life writing COBOL programs.

More seriously, all modern programming languages run on mainframes. In 1991, I worked in an IBM shop. I wrote software in C/370 (IBM’s C compiler for the 9370-series mainframe). There were a few annoyances, but it otherwise worked:

  • 3278 terminals and the printer we had did not support several characters required for C programming. So we had to use trigraphs.
  • The particular printer we used didn’t support lower-case text. So I needed to write a script that would convert everything to upper-case prior to printing.
  • The text file format was very much card-oriented, so no line in the code could be longer than 80 columns. Not a problem when editing on a 3270 terminal (or emulator), since the screen and editor also had that limit, but was a problem when uploading code from other sources (like from my desktop PC, running OS/2).

Since I preferred to edit on my PC with Emacs, I wrote a small utility that could make my files compatible with the mainframe prior to uploads. This involved replacing unsupported characters with trigraph sequences and alerting me to any lines longer than 80 columns. But it all worked quite well.

3 Likes

Sure! There’s also this one:

P.S. It looks like the company mentioned (Sparkler Filter) is still in business:

2 Likes

As it happens, I just added to my 1974 Engineering Thesis web page, mention of using Fortran on an IBM (I think) mainframe to simulate breaking ocean waves:
https://vdrsyd.com/mp/thesis.html
I prepared a stack of punch cards for the program. If I was lucky I would get the results the next morning - usually a programming error. There was always the fear that the computer lab would drop the punch cards while loading them into the machine for 100s of students.
In my first job in vehicle regulation I used (~1977) punch tape with an HP computer to simulate the swept paths of turning vehicles. This was used for designing vehicle inspection facilities and for assessing the consequences of permitting over-dimension trucks and buses to use public roads.
Next (~1978) I used a very modern IBM office next to the government department to enter data for a heavy vehicle census and process the data using the APL language on their advanced mainframe (maybe not possible these days!). This was my first experience with databases. Fortunately database apps have become much more user friendly since then.

6 Likes

When I retired in 2012 I was still maintaining one APL program for a traffic routing model. I was one of two people in our IT department that had ever used APL.

2 Likes

Ah, I remember APL from my brief time as a pre-university employee (PUE!) at IBM in 1977. I’m feeling a wave of nostalgia for the world’s first (and, I think, sole) write-only language.

Yes - I had a user manual on my bookshelf until decluttering a few years ago. If I remember it was bizarre programming language where commands were a single charecter using what seemed like the entire ASCII character set.
For database work, in effect, I had to enter data as rows and, before processing, the data had to be transformed into column format (or maybe viceversa?).

Could this be the arcane macro language used by the Sendmail configuration file, sendmail.cf? See also Interpreting and Writing Rewrite Rules.

Perl is also pretty hard for a novice to figure out, but I’ve never seen anything as hard to understand as sendmail.cf. So much so that the authors of Sendmail themselves don’t want you to touch it - they provide separate configuration files that you’re supposed to edit, which they compile into the .cf files using the Unix M4 compiler.

I don’t think so …

(Wikipedia is unable to display many of the characters)

APL started as a mathematical notation for manipulating matrices that could possibly be run on computers, and that worked out well. But it’s turned into a nice more general general purpose language in modern times. Note that APL is not only terse, but highly recursive (like logo and lisp).

In the early Mac days a nice version, portaAPL, came out and let me finally get my hands on it. There were one or two others, but in just a few years they pretty much all ate each other until there were only a few left, and no longer practical for mere mortals. The open source versions such as J and gnu were all lacking various features for long enough that I gave up on them.

Happily, times have changed, and Dyalog (seemingly the top predator) has a free non-commercial license:

https://www.dyalog.com/download-zone.htm

They also host a nice site with demos and tutorials:

https://tryapl.org/

Byte magazine used to have occasional roundups of how many lines of code it took to program Conway’s Game of Life, including graphics, in various languages. The only results I recall are that one of the leaders was a Basic that could do it in about 25 lines, but APL was the winner at ~55 characters, including “10000” which was the number of iterations. I’ve heard that it can be done more compactly now (18 characters?).

John Schole did a wonderful video in 2009 of how to conjure a Life program (about 8 minutes):

and his somewhat more detailed notes, including how to run it on various surfaces such as a klein bottle:

1 Like

I had a brief fling with APL in the late ‘70s. I coded up a correlation coefficient in one line. The similar program in FORTRAN was … much longer.

1 Like

I remember writing a one-line function to plot histograms. APL was (is) a language in which one would start coding in the middle of a line and spread out in both directions.

1 Like

My memory is circa 1984 when I was in high school. Our school had a lab full of Commodore PETs, with a single Commodore SuperPET. The SuperPET had a little switch on the side that let you choose to boot in one of a number of different languages, including BASIC, COBOL, FORTRAN, Pascal, and APL.

As the most computer-focused student at the (tiny) school, I was intrigued, and got as far as getting permission to put the APL-specific stickers on the fronts of the keys, but never actually did anything with it beyond booting once or twice and typing strange characters.

1 Like