[COFF] Of PL/I

William H. Mitchell whm at msweng.com
Wed Apr 3 06:31:26 AEST 2024


PL/I, in the form of Cornell’s PL/C was the language we learned in CSC 101H at NC State* in Fall 1976.

At some point I was possessed to buy from the local IBM office a copy of "OS PL/I Optimizing Compiler: Execution Logic".  I see that a 1985 version of that is here: http://bitsavers.trailing-edge.com/pdf/ibm/370/pli/SC33-0025-3_PLI_Optimizing_Compiler_Execution_Logic_Sep85.pdf  454 pages.  Lots of ASCII (well, EBCDIC?) diagrams and flowcharts.  See pages 31 and 151 for two examples.

In a comparative languages class that I’ve taught at the U of Arizona, I've described PL/I as an example of what can happen when a language designer incorporates a number of good features from other languages: you get a Frankenstein.  Support for `PIC` formatting comes to mind as one of the things borrowed from COBOL.

IIRC, and it’s a dim memory of a then-freshman, an interesting thing about PL/I is that it has no reserved words.  You can say something like `if else = if then while = returns + return;`

PL/I also has a macro facility that I only "got" years later, when learning C.  Hmm...no PL/I examples in https://rosettacode.org/wiki/Metaprogramming.  I wish I had a clone to give that task.

Very conveniently, PL/I has a `put data;` statement that prints the value of all variables in scope.

A friend at NCSU in the 70s, Billy Willis, used PL/M on maybe a PDP-11 for a system he wrote to support his dissertation in chemical engineering.

William Mitchell
Mitchell Software Engineering
Occasional Adjunct Instructor at U of AZ CS
520-870-6488 (m)
Discord: whm#5716, Twitter: @x77686d, Skype: x77686d
linkedin.com/in/x77686d

*Go Wolfpack; beat Purdue!



More information about the COFF mailing list