Computer Old Farts Forum
 help / color / mirror / Atom feed
From: "William H. Mitchell" <whm@msweng.com>
To: Computer Old Farts Followers <coff@tuhs.org>
Subject: [COFF] Re: Of PL/I
Date: Tue, 2 Apr 2024 13:31:20 -0700	[thread overview]
Message-ID: <44286CEB-4014-442D-8DA9-6496C39AEAC1@msweng.com> (raw)
In-Reply-To: <e824b8b9-9eb2-7a7c-bc90-6c10ba08ab2d@riddermarkfarm.ca>

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!


      reply	other threads:[~2024-04-02 20:31 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-02 15:06 [COFF] " Dave Horsfall
2024-04-02 16:40 ` [COFF] " Clem Cole
2024-04-02 17:01   ` Charles H Sauer (he/him)
2024-04-03 16:18     ` Paul Winalski
2024-04-03 17:30       ` segaloco via COFF
2024-04-03 20:44         ` Paul Winalski
2024-04-04  3:37         ` Wesley Parish
2024-04-04 15:40           ` Paul Winalski
2024-04-04 22:53           ` Peter Pentchev
2024-04-07 23:10     ` Dave Horsfall
2024-04-07 23:25       ` Charles H Sauer (he/him)
2024-04-09 21:41         ` Stuff Received
2024-04-10  0:50           ` [COFF] SNOBOL, ICEBOL, SPITBOL, et al William H. Mitchell
2024-04-10  1:42             ` [COFF] " Dave Horsfall
2024-04-08  1:13       ` [COFF] Re: Of PL/I Paul Winalski
2024-04-02 19:25   ` Stuff Received
2024-04-02 20:31     ` William H. Mitchell [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=44286CEB-4014-442D-8DA9-6496C39AEAC1@msweng.com \
    --to=whm@msweng.com \
    --cc=coff@tuhs.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).