Category Archives: Technology

PLIHK: Pascal

(Once again cross posted.)

This will be another short one, since I haven’t used Pascal in decades.

Although my supervisor at CDI recommended me for a promotion, a recession hit and I was laid off instead. I was able to get a job as a high school and middle school science teacher for the Chilton Independent School District. (The district only had a single campus, for all grades K–12.) Two of the classes I taught were 8th grade computer literacy and upper class computer science. We had a room full of Apple IIe computers, with programs like Oregon Trail and Math Blaster and, of course, a BASIC interpreter. I had read, though, that BASIC was out of favor with the academic community and that the AP exam for computer science assumed the students knew Pascal, so I persuaded the school board to purchase licenses for a Pascal compiler.

My memory of Pascal is that it was a pretty clear and clean language that resulted in easy-to-read programs. Unlike the “spaghetti-code” style of typical BASIC programs, it pretty much enforced structured programming. So, although I haven’t had any occasion to use Pascal since then, I have positive memories of it.

PLIHK: Assembler

Cross posted from my personal blog.

(Specifically for IBM System/360–System/370–Z systems.)

After I dropped out of graduate school my first job was as a plotter operator for a computer aided design/drafting shop run by CDI. We had a crew of about a half-dozen drafters working on IBM 2250 graphics terminals attached to an IBM 4341 computer, and a big flat-bed printer. When they had a schematic or diagram they wanted printed, I would write the print instructions on a reel tape drive attached to the 4341 and then move the tape to a drive attached to the plotter. After positioning the paper (or occasionally plastic) to write on, and putting ink in the pens and the pens in the plotter head, I would start up the plotter and it would read the tape and move the head around to make the plot. (A big vacuum under the plotter bed kept the paper or whatever flat on the bed.)

Anyway, this left me with a lot of time sitting around, which I put to use learning to run and operate the computer, so I was eventually promoted to computer operator. (My boss, Ray Tamar, was going to put me in for a promotion to systems programmer, but a recession hit and I was laid off instead.)

The 4341 implemented the IBM System/370 architecture. We ran the VM/370 operating system, with a OS/VS1 guest supporting the actual drafters, who were using a program called CADAM from Lockheed. While I was there IBM stopped supporting OS/VS1, but about the same time Lockheed provided a CADAM version that ran under CMS (a single-user operating system that only runs as a VM guest), so we converted to that. Anyway, part of what I taught myself on that machine was how to program using IBM’s Assembler for System/370. I remember one of the projects I had was to replace the generic CADAM logon screen with a custom one using the CDI logo. This meant also learning the Graphics Access Method (GAM) for programming the 2250 terminals. My assembler skills would later come in handy when I started working for the University of Texas.

So what can I say about assembler? If you care at all about programmer productivity, and there are any other options, you should probably not write in assembly language. On the other hand, if you really want to understand how the computer works at the lowest level, assembly language is what you want to learn. You’re right there, manipulating registers and looking at memory addresses and learning the individual instructions and so on. Also, at least in the IBM mainframe world, there is a lot of “legacy” assembly language code out there, so this is a valuable skill to have if that’s where you’re working.